Let disguised dogs be sittable
This commit is contained in:
		@@ -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()) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user