Let disguised dogs be sittable
This commit is contained in:
parent
6f9b2dfd6d
commit
251ca9b7e1
@ -134,6 +134,7 @@ public class DisguiseUtilities {
|
||||
public static final Random random = new Random();
|
||||
private static final LinkedHashMap<String, Disguise> clonedDisguises = new LinkedHashMap<>();
|
||||
private static final List<Integer> isNoInteract = new ArrayList<>();
|
||||
private static final List<Integer> isSpecialInteract = new ArrayList<>();
|
||||
/**
|
||||
* A hashmap of the uuid's of entitys, alive and dead. And their disguises in use
|
||||
*/
|
||||
@ -445,6 +446,12 @@ public class DisguiseUtilities {
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isSpecialInteract(int entityId) {
|
||||
synchronized (isSpecialInteract) {
|
||||
return isSpecialInteract.contains(entityId);
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isGrabSkinCommandUsed() {
|
||||
return grabSkinCommandUsed;
|
||||
}
|
||||
@ -688,6 +695,12 @@ public class DisguiseUtilities {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
synchronized (isSpecialInteract) {
|
||||
if (disguise.getEntity() instanceof Wolf && disguise.getType() != DisguiseType.WOLF) {
|
||||
isSpecialInteract.add(entityId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ("a%%__USER__%%a".equals("a12345a") || (LibsPremium.getUserID().matches("[0-9]+") &&
|
||||
@ -1543,6 +1556,10 @@ public class DisguiseUtilities {
|
||||
synchronized (isNoInteract) {
|
||||
isNoInteract.remove((Object) disguise.getEntity().getEntityId());
|
||||
}
|
||||
|
||||
synchronized (isSpecialInteract) {
|
||||
isSpecialInteract.remove((Object) disguise.getEntity().getEntityId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,6 +50,8 @@ public class PacketListenerClientInteract extends PacketAdapter {
|
||||
event.setCancelled(true);
|
||||
} else if (DisguiseUtilities.isNotInteractable(packet.getIntegers().read(0))) {
|
||||
event.setCancelled(true);
|
||||
}else if (DisguiseUtilities.isSpecialInteract(packet.getIntegers().read(0)) && packet.getHands().read(0) == EnumWrappers.Hand.OFF_HAND) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
if (event.isAsync()) {
|
||||
|
Loading…
Reference in New Issue
Block a user