Fixed up the flagwatchers .clone and fixed playerdisguise not .clone working
This commit is contained in:
parent
fb38bcd99f
commit
d84121c4eb
@ -62,8 +62,14 @@ public class FlagWatcher {
|
||||
this.disguise = disguise;
|
||||
}
|
||||
|
||||
public FlagWatcher clone() {
|
||||
FlagWatcher cloned = new FlagWatcher(disguise);
|
||||
public FlagWatcher clone(Disguise disguise) {
|
||||
FlagWatcher cloned = null;
|
||||
try {
|
||||
cloned = getClass().getConstructor(Disguise.class).newInstance(disguise);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
cloned.entityValues = (HashMap<Integer, Object>) entityValues.clone();
|
||||
cloned.items = items.clone();
|
||||
return cloned;
|
||||
|
@ -54,6 +54,7 @@ public class MiscDisguise extends Disguise {
|
||||
this(disguiseType, true, id, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MiscDisguise clone() {
|
||||
MiscDisguise disguise = new MiscDisguise(getType(), replaceSounds(), getId(), getData());
|
||||
disguise.setViewSelfDisguise(viewSelfDisguise());
|
||||
@ -61,7 +62,7 @@ public class MiscDisguise extends Disguise {
|
||||
disguise.setHideArmorFromSelf(isHidingArmorFromSelf());
|
||||
disguise.setHideHeldItemFromSelf(isHidingHeldItemFromSelf());
|
||||
disguise.setVelocitySent(isVelocitySent());
|
||||
disguise.setWatcher(getWatcher().clone());
|
||||
disguise.setWatcher(getWatcher().clone(disguise));
|
||||
return disguise;
|
||||
}
|
||||
|
||||
|
@ -38,6 +38,7 @@ public class MobDisguise extends Disguise {
|
||||
createDisguise(DisguiseType.getType(entityType), replaceSounds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobDisguise clone() {
|
||||
MobDisguise disguise = new MobDisguise(getType(), isAdult(), replaceSounds());
|
||||
disguise.setViewSelfDisguise(viewSelfDisguise());
|
||||
@ -45,7 +46,7 @@ public class MobDisguise extends Disguise {
|
||||
disguise.setHideArmorFromSelf(isHidingArmorFromSelf());
|
||||
disguise.setHideHeldItemFromSelf(isHidingHeldItemFromSelf());
|
||||
disguise.setVelocitySent(isVelocitySent());
|
||||
disguise.setWatcher(getWatcher().clone());
|
||||
disguise.setWatcher(getWatcher().clone(disguise));
|
||||
return disguise;
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,15 @@ public class PlayerDisguise extends Disguise {
|
||||
createDisguise(DisguiseType.PLAYER, replaceSounds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayerDisguise clone() {
|
||||
PlayerDisguise disguise = new PlayerDisguise(getName(), replaceSounds());
|
||||
disguise.setViewSelfDisguise(viewSelfDisguise());
|
||||
disguise.setHearSelfDisguise(canHearSelfDisguise());
|
||||
disguise.setHideArmorFromSelf(isHidingArmorFromSelf());
|
||||
disguise.setHideHeldItemFromSelf(isHidingHeldItemFromSelf());
|
||||
disguise.setVelocitySent(isVelocitySent());
|
||||
disguise.setWatcher(getWatcher().clone(disguise));
|
||||
return disguise;
|
||||
}
|
||||
|
||||
|
@ -11,8 +11,6 @@ import net.minecraft.server.v1_6_R3.PotionBrewer;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
|
||||
|
||||
public class LivingWatcher extends FlagWatcher {
|
||||
private HashSet<MobEffect> potionEffects = new HashSet<MobEffect>();
|
||||
|
||||
@ -27,8 +25,9 @@ public class LivingWatcher extends FlagWatcher {
|
||||
sendPotionEffects();
|
||||
}
|
||||
|
||||
public LivingWatcher clone() {
|
||||
LivingWatcher clone = (LivingWatcher) super.clone();
|
||||
@Override
|
||||
public LivingWatcher clone(Disguise disguise) {
|
||||
LivingWatcher clone = (LivingWatcher) super.clone(disguise);
|
||||
clone.potionEffects = (HashSet<MobEffect>) potionEffects.clone();
|
||||
return clone;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user