Port and tune 26.3 wood farming

This commit is contained in:
Tanner
2026-11-05 16:36:10 +00:00
parent b89f0f6ed2
commit 4c27f5058e
15 changed files with 412 additions and 40 deletions
+10 -1
View File
@@ -5,7 +5,7 @@ from munch import Munch
from minecraft.networking.packets import clientbound, serverbound
from minecraft.networking.modern import (
AddEntityPacket, ContainerOpenPacket, ContainerSetContentPacket,
ContainerSetSlotPacket,
ContainerSetSlotPacket, SetEntityDataPacket,
PaletteSection,
EntityPositionSyncPacket, MoveEntityPositionPacket,
MoveEntityPositionRotationPacket, MoveEntityRotationPacket,
@@ -347,6 +347,7 @@ class EntityManager:
register = self.g.connection.register_packet_listener
for packet_type, handler in (
(AddEntityPacket, self.handle_add_entity),
(SetEntityDataPacket, self.handle_entity_data),
(RemoveEntitiesPacket, self.handle_remove_entities),
(MoveEntityPositionPacket, self.handle_move),
(MoveEntityPositionRotationPacket, self.handle_move),
@@ -378,6 +379,14 @@ class EntityManager:
type=packet.entity_type_id, yaw=packet.yaw,
pitch=packet.pitch)
def handle_entity_data(self, packet):
obj = self.g.objects.get(packet.entity_id)
if obj is None or not packet.item_stacks:
return
stack = packet.item_stacks[-1]
obj.item_id = stack.item_id if stack.present else None
obj.item_count = stack.item_count if stack.present else 0
def _entity(self, entity_id):
for collection in (self.g.players, self.g.mobs, self.g.objects):
entity = collection.get(entity_id)