Index blocks on change
This commit is contained in:
parent
09b9002c58
commit
ce9613c00c
|
@ -7,6 +7,7 @@ from minecraft.networking.packets import clientbound, serverbound
|
||||||
from mosfet.protocol import packets
|
from mosfet.protocol import packets
|
||||||
|
|
||||||
from mosfet import utils
|
from mosfet import utils
|
||||||
|
from mosfet.info import blocks
|
||||||
|
|
||||||
class DataManager:
|
class DataManager:
|
||||||
def __init__(self, directory):
|
def __init__(self, directory):
|
||||||
|
@ -42,7 +43,7 @@ class ChunksManager:
|
||||||
def __init__(self, data_manager):
|
def __init__(self, data_manager):
|
||||||
self.data = data_manager
|
self.data = data_manager
|
||||||
self.chunks = {}
|
self.chunks = {}
|
||||||
self.biomes = {}
|
#self.biomes = {}
|
||||||
self.index = {}
|
self.index = {}
|
||||||
self.loading = False
|
self.loading = False
|
||||||
|
|
||||||
|
@ -74,7 +75,7 @@ class ChunksManager:
|
||||||
coords = (dx + l%16, dy + l//256, dz + l%256//16)
|
coords = (dx + l%16, dy + l//256, dz + l%256//16)
|
||||||
self.index[item_id].append(coords)
|
self.index[item_id].append(coords)
|
||||||
|
|
||||||
self.biomes[(chunk_packet.x, None, chunk_packet.z)] = chunk_packet.biomes # FIXME
|
#self.biomes[(chunk_packet.x, None, chunk_packet.z)] = chunk_packet.biomes # FIXME
|
||||||
if self.loading:
|
if self.loading:
|
||||||
print('.', end='', flush=True)
|
print('.', end='', flush=True)
|
||||||
|
|
||||||
|
@ -116,6 +117,11 @@ class ChunksManager:
|
||||||
if not c: return None
|
if not c: return None
|
||||||
c.set_block_at(x%16, y%16, z%16, block)
|
c.set_block_at(x%16, y%16, z%16, block)
|
||||||
|
|
||||||
|
if block in blocks.INDEXED_IDS:
|
||||||
|
if block not in self.index:
|
||||||
|
self.index[block] = []
|
||||||
|
self.index[block].append((x, y, z))
|
||||||
|
|
||||||
def check_loaded(self, position, steps=1):
|
def check_loaded(self, position, steps=1):
|
||||||
x, y, z = utils.pint(position)
|
x, y, z = utils.pint(position)
|
||||||
player_chunk = (x//16, 1, z//16)
|
player_chunk = (x//16, 1, z//16)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user