From cbafa88a0f2cdfee2c432124c6afb0f43d128015 Mon Sep 17 00:00:00 2001 From: samolego <34912839+samolego@users.noreply.github.com> Date: Thu, 28 Oct 2021 13:23:11 +0200 Subject: [PATCH] Fix coruptions; 1.1.0 --- .../nucleoid/disguiselib/mixin/EntityMixin_Disguise.java | 8 ++++++-- .../xyz/nucleoid/disguiselib/packets/FakePackets.java | 1 + gradle.properties | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/xyz/nucleoid/disguiselib/mixin/EntityMixin_Disguise.java b/common/src/main/java/xyz/nucleoid/disguiselib/mixin/EntityMixin_Disguise.java index 12b7287..5668cff 100644 --- a/common/src/main/java/xyz/nucleoid/disguiselib/mixin/EntityMixin_Disguise.java +++ b/common/src/main/java/xyz/nucleoid/disguiselib/mixin/EntityMixin_Disguise.java @@ -109,6 +109,8 @@ public abstract class EntityMixin_Disguise implements EntityDisguise, DisguiseUt @Shadow public abstract boolean isOnFire(); + @Shadow public abstract Text getDisplayName(); + /** * Tells you the disguised status. * @@ -136,7 +138,7 @@ public void disguiseAs(EntityType entityType) { if(entityType == PLAYER) { if(this.disguiselib$profile == null) - this.setGameProfile(new GameProfile(this.uuid, this.getName().getString())); + this.setGameProfile(new GameProfile(this.uuid, this.getDisplayName().getString())); this.disguiselib$constructFakePlayer(this.disguiselib$profile); } else { // Why null check? Well, if entity was disguised via EntityDisguise#disguiseAs(Entity), this field is already set @@ -205,7 +207,9 @@ public void removeDisguise() { this.disguiselib$hideSelfView(); } // Disguising entity as itself - this.disguiselib$disguiseEntity = null; + this.disguiselib$disguiseEntity = this.disguiselib$entity; + this.disguiselib$disguiseType =this.getType(); + this.disguiseAs(this.getType()); // Setting as not-disguised diff --git a/common/src/main/java/xyz/nucleoid/disguiselib/packets/FakePackets.java b/common/src/main/java/xyz/nucleoid/disguiselib/packets/FakePackets.java index b3b0e24..c4549c2 100644 --- a/common/src/main/java/xyz/nucleoid/disguiselib/packets/FakePackets.java +++ b/common/src/main/java/xyz/nucleoid/disguiselib/packets/FakePackets.java @@ -27,6 +27,7 @@ public class FakePackets { * @return fake entity spawn packet (Either player) */ public static Packet universalSpawnPacket(Entity entity) { + // fixme - disguising non-living kicks you (just upon disguise) Entity disguise = ((EntityDisguise) entity).getDisguiseEntity(); if(disguise == null) { disguise = entity; diff --git a/gradle.properties b/gradle.properties index 005c9bc..e7d08f8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,6 +13,6 @@ fabric_version=0.40.1+1.17 forge_version=37.0.69 # Mod Properties -mod_version = 1.0.10 +mod_version = 1.1.0 maven_group = xyz.nucleoid archives_base_name = disguiselib