Implemented EntityChangeMessage

This commit is contained in:
kuroppoi 2021-04-24 20:34:34 +02:00
parent 3f4e12e944
commit 8e05ed062e
3 changed files with 26 additions and 2 deletions

View file

@ -29,6 +29,7 @@ import brainwine.gameserver.server.messages.BlockMetaMessage;
import brainwine.gameserver.server.messages.ConfigurationMessage;
import brainwine.gameserver.server.messages.DialogMessage;
import brainwine.gameserver.server.messages.EffectMessage;
import brainwine.gameserver.server.messages.EntityChangeMessage;
import brainwine.gameserver.server.messages.EntityItemUseMessage;
import brainwine.gameserver.server.messages.EntityPositionMessage;
import brainwine.gameserver.server.messages.EntityStatusMessage;
@ -436,13 +437,13 @@ public class Player extends Entity implements CommandExecutor {
}
clothing.put(slot, item);
zone.sendMessage(new EntityStatusMessage(this, EntityStatus.ENTERING));
zone.sendMessage(new EntityChangeMessage(id, getAppearanceConfig()));
}
public void setColor(ColorSlot slot, String hex) {
// TODO check if the string is actually a valid hex color
colors.put(slot, hex);
zone.sendMessage(new EntityStatusMessage(this, EntityStatus.ENTERING));
zone.sendMessage(new EntityChangeMessage(id, getAppearanceConfig()));
}
public boolean hasClothing(Item item) {

View file

@ -13,6 +13,7 @@ import brainwine.gameserver.server.messages.ChatMessage;
import brainwine.gameserver.server.messages.ConfigurationMessage;
import brainwine.gameserver.server.messages.DialogMessage;
import brainwine.gameserver.server.messages.EffectMessage;
import brainwine.gameserver.server.messages.EntityChangeMessage;
import brainwine.gameserver.server.messages.EntityItemUseMessage;
import brainwine.gameserver.server.messages.EntityPositionMessage;
import brainwine.gameserver.server.messages.EntityStatusMessage;
@ -95,6 +96,7 @@ public class NetworkRegistry {
registerMessage(PlayerPositionMessage.class, 5);
registerMessage(EntityPositionMessage.class, 6);
registerMessage(EntityStatusMessage.class, 7);
registerMessage(EntityChangeMessage.class, 8);
registerMessage(BlockChangeMessage.class, 9);
registerMessage(EntityItemUseMessage.class, 10);
registerMessage(ChatMessage.class, 13);

View file

@ -0,0 +1,21 @@
package brainwine.gameserver.server.messages;
import java.util.Map;
import brainwine.gameserver.server.Message;
public class EntityChangeMessage extends Message {
public int id;
public Map<String, Object> details;
public EntityChangeMessage(int id, Map<String, Object> details) {
this.id = id;
this.details = details;
}
@Override
public boolean isCollection() {
return true;
}
}