Fire NotePlayEvent. Fixes BUKKIT-1779

This commit is contained in:
obnoxint 2012-06-10 17:39:18 +02:00 committed by Travis Watkins
parent 72d64b516c
commit e35f6f2526
2 changed files with 14 additions and 1 deletions

View file

@ -1,5 +1,7 @@
package net.minecraft.server;
import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit
public class TileEntityNote extends TileEntity {
public byte note = 0;
@ -50,7 +52,12 @@ public class TileEntityNote extends TileEntity {
b0 = 4;
}
world.playNote(i, j, k, b0, this.note);
// CraftBukkit start
org.bukkit.event.block.NotePlayEvent event = CraftEventFactory.callNotePlayEvent(this.world, i, j, k, b0, this.note);
if (!event.isCancelled()) {
this.world.playNote(i, j, k, event.getInstrument().getType(), event.getNote().getId());
}
// CraftBukkit end
}
}
}

View file

@ -520,4 +520,10 @@ public class CraftEventFactory {
world.getServer().getPluginManager().callEvent(event);
return event;
}
public static NotePlayEvent callNotePlayEvent(World world, int x, int y, int z, byte instrument, byte note) {
NotePlayEvent event = new NotePlayEvent(world.getWorld().getBlockAt(x, y, z), org.bukkit.Instrument.getByType(instrument), new org.bukkit.Note(note));
world.getServer().getPluginManager().callEvent(event);
return event;
}
}