Fixed a error when setting up a itemstack watcher before it spawns in
This commit is contained in:
		@@ -419,12 +419,21 @@ public abstract class Disguise {
 | 
			
		||||
        // Start from 2 as they ALL share 0 and 1
 | 
			
		||||
        for (int dataNo = 2; dataNo <= 31; dataNo++) {
 | 
			
		||||
            // If the watcher already set a metadata on this
 | 
			
		||||
            if (getWatcher().getValue(dataNo, null) != null) {
 | 
			
		||||
            if (getWatcher().hasValue(dataNo)) {
 | 
			
		||||
                // Better check that the value is stable.
 | 
			
		||||
                if (disguiseValues.containsKey(dataNo)
 | 
			
		||||
                        && getWatcher().getValue(dataNo, null).getClass() == disguiseValues.get(dataNo).getClass()) {
 | 
			
		||||
                    // The classes are the same. The client "shouldn't" crash.
 | 
			
		||||
                    continue;
 | 
			
		||||
                // To check this, I'm going to check if there exists a default value
 | 
			
		||||
                // Then I'm going to check if the watcher value is the same as the default value.
 | 
			
		||||
                if (disguiseValues.containsKey(dataNo)) {
 | 
			
		||||
                    // Now check if they are the same class, or both null.
 | 
			
		||||
                    if (disguiseValues.get(dataNo) == null || getWatcher().getValue(dataNo, null) == null) {
 | 
			
		||||
                        if (disguiseValues.get(dataNo) == null && getWatcher().getValue(dataNo, null) == null) {
 | 
			
		||||
                            // They are both null. Idk what this means really.
 | 
			
		||||
                            continue;
 | 
			
		||||
                        }
 | 
			
		||||
                    } else if (getWatcher().getValue(dataNo, null).getClass() == disguiseValues.get(dataNo).getClass()) {
 | 
			
		||||
                        // The classes are the same. The client "shouldn't" crash.
 | 
			
		||||
                        continue;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            // If neither of them touch it
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user