Skip to content

Commit

Permalink
replace NMS breed mech with modern API option
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Jun 18, 2020
1 parent 8e76e5d commit 3cee58e
Show file tree
Hide file tree
Showing 7 changed files with 4 additions and 69 deletions.
Expand Up @@ -4,7 +4,6 @@
import com.denizenscript.denizen.objects.ItemTag;
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData;
import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizen.nms.NMSHandler;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.ScriptEntryData;
Expand Down Expand Up @@ -128,8 +127,8 @@ else if (name.equals("experience")) {
public void cancellationChanged() {
// Prevent entities from continuing to breed with each other
if (cancelled) {
NMSHandler.getEntityHelper().setBreeding((Animals) father.getLivingEntity(), false);
NMSHandler.getEntityHelper().setBreeding((Animals) mother.getLivingEntity(), false);
((Animals) father.getLivingEntity()).setLoveModeTicks(0);
((Animals) mother.getLivingEntity()).setLoveModeTicks(0);
}
super.cancellationChanged();
}
Expand Down
Expand Up @@ -70,10 +70,6 @@ public void setCarriedItem(Enderman entity, ItemStack item) {

public abstract Entity getEntity(World world, UUID uuid);

public abstract boolean isBreeding(Animals entity);

public abstract void setBreeding(Animals entity, boolean breeding);

public abstract void setTarget(Creature entity, LivingEntity target);

public abstract CompoundTag getNbtData(Entity entity);
Expand Down
Expand Up @@ -1877,7 +1877,7 @@ else if (mtr.angle == BlockFace.EAST) {
// Returns whether the animal entity is trying to with another of its kind.
// -->
registerSpawnedOnlyTag("breeding", (attribute, object) -> {
return new ElementTag(NMSHandler.getEntityHelper().isBreeding((Animals) object.getLivingEntity()));
return new ElementTag(((Animals) object.getLivingEntity()).getLoveModeTicks() > 0);
}, "is_breeding");

// <--[tag]
Expand Down Expand Up @@ -2712,7 +2712,7 @@ public void adjust(Mechanism mechanism) {
// <EntityTag.can_breed>
// -->
if (mechanism.matches("breed") && mechanism.requireBoolean()) {
NMSHandler.getEntityHelper().setBreeding((Animals) getLivingEntity(), mechanism.getValue().asBoolean());
((Animals) getLivingEntity()).setLoveModeTicks(mechanism.getValue().asBoolean() ? 600 : 0);
}

// <--[mechanism]
Expand Down
Expand Up @@ -169,21 +169,6 @@ public Entity getEntity(World world, UUID uuid) {
return entity == null ? null : entity.getBukkitEntity();
}

@Override
public boolean isBreeding(Animals entity) {
return ((CraftAnimals) entity).getHandle().isInLove();
}

@Override
public void setBreeding(Animals entity, boolean breeding) {
if (breeding) {
((CraftAnimals) entity).getHandle().a((EntityHuman) null);
}
else {
((CraftAnimals) entity).getHandle().resetLove();
}
}

@Override
public void setTarget(Creature entity, LivingEntity target) {
EntityLiving nmsTarget = target != null ? ((CraftLivingEntity) target).getHandle() : null;
Expand Down
Expand Up @@ -179,21 +179,6 @@ public Entity getEntity(World world, UUID uuid) {
return entity == null ? null : entity.getBukkitEntity();
}

@Override
public boolean isBreeding(Animals entity) {
return ((CraftAnimals) entity).getHandle().isInLove();
}

@Override
public void setBreeding(Animals entity, boolean breeding) {
if (breeding) {
((CraftAnimals) entity).getHandle().a((EntityHuman) null);
}
else {
((CraftAnimals) entity).getHandle().resetLove();
}
}

@Override
public void setTarget(Creature entity, LivingEntity target) {
EntityLiving nmsTarget = target != null ? ((CraftLivingEntity) target).getHandle() : null;
Expand Down
Expand Up @@ -209,21 +209,6 @@ public Entity getEntity(World world, UUID uuid) {
return entity == null ? null : entity.getBukkitEntity();
}

@Override
public boolean isBreeding(Animals entity) {
return ((CraftAnimals) entity).getHandle().isInLove();
}

@Override
public void setBreeding(Animals entity, boolean breeding) {
if (breeding) {
((CraftAnimals) entity).getHandle().a((EntityHuman) null);
}
else {
((CraftAnimals) entity).getHandle().resetLove();
}
}

@Override
public void setTarget(Creature entity, LivingEntity target) {
EntityLiving nmsTarget = target != null ? ((CraftLivingEntity) target).getHandle() : null;
Expand Down
Expand Up @@ -209,21 +209,6 @@ public Entity getEntity(World world, UUID uuid) {
return entity == null ? null : entity.getBukkitEntity();
}

@Override
public boolean isBreeding(Animals entity) {
return ((CraftAnimals) entity).getHandle().isInLove();
}

@Override
public void setBreeding(Animals entity, boolean breeding) {
if (breeding) {
((CraftAnimals) entity).getHandle().a((EntityHuman) null);
}
else {
((CraftAnimals) entity).getHandle().resetLove();
}
}

@Override
public void setTarget(Creature entity, LivingEntity target) {
EntityLiving nmsTarget = target != null ? ((CraftLivingEntity) target).getHandle() : null;
Expand Down

0 comments on commit 3cee58e

Please sign in to comment.