Port and tune 26.3 wood farming
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user