Allow unignition of creeper disguise
This commit is contained in:
		| @@ -2,6 +2,8 @@ package me.libraryaddict.disguise.disguisetypes.watchers; | |||||||
|  |  | ||||||
| import me.libraryaddict.disguise.disguisetypes.Disguise; | import me.libraryaddict.disguise.disguisetypes.Disguise; | ||||||
| import me.libraryaddict.disguise.disguisetypes.MetaIndex; | import me.libraryaddict.disguise.disguisetypes.MetaIndex; | ||||||
|  | import me.libraryaddict.disguise.utilities.DisguiseUtilities; | ||||||
|  | import org.bukkit.entity.Creeper; | ||||||
|  |  | ||||||
| public class CreeperWatcher extends InsentientWatcher { | public class CreeperWatcher extends InsentientWatcher { | ||||||
|  |  | ||||||
| @@ -13,13 +15,23 @@ public class CreeperWatcher extends InsentientWatcher { | |||||||
|         return getData(MetaIndex.CREEPER_IGNITED); |         return getData(MetaIndex.CREEPER_IGNITED); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public boolean isPowered() { |  | ||||||
|         return getData(MetaIndex.CREEPER_POWERED); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setIgnited(boolean ignited) { |     public void setIgnited(boolean ignited) { | ||||||
|  |         // If creeper is already ignited and they want to set it to unignited, then resend disguise | ||||||
|  |         boolean resend = !ignited && getDisguise() != null && getDisguise().isDisguiseInUse() && | ||||||
|  |                 ((hasValue(MetaIndex.CREEPER_IGNITED) && isIgnited()) || | ||||||
|  |                         (getDisguise().getEntity() instanceof Creeper && | ||||||
|  |                                 ((Creeper) getDisguise().getEntity()).isPowered())); | ||||||
|  |  | ||||||
|         setData(MetaIndex.CREEPER_IGNITED, ignited); |         setData(MetaIndex.CREEPER_IGNITED, ignited); | ||||||
|         sendData(MetaIndex.CREEPER_IGNITED); |         sendData(MetaIndex.CREEPER_IGNITED); | ||||||
|  |  | ||||||
|  |         if (resend) { | ||||||
|  |             DisguiseUtilities.refreshTrackers(getDisguise()); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public boolean isPowered() { | ||||||
|  |         return getData(MetaIndex.CREEPER_POWERED); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public void setPowered(boolean powered) { |     public void setPowered(boolean powered) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user