Skip to content

Commit

Permalink
handle minor issue with pr/1883 and some trouble with cancellation in…
Browse files Browse the repository at this point in the history
… general
  • Loading branch information
mcmonkey4eva committed Jan 18, 2019
1 parent 10b70b2 commit 21158c9
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 7 deletions.
Expand Up @@ -41,7 +41,7 @@ public class EntityBreedScriptEvent extends BukkitScriptEvent implements Listene
// <context.experience> returns the amount of experience granted by breeding.
//
// @Determine
// Element(Integer) to set the amount of experience granted by breeding.
// Element(Number) to set the amount of experience granted by breeding.
//
// -->

Expand Down Expand Up @@ -133,6 +133,7 @@ public void onEntityBreeds(EntityBreedEvent event) {
item = new dItem(event.getBredWith());
experience = event.getExperience();
cancelled = event.isCancelled();
boolean wasCancelled = cancelled;
this.event = event;
dEntity.rememberEntity(entity);
fire();
Expand All @@ -141,7 +142,7 @@ public void onEntityBreeds(EntityBreedEvent event) {
event.setExperience(experience);

// Prevent entities from continuing to breed with each other
if (cancelled) {
if (cancelled && !wasCancelled) {
NMSHandler.getInstance().getEntityHelper().setBreeding((Animals) father.getLivingEntity(), false);
NMSHandler.getInstance().getEntityHelper().setBreeding((Animals) mother.getLivingEntity(), false);
}
Expand Down
Expand Up @@ -295,7 +295,7 @@ else if (livingEntity.getKiller() != null) {
if (message != null) {
subEvent.setDeathMessage(message.asString());
}
if (cancelled) {
if (cancelled) { // Hacked-in player-only cancellation tool to cancel messages
subEvent.setDeathMessage(null);
}
}
Expand Down
Expand Up @@ -147,7 +147,7 @@ public void onRecipeFormed(PrepareItemCraftEvent event) {
resultChanged = false;
cancelled = false;
fire();
if (cancelled) {
if (cancelled) { // Hacked-in cancellation helper
inventory.setResult(null);
}
else if (resultChanged) {
Expand Down
Expand Up @@ -98,8 +98,9 @@ public void onPlayerItemBreak(PlayerItemBreakEvent event) {
}
item = new dItem(event.getBrokenItem());
this.event = event;
cancelled = false;
fire();
if (cancelled) {
if (cancelled) { // Hacked-in cancellation helper
final Player player = event.getPlayer();
final ItemStack itemstack = event.getBrokenItem();
itemstack.setAmount(itemstack.getAmount() + 1);
Expand Down
Expand Up @@ -143,7 +143,7 @@ public void onCraftItem(CraftItemEvent event) {
this.resultChanged = false;
this.cancelled = false;
fire();
if (cancelled) {
if (cancelled) { // This event has a weird cancellation handler
event.setCancelled(true);
}
else if (resultChanged) {
Expand Down
Expand Up @@ -122,12 +122,13 @@ public void onPlayerItemTakesDamage(PlayerItemDamageEvent event) {
damage = new Element(event.getDamage());
location = new dLocation(event.getPlayer().getLocation());
cancelled = event.isCancelled();
boolean wasCancelled = cancelled;
this.event = event;
fire();
event.setCancelled(cancelled);
event.setDamage(damage.asInt());
final Player p = event.getPlayer();
if (cancelled) {
if (cancelled && !wasCancelled) {
Bukkit.getScheduler().scheduleSyncDelayedTask(DenizenAPI.getCurrentInstance(), new Runnable() {
@Override
public void run() {
Expand Down

0 comments on commit 21158c9

Please sign in to comment.