From bcfc5827a949172aedbd6c7cd1881a47db42c46d Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 17 Oct 2022 21:11:40 +0200 Subject: start with http --- src/dimension.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/dimension.rs') diff --git a/src/dimension.rs b/src/dimension.rs index 39a7fff..6c3bea8 100644 --- a/src/dimension.rs +++ b/src/dimension.rs @@ -1,6 +1,6 @@ use chashmap::{CHashMap, ReadGuard, WriteGuard}; use fastanvil::{Block, Chunk, CurrentJavaChunk, Region, RegionFileLoader, RegionLoader}; -use log::{info, debug}; +use log::{debug, info}; use std::{fs::File, path::Path}; pub struct Dimension { @@ -8,6 +8,7 @@ pub struct Dimension { regions: CHashMap<(isize, isize), Option>>, chunks: CHashMap<(isize, isize), Option>, } + impl Dimension { pub fn new(path: &str) -> Self { let loader = fastanvil::RegionFileLoader::new(Path::new(path).to_path_buf()); @@ -17,6 +18,7 @@ impl Dimension { chunks: Default::default(), } } + pub fn region( &self, rx: isize, @@ -34,6 +36,7 @@ impl Dimension { self.region(rx, rz) } } + pub fn chunk( &self, cx: isize, @@ -55,10 +58,11 @@ impl Dimension { self.chunk(cx, cz) } } + pub fn block(&self, x: isize, y: isize, z: isize) -> Option { self.chunk(x / 16, z / 16) .as_ref()? - .block(x.rem_euclid(16) as usize, y, z.rem_euclid(16) as usize) + .block((x % 16).abs() as usize, y, (z % 16).abs() as usize) .map(|e| e.to_owned()) } } -- cgit v1.2.3-70-g09d2