Skip to content

Commit

Permalink
Increase compatibility with 1.20.6+
Browse files Browse the repository at this point in the history
  • Loading branch information
Travja committed Mar 6, 2025
1 parent 5bad508 commit 3ab24ec
Showing 1 changed file with 32 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import studio.magemonkey.divinity.Divinity;
import studio.magemonkey.divinity.api.event.EntityEquipmentChangeEvent;
import studio.magemonkey.divinity.data.api.DivinityUser;
import studio.magemonkey.divinity.data.api.UserEntityNamesMode;
import studio.magemonkey.divinity.data.api.UserProfile;
import studio.magemonkey.divinity.manager.EntityManager;

Expand Down Expand Up @@ -179,4 +180,35 @@ protected void manageDamageParticle(@NotNull EnginePlayerPacketEvent e, @NotNull
ex.printStackTrace();
}
}

@Override
protected void manageEntityNames(@NotNull EnginePlayerPacketEvent e, @NotNull Object packet) {
DivinityUser user = plugin.getUserManager().getOrLoadUser(e.getReciever());
if (user == null) return;

UserProfile profile = user.getActiveProfile();
UserEntityNamesMode namesMode = profile.getNamesMode();
if (namesMode == UserEntityNamesMode.DEFAULT) return;

Class pClass = Reflex.getClass(PACKET_LOCATION, "PacketPlayOutEntityMetadata");

Object p = pClass.cast(packet);
@SuppressWarnings("unchecked")
List<Object> list = (List<Object>) Reflex.getFieldValue(p, "d");
if (list == null) return;

// Hide or show custom entity names
if (list.size() > 13) {
Object index3 = list.get(13);

Method bMethod = Reflex.getMethod(index3.getClass(), "c");

Object b = Reflex.invokeMethod(bMethod, index3);
if (b == null || !b.getClass().equals(Boolean.class)) return;
//Object nameVisible = Reflex.getFieldValue(index3, "b");

boolean visibility = namesMode == UserEntityNamesMode.ALWAYS_VISIBLE;
Reflex.setFieldValue(index3, "c", visibility);
}
}
}

0 comments on commit 3ab24ec

Please sign in to comment.