summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEvilSeph <evilseph@unaligned.org>2011-06-17 03:16:18 -0400
committerEvilSeph <evilseph@unaligned.org>2011-06-17 03:16:18 -0400
commit39332e5c8747d1615a8d8efa9a7062f53e1dfe1d (patch)
treecb0083bb65a30731416279ad7908f4a03f0c63b0 /src
parentcc1b0a005cdb14007c4647599a984967ff637659 (diff)
downloadcraftbukkit-39332e5c8747d1615a8d8efa9a7062f53e1dfe1d.tar
craftbukkit-39332e5c8747d1615a8d8efa9a7062f53e1dfe1d.tar.gz
craftbukkit-39332e5c8747d1615a8d8efa9a7062f53e1dfe1d.tar.lz
craftbukkit-39332e5c8747d1615a8d8efa9a7062f53e1dfe1d.tar.xz
craftbukkit-39332e5c8747d1615a8d8efa9a7062f53e1dfe1d.zip
Added Instrument enum, Note class and get/setNote functions. Thanks xZise!
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/block/CraftNoteBlock.java32
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java6
2 files changed, 36 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftNoteBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftNoteBlock.java
index 055c74fd..76364cc6 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftNoteBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftNoteBlock.java
@@ -1,15 +1,16 @@
package org.bukkit.craftbukkit.block;
import net.minecraft.server.TileEntityNote;
+
+import org.bukkit.Instrument;
import org.bukkit.Material;
+import org.bukkit.Note;
import org.bukkit.block.Block;
import org.bukkit.block.NoteBlock;
import org.bukkit.craftbukkit.CraftWorld;
/**
* Represents a note block.
- *
- * @author sk89q
*/
public class CraftNoteBlock extends CraftBlockState implements NoteBlock {
private final CraftWorld world;
@@ -22,14 +23,28 @@ public class CraftNoteBlock extends CraftBlockState implements NoteBlock {
note = (TileEntityNote) world.getTileEntityAt(getX(), getY(), getZ());
}
+ @Deprecated
public byte getNote() {
return note.note;
}
+ public byte getRawNote() {
+ return note.note;
+ }
+
+ public void setNote(Note n) {
+ note.note = n.getId();
+ }
+
+ @Deprecated
public void setNote(byte n) {
note.note = n;
}
+ public void setRawNote(byte n) {
+ note.note = n;
+ }
+
public boolean play() {
Block block = getBlock();
@@ -55,4 +70,17 @@ public class CraftNoteBlock extends CraftBlockState implements NoteBlock {
}
}
}
+
+ public boolean play(Instrument instrument, Note note) {
+ Block block = getBlock();
+
+ synchronized (block) {
+ if (block.getType() == Material.NOTE_BLOCK) {
+ world.getHandle().d(getX(), getY(), getZ(), instrument.getType(), note.getId());
+ return true;
+ } else {
+ return false;
+ }
+ }
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 56f9f6ce..d2001860 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -15,8 +15,10 @@ import net.minecraft.server.ServerConfigurationManager;
import net.minecraft.server.WorldServer;
import org.bukkit.Achievement;
import org.bukkit.Effect;
+import org.bukkit.Instrument;
import org.bukkit.Location;
import org.bukkit.Material;
+import org.bukkit.Note;
import org.bukkit.Statistic;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
@@ -150,6 +152,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
getHandle().netServerHandler.sendPacket(new Packet54PlayNoteBlock(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), instrument, note));
}
+ public void playNote(Location loc, Instrument instrument, Note note) {
+ getHandle().netServerHandler.sendPacket(new Packet54PlayNoteBlock(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), instrument.getType(), note.getId()));
+ }
+
public void playEffect(Location loc, Effect effect, int data) {
int packetData = effect.getId();
Packet61 packet = new Packet61(packetData, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), data);