Skip to content

Commit

Permalink
parrot fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Jul 2, 2017
1 parent f1496dd commit a183066
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 7 deletions.
@@ -1,6 +1,9 @@
package net.aufdemrand.denizen.objects.properties.entity;

import net.aufdemrand.denizen.nms.NMSHandler;
import net.aufdemrand.denizen.nms.NMSVersion;
import net.aufdemrand.denizen.objects.dEntity;
import net.aufdemrand.denizen.utilities.ParrotHelper;
import net.aufdemrand.denizen.utilities.entity.RabbitType;
import net.aufdemrand.denizencore.objects.Element;
import net.aufdemrand.denizencore.objects.Mechanism;
Expand All @@ -25,7 +28,7 @@ public static boolean describes(dObject entity) {
type == EntityType.WOLF ||
type == EntityType.OCELOT ||
type == EntityType.RABBIT ||
type == EntityType.PARROT;
(NMSHandler.getVersion().isAtLeast(NMSVersion.v1_12_R1) && type == EntityType.PARROT);
}

public static EntityColor getFrom(dObject entity) {
Expand Down Expand Up @@ -74,8 +77,8 @@ else if (type == EntityType.RABBIT) {
return ((Rabbit) colored.getBukkitEntity()).getRabbitType().name();
}

else if (type == EntityType.PARROT) {
return ((Parrot) colored.getBukkitEntity()).getVariant().name();
else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_12_R1) && type == EntityType.PARROT) {
return ParrotHelper.parrotColor(colored);
}

else // Should never happen
Expand Down Expand Up @@ -227,10 +230,8 @@ else if (mechanism.getValue().matchesEnum(Rabbit.Type.values())) {
}
}

else if (type == EntityType.PARROT
&& mechanism.getValue().matchesEnum(Parrot.Variant.values())) {
((Parrot) colored.getBukkitEntity())
.setVariant(Parrot.Variant.valueOf(mechanism.getValue().asString().toUpperCase()));
else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_12_R1) && type == EntityType.PARROT) {
ParrotHelper.setParrotColor(colored, mechanism);
}

}
Expand Down
@@ -0,0 +1,17 @@
package net.aufdemrand.denizen.utilities;

import net.aufdemrand.denizen.objects.dEntity;
import net.aufdemrand.denizencore.objects.Mechanism;
import org.bukkit.entity.Parrot;

public class ParrotHelper {

public static String parrotColor(dEntity colored) {
return ((Parrot) colored.getBukkitEntity()).getVariant().name();
}

public static void setParrotColor(dEntity colored, Mechanism mechanism) {
((Parrot) colored.getBukkitEntity())
.setVariant(Parrot.Variant.valueOf(mechanism.getValue().asString().toUpperCase()));
}
}

0 comments on commit a183066

Please sign in to comment.