mirror of
https://github.com/PaperMC/Paper.git
synced 2025-03-13 11:18:23 +01:00
[Bleeding] Cleanup clone methods.
By: Wesley Wolfe <weswolf@aol.com>
This commit is contained in:
parent
ec40583deb
commit
8bc2cf4969
41 changed files with 204 additions and 30 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,4 +54,9 @@ public class Coal extends MaterialData {
|
|||
public String toString() {
|
||||
return getType() + " " + super.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Coal clone() {
|
||||
return (Coal) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,4 +54,9 @@ public class Crops extends MaterialData {
|
|||
public String toString() {
|
||||
return getState() + " " + super.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Crops clone() {
|
||||
return (Crops) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -128,4 +128,9 @@ public class Door extends MaterialData implements Directional {
|
|||
}
|
||||
return null; // shouldn't happen
|
||||
}
|
||||
|
||||
@Override
|
||||
public Door clone() {
|
||||
return (Door) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,4 +79,9 @@ public class Ladder extends SimpleAttachableMaterialData {
|
|||
setData(data);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ladder clone() {
|
||||
return (Ladder) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,4 +54,9 @@ public class Leaves extends MaterialData {
|
|||
public String toString() {
|
||||
return getSpecies() + " " + super.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Leaves clone() {
|
||||
return (Leaves) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,4 +54,9 @@ public class LongGrass extends MaterialData {
|
|||
public String toString() {
|
||||
return getSpecies() + " " + super.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongGrass clone() {
|
||||
return (LongGrass) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,4 +44,9 @@ public class MonsterEggs extends TexturedMaterial {
|
|||
public List<Material> getTextures() {
|
||||
return textures;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MonsterEggs clone() {
|
||||
return (MonsterEggs) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -149,4 +149,9 @@ public class Rails extends MaterialData {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Rails clone() {
|
||||
return (Rails) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,4 +45,8 @@ public class SmoothBrick extends TexturedMaterial {
|
|||
return textures;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmoothBrick clone() {
|
||||
return (SmoothBrick) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,4 +46,9 @@ public class Step extends TexturedMaterial {
|
|||
public List<Material> getTextures() {
|
||||
return textures;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Step clone() {
|
||||
return (Step) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,4 +65,8 @@ public abstract class TexturedMaterial extends MaterialData {
|
|||
return getMaterial() + " " + super.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TexturedMaterial clone() {
|
||||
return (TexturedMaterial) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -82,4 +82,9 @@ public class Torch extends SimpleAttachableMaterialData {
|
|||
|
||||
setData(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Torch clone() {
|
||||
return (Torch) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
|
@ -54,4 +54,9 @@ public class Tree extends MaterialData {
|
|||
public String toString() {
|
||||
return getSpecies() + " " + super.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tree clone() {
|
||||
return (Tree) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Reference in a new issue