summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
authorWesley Wolfe <weswolf@aol.com>2012-02-14 01:49:06 -0600
committerEvilSeph <evilseph@gmail.com>2012-02-20 05:47:03 -0500
commit3bb6fa88499ddc1aa5e7fcfa6c7357471d609ce6 (patch)
tree21857504a63c4b8227d7f7861973bd5fa49bb0a8 /src/main/java/org
parentb66ede2821a344366c04e89393f5b0a3de4dd469 (diff)
downloadbukkit-3bb6fa88499ddc1aa5e7fcfa6c7357471d609ce6.tar
bukkit-3bb6fa88499ddc1aa5e7fcfa6c7357471d609ce6.tar.gz
bukkit-3bb6fa88499ddc1aa5e7fcfa6c7357471d609ce6.tar.lz
bukkit-3bb6fa88499ddc1aa5e7fcfa6c7357471d609ce6.tar.xz
bukkit-3bb6fa88499ddc1aa5e7fcfa6c7357471d609ce6.zip
[Bleeding] Cleanup clone methods.
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/bukkit/Location.java13
-rw-r--r--src/main/java/org/bukkit/inventory/ItemStack.java16
-rw-r--r--src/main/java/org/bukkit/material/Bed.java5
-rw-r--r--src/main/java/org/bukkit/material/Button.java5
-rw-r--r--src/main/java/org/bukkit/material/Cake.java5
-rw-r--r--src/main/java/org/bukkit/material/Coal.java5
-rw-r--r--src/main/java/org/bukkit/material/Crops.java5
-rw-r--r--src/main/java/org/bukkit/material/DetectorRail.java5
-rw-r--r--src/main/java/org/bukkit/material/Diode.java5
-rw-r--r--src/main/java/org/bukkit/material/Dispenser.java5
-rw-r--r--src/main/java/org/bukkit/material/Door.java5
-rw-r--r--src/main/java/org/bukkit/material/Dye.java5
-rw-r--r--src/main/java/org/bukkit/material/ExtendedRails.java5
-rw-r--r--src/main/java/org/bukkit/material/Furnace.java5
-rw-r--r--src/main/java/org/bukkit/material/FurnaceAndDispenser.java5
-rw-r--r--src/main/java/org/bukkit/material/Ladder.java5
-rw-r--r--src/main/java/org/bukkit/material/Leaves.java5
-rw-r--r--src/main/java/org/bukkit/material/Lever.java5
-rw-r--r--src/main/java/org/bukkit/material/LongGrass.java5
-rw-r--r--src/main/java/org/bukkit/material/MaterialData.java11
-rw-r--r--src/main/java/org/bukkit/material/MonsterEggs.java5
-rw-r--r--src/main/java/org/bukkit/material/PistonBaseMaterial.java5
-rw-r--r--src/main/java/org/bukkit/material/PistonExtensionMaterial.java5
-rw-r--r--src/main/java/org/bukkit/material/PoweredRail.java5
-rw-r--r--src/main/java/org/bukkit/material/PressurePlate.java5
-rw-r--r--src/main/java/org/bukkit/material/Pumpkin.java5
-rw-r--r--src/main/java/org/bukkit/material/Rails.java5
-rw-r--r--src/main/java/org/bukkit/material/RedstoneTorch.java5
-rw-r--r--src/main/java/org/bukkit/material/RedstoneWire.java5
-rw-r--r--src/main/java/org/bukkit/material/Sign.java5
-rw-r--r--src/main/java/org/bukkit/material/SimpleAttachableMaterialData.java5
-rw-r--r--src/main/java/org/bukkit/material/SmoothBrick.java4
-rw-r--r--src/main/java/org/bukkit/material/Stairs.java5
-rw-r--r--src/main/java/org/bukkit/material/Step.java5
-rw-r--r--src/main/java/org/bukkit/material/TexturedMaterial.java4
-rw-r--r--src/main/java/org/bukkit/material/Torch.java5
-rw-r--r--src/main/java/org/bukkit/material/TrapDoor.java4
-rw-r--r--src/main/java/org/bukkit/material/Tree.java5
-rw-r--r--src/main/java/org/bukkit/material/Wool.java5
-rw-r--r--src/main/java/org/bukkit/util/BlockVector.java7
-rw-r--r--src/main/java/org/bukkit/util/Vector.java10
41 files changed, 204 insertions, 30 deletions
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
index 3760f5a2..fe7c4b09 100644
--- a/src/main/java/org/bukkit/Location.java
+++ b/src/main/java/org/bukkit/Location.java
@@ -472,19 +472,10 @@ public class Location implements Cloneable {
@Override
public Location clone() {
try {
- Location l = (Location) super.clone();
-
- l.world = world;
- l.x = x;
- l.y = y;
- l.z = z;
- l.yaw = yaw;
- l.pitch = pitch;
- return l;
+ return (Location) super.clone();
} catch (CloneNotSupportedException e) {
- e.printStackTrace();
+ throw new Error(e);
}
- return null;
}
/**
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index df51a20e..7dd59d83 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -12,7 +12,7 @@ import org.bukkit.material.MaterialData;
/**
* Represents a stack of items
*/
-public class ItemStack implements ConfigurationSerializable {
+public class ItemStack implements Cloneable, ConfigurationSerializable {
private int type;
private int amount = 0;
private MaterialData data = null;
@@ -210,10 +210,18 @@ public class ItemStack implements ConfigurationSerializable {
@Override
public ItemStack clone() {
- ItemStack result = new ItemStack(type, amount, durability);
- result.addUnsafeEnchantments(getEnchantments());
+ try {
+ ItemStack itemStack = (ItemStack) super.clone();
- return result;
+ itemStack.enchantments = new HashMap<Enchantment, Integer>(this.enchantments);
+ if (this.data != null) {
+ itemStack.data = this.data.clone();
+ }
+
+ return itemStack;
+ } catch (CloneNotSupportedException e) {
+ throw new Error(e);
+ }
}
@Override
diff --git a/src/main/java/org/bukkit/material/Bed.java b/src/main/java/org/bukkit/material/Bed.java
index f763ac26..63e92063 100644
--- a/src/main/java/org/bukkit/material/Bed.java
+++ b/src/main/java/org/bukkit/material/Bed.java
@@ -119,4 +119,9 @@ public class Bed extends MaterialData implements Directional {
public String toString() {
return (isHeadOfBed() ? "HEAD" : "FOOT") + " of " + super.toString() + " facing " + getFacing();
}
+
+ @Override
+ public Bed clone() {
+ return (Bed) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Button.java b/src/main/java/org/bukkit/material/Button.java
index fbdc121a..d80e11ec 100644
--- a/src/main/java/org/bukkit/material/Button.java
+++ b/src/main/java/org/bukkit/material/Button.java
@@ -103,4 +103,9 @@ public class Button extends SimpleAttachableMaterialData implements Redstone {
public String toString() {
return super.toString() + " " + (isPowered() ? "" : "NOT ") + "POWERED";
}
+
+ @Override
+ public Button clone() {
+ return (Button) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Cake.java b/src/main/java/org/bukkit/material/Cake.java
index c9a047dd..a4a13d79 100644
--- a/src/main/java/org/bukkit/material/Cake.java
+++ b/src/main/java/org/bukkit/material/Cake.java
@@ -68,4 +68,9 @@ public class Cake extends MaterialData {
public String toString() {
return super.toString() + " " + getSlicesEaten() + "/" + getSlicesRemaining() + " slices eaten/remaining";
}
+
+ @Override
+ public Cake clone() {
+ return (Cake) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Coal.java b/src/main/java/org/bukkit/material/Coal.java
index 43dfd93b..a1876638 100644
--- a/src/main/java/org/bukkit/material/Coal.java
+++ b/src/main/java/org/bukkit/material/Coal.java
@@ -54,4 +54,9 @@ public class Coal extends MaterialData {
public String toString() {
return getType() + " " + super.toString();
}
+
+ @Override
+ public Coal clone() {
+ return (Coal) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Crops.java b/src/main/java/org/bukkit/material/Crops.java
index c477dcec..04f8ddf2 100644
--- a/src/main/java/org/bukkit/material/Crops.java
+++ b/src/main/java/org/bukkit/material/Crops.java
@@ -54,4 +54,9 @@ public class Crops extends MaterialData {
public String toString() {
return getState() + " " + super.toString();
}
+
+ @Override
+ public Crops clone() {
+ return (Crops) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/DetectorRail.java b/src/main/java/org/bukkit/material/DetectorRail.java
index a32317c7..a75eb8ec 100644
--- a/src/main/java/org/bukkit/material/DetectorRail.java
+++ b/src/main/java/org/bukkit/material/DetectorRail.java
@@ -33,4 +33,9 @@ public class DetectorRail extends ExtendedRails implements PressureSensor {
public void setPressed(boolean isPressed) {
setData((byte) (isPressed ? (getData() | 0x8) : (getData() & ~0x8)));
}
+
+ @Override
+ public DetectorRail clone() {
+ return (DetectorRail) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Diode.java b/src/main/java/org/bukkit/material/Diode.java
index 788bc483..6c1930c4 100644
--- a/src/main/java/org/bukkit/material/Diode.java
+++ b/src/main/java/org/bukkit/material/Diode.java
@@ -100,4 +100,9 @@ public class Diode extends MaterialData implements Directional {
public String toString() {
return super.toString() + " facing " + getFacing() + " with " + getDelay() + " ticks delay";
}
+
+ @Override
+ public Diode clone() {
+ return (Diode) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Dispenser.java b/src/main/java/org/bukkit/material/Dispenser.java
index 9931450f..4168d88a 100644
--- a/src/main/java/org/bukkit/material/Dispenser.java
+++ b/src/main/java/org/bukkit/material/Dispenser.java
@@ -32,4 +32,9 @@ public class Dispenser extends FurnaceAndDispenser {
public Dispenser(final Material type, final byte data) {
super(type, data);
}
+
+ @Override
+ public Dispenser clone() {
+ return (Dispenser) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Door.java b/src/main/java/org/bukkit/material/Door.java
index 5086555e..14226790 100644
--- a/src/main/java/org/bukkit/material/Door.java
+++ b/src/main/java/org/bukkit/material/Door.java
@@ -128,4 +128,9 @@ public class Door extends MaterialData implements Directional {
}
return null; // shouldn't happen
}
+
+ @Override
+ public Door clone() {
+ return (Door) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Dye.java b/src/main/java/org/bukkit/material/Dye.java
index 347dc8eb..e053c7bb 100644
--- a/src/main/java/org/bukkit/material/Dye.java
+++ b/src/main/java/org/bukkit/material/Dye.java
@@ -49,4 +49,9 @@ public class Dye extends MaterialData implements Colorable {
public String toString() {
return getColor() + " DYE(" + getData() + ")";
}
+
+ @Override
+ public Dye clone() {
+ return (Dye) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/ExtendedRails.java b/src/main/java/org/bukkit/material/ExtendedRails.java
index a86a44ff..5d3a9d92 100644
--- a/src/main/java/org/bukkit/material/ExtendedRails.java
+++ b/src/main/java/org/bukkit/material/ExtendedRails.java
@@ -44,4 +44,9 @@ public class ExtendedRails extends Rails {
super.setDirection(face, isOnSlope);
setData((byte) (extraBitSet ? (getData() | 0x8) : (getData() & ~0x8)));
}
+
+ @Override
+ public ExtendedRails clone() {
+ return (ExtendedRails) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Furnace.java b/src/main/java/org/bukkit/material/Furnace.java
index dad56bc4..26fadfa6 100644
--- a/src/main/java/org/bukkit/material/Furnace.java
+++ b/src/main/java/org/bukkit/material/Furnace.java
@@ -37,4 +37,9 @@ public class Furnace extends FurnaceAndDispenser {
public Furnace(final Material type, final byte data) {
super(type, data);
}
+
+ @Override
+ public Furnace clone() {
+ return (Furnace) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/FurnaceAndDispenser.java b/src/main/java/org/bukkit/material/FurnaceAndDispenser.java
index 9505fb70..af016c2a 100644
--- a/src/main/java/org/bukkit/material/FurnaceAndDispenser.java
+++ b/src/main/java/org/bukkit/material/FurnaceAndDispenser.java
@@ -70,4 +70,9 @@ public class FurnaceAndDispenser extends MaterialData implements Directional {
public String toString() {
return super.toString() + " facing " + getFacing();
}
+
+ @Override
+ public FurnaceAndDispenser clone() {
+ return (FurnaceAndDispenser) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Ladder.java b/src/main/java/org/bukkit/material/Ladder.java
index ae791c68..aea01f8e 100644
--- a/src/main/java/org/bukkit/material/Ladder.java
+++ b/src/main/java/org/bukkit/material/Ladder.java
@@ -79,4 +79,9 @@ public class Ladder extends SimpleAttachableMaterialData {
setData(data);
}
+
+ @Override
+ public Ladder clone() {
+ return (Ladder) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Leaves.java b/src/main/java/org/bukkit/material/Leaves.java
index d02dc90a..5acde607 100644
--- a/src/main/java/org/bukkit/material/Leaves.java
+++ b/src/main/java/org/bukkit/material/Leaves.java
@@ -54,4 +54,9 @@ public class Leaves extends MaterialData {
public String toString() {
return getSpecies() + " " + super.toString();
}
+
+ @Override
+ public Leaves clone() {
+ return (Leaves) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Lever.java b/src/main/java/org/bukkit/material/Lever.java
index 369d16de..9277d77a 100644
--- a/src/main/java/org/bukkit/material/Lever.java
+++ b/src/main/java/org/bukkit/material/Lever.java
@@ -119,4 +119,9 @@ public class Lever extends SimpleAttachableMaterialData implements Redstone {
public String toString() {
return super.toString() + " facing " + getFacing() + " " + (isPowered() ? "" : "NOT ") + "POWERED";
}
+
+ @Override
+ public Lever clone() {
+ return (Lever) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/LongGrass.java b/src/main/java/org/bukkit/material/LongGrass.java
index 8413519e..b9aa345a 100644
--- a/src/main/java/org/bukkit/material/LongGrass.java
+++ b/src/main/java/org/bukkit/material/LongGrass.java
@@ -54,4 +54,9 @@ public class LongGrass extends MaterialData {
public String toString() {
return getSpecies() + " " + super.toString();
}
+
+ @Override
+ public LongGrass clone() {
+ return (LongGrass) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/MaterialData.java b/src/main/java/org/bukkit/material/MaterialData.java
index b24f279c..9e28fcf6 100644
--- a/src/main/java/org/bukkit/material/MaterialData.java
+++ b/src/main/java/org/bukkit/material/MaterialData.java
@@ -6,7 +6,7 @@ import org.bukkit.Material;
/**
* Handles specific metadata for certain items or blocks
*/
-public class MaterialData {
+public class MaterialData implements Cloneable {
private final int type;
private byte data = 0;
@@ -102,4 +102,13 @@ public class MaterialData {
return false;
}
}
+
+ @Override
+ public MaterialData clone() {
+ try {
+ return (MaterialData) super.clone();
+ } catch (CloneNotSupportedException e) {
+ throw new Error(e);
+ }
+ }
}
diff --git a/src/main/java/org/bukkit/material/MonsterEggs.java b/src/main/java/org/bukkit/material/MonsterEggs.java
index a34a9607..3f141441 100644
--- a/src/main/java/org/bukkit/material/MonsterEggs.java
+++ b/src/main/java/org/bukkit/material/MonsterEggs.java
@@ -44,4 +44,9 @@ public class MonsterEggs extends TexturedMaterial {
public List<Material> getTextures() {
return textures;
}
+
+ @Override
+ public MonsterEggs clone() {
+ return (MonsterEggs) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/PistonBaseMaterial.java b/src/main/java/org/bukkit/material/PistonBaseMaterial.java
index c2a30e1a..82315530 100644
--- a/src/main/java/org/bukkit/material/PistonBaseMaterial.java
+++ b/src/main/java/org/bukkit/material/PistonBaseMaterial.java
@@ -88,4 +88,9 @@ public class PistonBaseMaterial extends MaterialData implements Directional, Red
public boolean isSticky() {
return this.getItemType() == Material.PISTON_STICKY_BASE;
}
+
+ @Override
+ public PistonBaseMaterial clone() {
+ return (PistonBaseMaterial) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/PistonExtensionMaterial.java b/src/main/java/org/bukkit/material/PistonExtensionMaterial.java
index 47edc5cd..f513f231 100644
--- a/src/main/java/org/bukkit/material/PistonExtensionMaterial.java
+++ b/src/main/java/org/bukkit/material/PistonExtensionMaterial.java
@@ -88,4 +88,9 @@ public class PistonExtensionMaterial extends MaterialData implements Attachable
public BlockFace getAttachedFace() {
return getFacing().getOppositeFace();
}
+
+ @Override
+ public PistonExtensionMaterial clone() {
+ return (PistonExtensionMaterial) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/PoweredRail.java b/src/main/java/org/bukkit/material/PoweredRail.java
index 857c4499..a8f627cc 100644
--- a/src/main/java/org/bukkit/material/PoweredRail.java
+++ b/src/main/java/org/bukkit/material/PoweredRail.java
@@ -38,4 +38,9 @@ public class PoweredRail extends ExtendedRails implements Redstone {
public void setPowered(boolean isPowered) {
setData((byte) (isPowered ? (getData() | 0x8) : (getData() & ~0x8)));
}
+
+ @Override
+ public PoweredRail clone() {
+ return (PoweredRail) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/PressurePlate.java b/src/main/java/org/bukkit/material/PressurePlate.java
index 3946cbc9..2be71918 100644
--- a/src/main/java/org/bukkit/material/PressurePlate.java
+++ b/src/main/java/org/bukkit/material/PressurePlate.java
@@ -34,4 +34,9 @@ public class PressurePlate extends MaterialData implements PressureSensor {
public String toString() {
return super.toString() + (isPressed() ? " PRESSED" : "");
}
+
+ @Override
+ public PressurePlate clone() {
+ return (PressurePlate) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Pumpkin.java b/src/main/java/org/bukkit/material/Pumpkin.java
index 78ec3aa0..4acc6bb0 100644
--- a/src/main/java/org/bukkit/material/Pumpkin.java
+++ b/src/main/java/org/bukkit/material/Pumpkin.java
@@ -89,4 +89,9 @@ public class Pumpkin extends MaterialData implements Directional {
public String toString() {
return super.toString() + " facing " + getFacing() + " " + (isLit() ? "" : "NOT ") + "LIT";
}
+
+ @Override
+ public Pumpkin clone() {
+ return (Pumpkin) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Rails.java b/src/main/java/org/bukkit/material/Rails.java
index cfe812fc..406675dc 100644
--- a/src/main/java/org/bukkit/material/Rails.java
+++ b/src/main/java/org/bukkit/material/Rails.java
@@ -149,4 +149,9 @@ public class Rails extends MaterialData {
break;
}
}
+
+ @Override
+ public Rails clone() {
+ return (Rails) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/RedstoneTorch.java b/src/main/java/org/bukkit/material/RedstoneTorch.java
index 85ee722d..4312e227 100644
--- a/src/main/java/org/bukkit/material/RedstoneTorch.java
+++ b/src/main/java/org/bukkit/material/RedstoneTorch.java
@@ -40,4 +40,9 @@ public class RedstoneTorch extends Torch implements Redstone {
public String toString() {
return super.toString() + " " + (isPowered() ? "" : "NOT ") + "POWERED";
}
+
+ @Override
+ public RedstoneTorch clone() {
+ return (RedstoneTorch) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/RedstoneWire.java b/src/main/java/org/bukkit/material/RedstoneWire.java
index 1b6264d5..ac0843da 100644
--- a/src/main/java/org/bukkit/material/RedstoneWire.java
+++ b/src/main/java/org/bukkit/material/RedstoneWire.java
@@ -40,4 +40,9 @@ public class RedstoneWire extends MaterialData implements Redstone {
public String toString() {
return super.toString() + " " + (isPowered() ? "" : "NOT ") + "POWERED";
}
+
+ @Override
+ public RedstoneWire clone() {
+ return (RedstoneWire) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Sign.java b/src/main/java/org/bukkit/material/Sign.java
index 5ec101f4..ceb15d87 100644
--- a/src/main/java/org/bukkit/material/Sign.java
+++ b/src/main/java/org/bukkit/material/Sign.java
@@ -227,4 +227,9 @@ public class Sign extends MaterialData implements Attachable {
public String toString() {
return super.toString() + " facing " + getFacing();
}
+
+ @Override
+ public Sign clone() {
+ return (Sign) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/SimpleAttachableMaterialData.java b/src/main/java/org/bukkit/material/SimpleAttachableMaterialData.java
index ec5778f0..bc3a4ff8 100644
--- a/src/main/java/org/bukkit/material/SimpleAttachableMaterialData.java
+++ b/src/main/java/org/bukkit/material/SimpleAttachableMaterialData.java
@@ -42,4 +42,9 @@ public abstract class SimpleAttachableMaterialData extends MaterialData implemen
public String toString() {
return super.toString() + " facing " + getFacing();
}
+
+ @Override
+ public SimpleAttachableMaterialData clone() {
+ return (SimpleAttachableMaterialData) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/SmoothBrick.java b/src/main/java/org/bukkit/material/SmoothBrick.java
index 7f82b773..9c0d1784 100644
--- a/src/main/java/org/bukkit/material/SmoothBrick.java
+++ b/src/main/java/org/bukkit/material/SmoothBrick.java
@@ -45,4 +45,8 @@ public class SmoothBrick extends TexturedMaterial {
return textures;
}
+ @Override
+ public SmoothBrick clone() {
+ return (SmoothBrick) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Stairs.java b/src/main/java/org/bukkit/material/Stairs.java
index f7e249cf..04f59b7f 100644
--- a/src/main/java/org/bukkit/material/Stairs.java
+++ b/src/main/java/org/bukkit/material/Stairs.java
@@ -92,4 +92,9 @@ public class Stairs extends MaterialData implements Directional {
public String toString() {
return super.toString() + " facing " + getFacing();
}
+
+ @Override
+ public Stairs clone() {
+ return (Stairs) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Step.java b/src/main/java/org/bukkit/material/Step.java
index f08b772e..ba36bd83 100644
--- a/src/main/java/org/bukkit/material/Step.java
+++ b/src/main/java/org/bukkit/material/Step.java
@@ -46,4 +46,9 @@ public class Step extends TexturedMaterial {
public List<Material> getTextures() {
return textures;
}
+
+ @Override
+ public Step clone() {
+ return (Step) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/TexturedMaterial.java b/src/main/java/org/bukkit/material/TexturedMaterial.java
index 93b13d72..3fbd815f 100644
--- a/src/main/java/org/bukkit/material/TexturedMaterial.java
+++ b/src/main/java/org/bukkit/material/TexturedMaterial.java
@@ -65,4 +65,8 @@ public abstract class TexturedMaterial extends MaterialData {
return getMaterial() + " " + super.toString();
}
+ @Override
+ public TexturedMaterial clone() {
+ return (TexturedMaterial) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Torch.java b/src/main/java/org/bukkit/material/Torch.java
index 3105a130..13a9777e 100644
--- a/src/main/java/org/bukkit/material/Torch.java
+++ b/src/main/java/org/bukkit/material/Torch.java
@@ -82,4 +82,9 @@ public class Torch extends SimpleAttachableMaterialData {
setData(data);
}
+
+ @Override
+ public Torch clone() {
+ return (Torch) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/TrapDoor.java b/src/main/java/org/bukkit/material/TrapDoor.java
index 2fa9b590..f709fcf9 100644
--- a/src/main/java/org/bukkit/material/TrapDoor.java
+++ b/src/main/java/org/bukkit/material/TrapDoor.java
@@ -80,4 +80,8 @@ public class TrapDoor extends SimpleAttachableMaterialData {
return (isOpen() ? "OPEN " : "CLOSED ") + super.toString() + " with hinges set " + getAttachedFace();
}
+ @Override
+ public TrapDoor clone() {
+ return (TrapDoor) super.clone();
+ }
} \ No newline at end of file
diff --git a/src/main/java/org/bukkit/material/Tree.java b/src/main/java/org/bukkit/material/Tree.java
index 1d4f0b55..5a909656 100644
--- a/src/main/java/org/bukkit/material/Tree.java
+++ b/src/main/java/org/bukkit/material/Tree.java
@@ -54,4 +54,9 @@ public class Tree extends MaterialData {
public String toString() {
return getSpecies() + " " + super.toString();
}
+
+ @Override
+ public Tree clone() {
+ return (Tree) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/material/Wool.java b/src/main/java/org/bukkit/material/Wool.java
index 8f398ac7..00f2a2ca 100644
--- a/src/main/java/org/bukkit/material/Wool.java
+++ b/src/main/java/org/bukkit/material/Wool.java
@@ -54,4 +54,9 @@ public class Wool extends MaterialData implements Colorable {
public String toString() {
return getColor() + " " + super.toString();
}
+
+ @Override
+ public Wool clone() {
+ return (Wool) super.clone();
+ }
}
diff --git a/src/main/java/org/bukkit/util/BlockVector.java b/src/main/java/org/bukkit/util/BlockVector.java
index 8cdd4280..bdf8f6d5 100644
--- a/src/main/java/org/bukkit/util/BlockVector.java
+++ b/src/main/java/org/bukkit/util/BlockVector.java
@@ -105,12 +105,7 @@ public class BlockVector extends Vector {
*/
@Override
public BlockVector clone() {
- BlockVector v = (BlockVector) super.clone();
-
- v.x = x;
- v.y = y;
- v.z = z;
- return v;
+ return (BlockVector) super.clone();
}
public static BlockVector deserialize(Map<String, Object> args) {
diff --git a/src/main/java/org/bukkit/util/Vector.java b/src/main/java/org/bukkit/util/Vector.java
index 0cceb5f1..9b1376bf 100644
--- a/src/main/java/org/bukkit/util/Vector.java
+++ b/src/main/java/org/bukkit/util/Vector.java
@@ -546,16 +546,10 @@ public class Vector implements Cloneable, ConfigurationSerializable {
@Override
public Vector clone() {
try {
- Vector v = (Vector) super.clone();
-
- v.x = x;
- v.y = y;
- v.z = z;
- return v;
+ return (Vector) super.clone();
} catch (CloneNotSupportedException e) {
- e.printStackTrace();
+ throw new Error(e);
}
- return null;
}
/**