Handle loading / unloading chunks better

This commit is contained in:
2021-05-07 00:14:25 +00:00
parent 5184d4a173
commit e5fd062a4a
6 changed files with 48 additions and 38 deletions
+3 -5
View File
@@ -65,21 +65,19 @@ def tick(global_state):
target = None
# make sure current chunks are loaded for physics
if not g.chunks.check_loaded(p, 288):
if not g.chunks.check_loaded(g.info.render_distance):
if not g.chunks.loading:
print('Loading chunks', end='', flush=True)
g.chunks.loading = True
g.chunks.loading = time.time()
packet = serverbound.play.PositionAndLookPacket(x=p.x, feet_y=p.y, z=p.z, pitch=0, yaw=0, on_ground=True)
g.connection.write_packet(packet, force=True)
return
else:
if g.chunks.loading:
print()
print('Chunks loaded.')
print('Chunks loaded in', round(time.time() - g.chunks.loading, 2), 's')
g.chunks.loading = False
g.chunks.unload_chunks(p)
########## object physics ##########
# note: it's possible the chunk data is out of date when this runs