diff --git a/client/src/main/java/client/Client.java b/client/src/main/java/client/Client.java index 5f632f50..d6fa8bd0 100755 --- a/client/src/main/java/client/Client.java +++ b/client/src/main/java/client/Client.java @@ -161,7 +161,7 @@ import common.packet.HPacketHandshake; import common.packet.CPacketAction.Action; import common.potion.Potion; import common.potion.PotionEffect; -import common.properties.IProperty; +import common.properties.Property; import common.sound.EventType; import common.sound.PositionedSound; import common.util.BlockPos; @@ -1929,7 +1929,7 @@ public class Client implements IThreadListener { "Schaue auf: " + BlockRegistry.getNameFromBlock(block.getBlock()) + "\n" + String.format("Position: %d %d %d", pos.getX(), pos.getY(), pos.getZ()) ); - for(Entry entry : block.getProperties().entrySet()) { + for(Entry entry : block.getProperties().entrySet()) { str.append("\n" + entry.getKey().getName() + ": " + entry.getValue().toString()); } diff --git a/client/src/main/java/client/renderer/blockmodel/ModelManager.java b/client/src/main/java/client/renderer/blockmodel/ModelManager.java index 55a9399f..f5bddec7 100755 --- a/client/src/main/java/client/renderer/blockmodel/ModelManager.java +++ b/client/src/main/java/client/renderer/blockmodel/ModelManager.java @@ -13,7 +13,7 @@ import common.collect.Maps; import common.init.BlockRegistry; import common.init.Blocks; import common.init.FluidRegistry; -import common.properties.IProperty; +import common.properties.Property; import common.util.IRegistry; import common.world.State; @@ -36,7 +36,7 @@ public class ModelManager // Log.info("Builtin: " + BlockRegistry.getNameFromBlock(block)); } else { - IProperty[] ignored = block.getIgnoredProperties(); + Property[] ignored = block.getIgnoredProperties(); if(ignored != null) this.mappers.put(block, new MultiStateMap.Builder().ignore(ignored).build()); } diff --git a/client/src/main/java/client/renderer/blockmodel/MultiStateMap.java b/client/src/main/java/client/renderer/blockmodel/MultiStateMap.java index 496e619c..75c9acac 100755 --- a/client/src/main/java/client/renderer/blockmodel/MultiStateMap.java +++ b/client/src/main/java/client/renderer/blockmodel/MultiStateMap.java @@ -7,16 +7,16 @@ import java.util.Map; import common.collect.Lists; import common.collect.Maps; import common.init.BlockRegistry; -import common.properties.IProperty; +import common.properties.Property; import common.world.State; public class MultiStateMap extends StateMap { - private final IProperty name; + private final Property name; private final String suffix; - private final List < IProperty> ignored; + private final List < Property> ignored; - private MultiStateMap(IProperty name, String suffix, List < IProperty> ignored) + private MultiStateMap(Property name, String suffix, List < Property> ignored) { this.name = name; this.suffix = suffix; @@ -25,7 +25,7 @@ public class MultiStateMap extends StateMap protected String getResourceLocation(State state) { - Map map = Maps.newLinkedHashMap(state.getProperties()); + Map map = Maps.newLinkedHashMap(state.getProperties()); String s; if (this.name == null) @@ -34,7 +34,7 @@ public class MultiStateMap extends StateMap } else { - s = ((IProperty)this.name).getName((Comparable)map.remove(this.name)); + s = ((Property)this.name).getName((Comparable)map.remove(this.name)); } if (this.suffix != null) @@ -42,7 +42,7 @@ public class MultiStateMap extends StateMap s = s + this.suffix; } - for (IProperty iproperty : this.ignored) + for (Property iproperty : this.ignored) { map.remove(iproperty); } @@ -52,11 +52,11 @@ public class MultiStateMap extends StateMap public static class Builder { - private IProperty name; + private Property name; private String suffix; - private final List < IProperty> ignored = Lists. < IProperty> newArrayList(); + private final List < Property> ignored = Lists. < Property> newArrayList(); - public MultiStateMap.Builder withName(IProperty builderPropertyIn) + public MultiStateMap.Builder withName(Property builderPropertyIn) { this.name = builderPropertyIn; return this; @@ -68,7 +68,7 @@ public class MultiStateMap extends StateMap return this; } - public MultiStateMap.Builder ignore(IProperty... p_178442_1_) + public MultiStateMap.Builder ignore(Property... p_178442_1_) { Collections.addAll(this.ignored, p_178442_1_); return this; diff --git a/client/src/main/java/client/renderer/blockmodel/StateMap.java b/client/src/main/java/client/renderer/blockmodel/StateMap.java index d85f8a1d..155c9b8b 100755 --- a/client/src/main/java/client/renderer/blockmodel/StateMap.java +++ b/client/src/main/java/client/renderer/blockmodel/StateMap.java @@ -5,25 +5,25 @@ import java.util.Map.Entry; import common.block.Block; import common.collect.Maps; -import common.properties.IProperty; +import common.properties.Property; import common.world.State; public abstract class StateMap { protected Map mapStateModelLocations = Maps.newLinkedHashMap(); - public String getPropertyString(Map p_178131_1_) + public String getPropertyString(Map p_178131_1_) { StringBuilder stringbuilder = new StringBuilder(); - for (Entry entry : p_178131_1_.entrySet()) + for (Entry entry : p_178131_1_.entrySet()) { if (stringbuilder.length() != 0) { stringbuilder.append(","); } - IProperty iproperty = (IProperty)entry.getKey(); + Property iproperty = (Property)entry.getKey(); Comparable comparable = (Comparable)entry.getValue(); stringbuilder.append(iproperty.getName()); stringbuilder.append("="); diff --git a/common/src/main/java/common/block/Block.java b/common/src/main/java/common/block/Block.java index d1da8669..3086a8d1 100755 --- a/common/src/main/java/common/block/Block.java +++ b/common/src/main/java/common/block/Block.java @@ -32,7 +32,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.Transforms; -import common.properties.IProperty; +import common.properties.Property; import common.rng.Random; import common.tileentity.TileEntity; import common.util.BlockPos; @@ -156,7 +156,7 @@ public class Block { } } - private final ImmutableList properties; + private final ImmutableList properties; private final ImmutableList states; protected final Material material; @@ -212,14 +212,14 @@ public class Block { return (T[])((Object[])((Object[])Array.newInstance(clazz, size))); } - private static Map createMap(Iterable keys, Iterable values) { - return populateMap(keys, values, Maps.newLinkedHashMap()); + private static Map createMap(Iterable keys, Iterable values) { + return populateMap(keys, values, Maps.newLinkedHashMap()); } - private static Map populateMap(Iterable keys, Iterable values, Map map) { + private static Map populateMap(Iterable keys, Iterable values, Map map) { Iterator iterator = values.iterator(); - for(IProperty prop : keys) { + for(Property prop : keys) { map.put(prop, iterator.next()); } @@ -231,28 +231,28 @@ public class Block { } } - private static List> getAllowedValues(List properties) { + private static List> getAllowedValues(List properties) { List> list = Lists.>newArrayList(); for(int z = 0; z < properties.size(); z++) { - list.add((properties.get(z)).getAllowedValues()); + list.add((properties.get(z)).getStates()); } return list; } - private static ImmutableList getPropertyList(IProperty[] properties) { - Arrays.sort(properties, new Comparator() { - public int compare(IProperty p1, IProperty p2) { + private static ImmutableList getPropertyList(Property[] properties) { + Arrays.sort(properties, new Comparator() { + public int compare(Property p1, Property p2) { return p1.getName().compareTo(p2.getName()); } }); return ImmutableList.copyOf(properties); } - private static ImmutableList getStateList(List properties, Block block) { - Map, State> map = Maps., State>newLinkedHashMap(); + private static ImmutableList getStateList(List properties, Block block) { + Map, State> map = Maps., State>newLinkedHashMap(); List list = Lists.newArrayList(); for(List allowed : cartesianProduct(getAllowedValues(properties))) { - Map props = createMap(properties, allowed); + Map props = createMap(properties, allowed); State state = new State(block, ImmutableMap.copyOf(props)); map.put(props, state); list.add(state); @@ -388,7 +388,7 @@ public class Block { return this.states.get(0); } - public Collection getPropertyMap() { + public Collection getPropertyMap() { return this.properties; } @@ -934,8 +934,8 @@ public class Block { return state; } - protected IProperty[] getProperties() { - return new IProperty[0]; + protected Property[] getProperties() { + return new Property[0]; } protected final void setDefaultState(State state) { @@ -974,7 +974,7 @@ public class Block { return provider.getModel(name).add().all(); } - public IProperty[] getIgnoredProperties() { + public Property[] getIgnoredProperties() { return null; } diff --git a/common/src/main/java/common/block/BlockDirectional.java b/common/src/main/java/common/block/BlockDirectional.java deleted file mode 100755 index 0cb7a7a0..00000000 --- a/common/src/main/java/common/block/BlockDirectional.java +++ /dev/null @@ -1,12 +0,0 @@ -package common.block; - -import common.properties.PropertyDirection; -import common.util.Facing; - -public abstract class BlockDirectional extends Block { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); - - public BlockDirectional(Material material) { - super(material); - } -} diff --git a/common/src/main/java/common/block/Directional.java b/common/src/main/java/common/block/Directional.java new file mode 100644 index 00000000..c4361340 --- /dev/null +++ b/common/src/main/java/common/block/Directional.java @@ -0,0 +1,8 @@ +package common.block; + +import common.properties.PropertyEnum; +import common.util.Facing; + +public interface Directional { + public static final PropertyEnum FACING = PropertyEnum.create("facing", Facing.class, Facing.values()); +} diff --git a/common/src/main/java/common/block/DirectionalDown.java b/common/src/main/java/common/block/DirectionalDown.java new file mode 100644 index 00000000..8dbba560 --- /dev/null +++ b/common/src/main/java/common/block/DirectionalDown.java @@ -0,0 +1,8 @@ +package common.block; + +import common.properties.PropertyEnum; +import common.util.Facing; + +public interface DirectionalDown { + public static final PropertyEnum FACING = PropertyEnum.create("facing", Facing.class, Facing.DOWN, Facing.NORTH, Facing.SOUTH, Facing.WEST, Facing.EAST); +} diff --git a/common/src/main/java/common/block/DirectionalUp.java b/common/src/main/java/common/block/DirectionalUp.java new file mode 100644 index 00000000..c3f8dc37 --- /dev/null +++ b/common/src/main/java/common/block/DirectionalUp.java @@ -0,0 +1,8 @@ +package common.block; + +import common.properties.PropertyEnum; +import common.util.Facing; + +public interface DirectionalUp { + public static final PropertyEnum FACING = PropertyEnum.create("facing", Facing.class, Facing.UP, Facing.NORTH, Facing.SOUTH, Facing.WEST, Facing.EAST); +} diff --git a/common/src/main/java/common/block/Rotatable.java b/common/src/main/java/common/block/Rotatable.java new file mode 100755 index 00000000..4bf6bfa5 --- /dev/null +++ b/common/src/main/java/common/block/Rotatable.java @@ -0,0 +1,8 @@ +package common.block; + +import common.properties.PropertyEnum; +import common.util.Facing; + +public interface Rotatable { + public static final PropertyEnum FACING = PropertyEnum.create("facing", Facing.class, Facing.NORTH, Facing.SOUTH, Facing.WEST, Facing.EAST); +} diff --git a/common/src/main/java/common/block/artificial/BlockBed.java b/common/src/main/java/common/block/artificial/BlockBed.java index 371619d0..22a5317b 100755 --- a/common/src/main/java/common/block/artificial/BlockBed.java +++ b/common/src/main/java/common/block/artificial/BlockBed.java @@ -1,7 +1,7 @@ package common.block.artificial; import common.block.Block; -import common.block.BlockDirectional; +import common.block.Rotatable; import common.block.Material; import common.color.DyeColor; import common.color.TextColor; @@ -12,7 +12,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; import common.util.BlockPos; @@ -23,7 +23,7 @@ import common.world.IWorldAccess; import common.world.State; import common.world.World; -public class BlockBed extends BlockDirectional { +public class BlockBed extends Block implements Rotatable { public static enum EnumPartType implements Identifyable { HEAD("head"), FOOT("foot"); @@ -188,8 +188,8 @@ public class BlockBed extends BlockDirectional { return ((Facing)state.getValue(FACING)).getHorizontalIndex() | (state.getValue(PART) == BlockBed.EnumPartType.HEAD ? 8 : 0); } - protected IProperty[] getProperties() { - return new IProperty[] {FACING, PART}; + protected Property[] getProperties() { + return new Property[] {FACING, PART}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/artificial/BlockCake.java b/common/src/main/java/common/block/artificial/BlockCake.java index 425c641a..9907df78 100755 --- a/common/src/main/java/common/block/artificial/BlockCake.java +++ b/common/src/main/java/common/block/artificial/BlockCake.java @@ -8,7 +8,7 @@ import common.item.Item; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -228,9 +228,9 @@ public class BlockCake extends Block return ((Integer)state.getValue(BITES)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {BITES}; + return new Property[] {BITES}; } public int getComparatorInputOverride(World worldIn, BlockPos pos) diff --git a/common/src/main/java/common/block/artificial/BlockDoor.java b/common/src/main/java/common/block/artificial/BlockDoor.java index eb445ea5..08ad3d34 100755 --- a/common/src/main/java/common/block/artificial/BlockDoor.java +++ b/common/src/main/java/common/block/artificial/BlockDoor.java @@ -3,6 +3,7 @@ package common.block.artificial; import java.util.List; import common.block.Block; +import common.block.Rotatable; import common.block.Material; import common.collect.Lists; import common.entity.npc.EntityNPC; @@ -13,9 +14,8 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; import common.properties.PropertyEnum; import common.rng.Random; import common.util.BlockPos; @@ -29,9 +29,8 @@ import common.world.IWorldAccess; import common.world.State; import common.world.World; -public class BlockDoor extends Block +public class BlockDoor extends Block implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); public static final PropertyBool OPEN = PropertyBool.create("open"); public static final PropertyEnum HINGE = PropertyEnum.create("hinge", BlockDoor.EnumHingePosition.class); public static final PropertyBool POWERED = PropertyBool.create("powered"); @@ -446,9 +445,9 @@ public class BlockDoor extends Block return (combinedMeta & 16) != 0; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {HALF, FACING, OPEN, HINGE, POWERED}; + return new Property[] {HALF, FACING, OPEN, HINGE, POWERED}; } private static ModelRotation getRotation(Facing rot, int offset) { @@ -500,8 +499,8 @@ public class BlockDoor extends Block } } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {POWERED}; + public Property[] getIgnoredProperties() { + return new Property[] {POWERED}; } public static enum EnumDoorHalf implements Identifyable diff --git a/common/src/main/java/common/block/artificial/BlockFence.java b/common/src/main/java/common/block/artificial/BlockFence.java index dfd3cad4..cc7b7fb1 100755 --- a/common/src/main/java/common/block/artificial/BlockFence.java +++ b/common/src/main/java/common/block/artificial/BlockFence.java @@ -13,7 +13,7 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.Transforms; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.util.BlockPos; import common.util.BoundingBox; @@ -196,9 +196,9 @@ public class BlockFence extends Block return state.withProperty(NORTH, Boolean.valueOf(this.canConnectTo(worldIn, pos.north()))).withProperty(EAST, Boolean.valueOf(this.canConnectTo(worldIn, pos.east()))).withProperty(SOUTH, Boolean.valueOf(this.canConnectTo(worldIn, pos.south()))).withProperty(WEST, Boolean.valueOf(this.canConnectTo(worldIn, pos.west()))); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {NORTH, EAST, WEST, SOUTH}; + return new Property[] {NORTH, EAST, WEST, SOUTH}; } public Transforms getTransform() { diff --git a/common/src/main/java/common/block/artificial/BlockFenceGate.java b/common/src/main/java/common/block/artificial/BlockFenceGate.java index 887479fc..f86f67a9 100755 --- a/common/src/main/java/common/block/artificial/BlockFenceGate.java +++ b/common/src/main/java/common/block/artificial/BlockFenceGate.java @@ -1,7 +1,7 @@ package common.block.artificial; import common.block.Block; -import common.block.BlockDirectional; +import common.block.Rotatable; import common.block.Material; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; @@ -12,7 +12,7 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.Transforms; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.util.BlockPos; import common.util.BoundingBox; @@ -22,7 +22,7 @@ import common.world.IWorldAccess; import common.world.State; import common.world.World; -public class BlockFenceGate extends BlockDirectional +public class BlockFenceGate extends Block implements Rotatable { public static final PropertyBool OPEN = PropertyBool.create("open"); public static final PropertyBool POWERED = PropertyBool.create("powered"); @@ -200,9 +200,9 @@ public class BlockFenceGate extends BlockDirectional return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, OPEN, POWERED, IN_WALL}; + return new Property[] {FACING, OPEN, POWERED, IN_WALL}; } public Transforms getTransform() { @@ -406,7 +406,7 @@ public class BlockFenceGate extends BlockDirectional .rotate(ModelRotation.getNorthRot(state.getValue(FACING).getOpposite())); } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {POWERED}; + public Property[] getIgnoredProperties() { + return new Property[] {POWERED}; } } diff --git a/common/src/main/java/common/block/artificial/BlockHay.java b/common/src/main/java/common/block/artificial/BlockHay.java index b2422bdd..c9de3f01 100755 --- a/common/src/main/java/common/block/artificial/BlockHay.java +++ b/common/src/main/java/common/block/artificial/BlockHay.java @@ -6,7 +6,7 @@ import common.entity.types.EntityLiving; import common.init.ItemRegistry; import common.item.CheatTab; import common.item.ItemStack; -import common.properties.IProperty; +import common.properties.Property; import common.util.BlockPos; import common.util.Facing; import common.world.State; @@ -61,9 +61,9 @@ public class BlockHay extends BlockRotatedPillar return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {AXIS}; + return new Property[] {AXIS}; } public ItemStack createStackedBlock(State state) diff --git a/common/src/main/java/common/block/artificial/BlockLadder.java b/common/src/main/java/common/block/artificial/BlockLadder.java index 20c8ac2f..d2b49b1f 100755 --- a/common/src/main/java/common/block/artificial/BlockLadder.java +++ b/common/src/main/java/common/block/artificial/BlockLadder.java @@ -1,7 +1,7 @@ package common.block.artificial; import common.block.Block; -import common.block.BlockDirectional; +import common.block.Rotatable; import common.block.Material; import common.entity.types.EntityLiving; import common.item.CheatTab; @@ -9,8 +9,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; import common.util.Facing; @@ -18,10 +17,8 @@ import common.world.IWorldAccess; import common.world.State; import common.world.World; -public class BlockLadder extends Block +public class BlockLadder extends Block implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); - public BlockLadder() { super(Material.SMALL); @@ -161,9 +158,9 @@ public class BlockLadder extends Block return ((Facing)state.getValue(FACING)).getIndex(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING}; + return new Property[] {FACING}; } public Model getModel(ModelProvider provider, String name, State state) { @@ -171,6 +168,6 @@ public class BlockLadder extends Block .add(0, 0, 15.2f, 16, 16, 15.2f).noShade() .n().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull() - .rotate(ModelRotation.getNorthRot(state.getValue(BlockDirectional.FACING))); + .rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } } diff --git a/common/src/main/java/common/block/artificial/BlockPane.java b/common/src/main/java/common/block/artificial/BlockPane.java index 2125ba39..14b72572 100755 --- a/common/src/main/java/common/block/artificial/BlockPane.java +++ b/common/src/main/java/common/block/artificial/BlockPane.java @@ -12,7 +12,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; @@ -201,9 +201,9 @@ public class BlockPane extends Block return 0; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {NORTH, EAST, WEST, SOUTH}; + return new Property[] {NORTH, EAST, WEST, SOUTH}; } public boolean isMagnetic() { diff --git a/common/src/main/java/common/block/artificial/BlockPortal.java b/common/src/main/java/common/block/artificial/BlockPortal.java index a140f4b1..36e1b045 100755 --- a/common/src/main/java/common/block/artificial/BlockPortal.java +++ b/common/src/main/java/common/block/artificial/BlockPortal.java @@ -12,7 +12,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ParticleType; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.properties.PropertyInteger; import common.rng.Random; @@ -277,9 +277,9 @@ public class BlockPortal extends Block return (state.getValue(AXIS) == Axis.Z ? 8 : 0) | state.getValue(DIM); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {AXIS, DIM}; + return new Property[] {AXIS, DIM}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/artificial/BlockPortalFrame.java b/common/src/main/java/common/block/artificial/BlockPortalFrame.java index 0c5a300f..b33a0722 100755 --- a/common/src/main/java/common/block/artificial/BlockPortalFrame.java +++ b/common/src/main/java/common/block/artificial/BlockPortalFrame.java @@ -3,6 +3,7 @@ package common.block.artificial; import java.util.List; import common.block.Block; +import common.block.Rotatable; import common.block.Material; import common.entity.Entity; import common.entity.npc.EntityNPC; @@ -15,9 +16,8 @@ import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; import common.rng.Random; import common.tileentity.TileEntity; import common.util.BlockPos; @@ -26,9 +26,8 @@ import common.util.Facing; import common.world.State; import common.world.World; -public class BlockPortalFrame extends Block +public class BlockPortalFrame extends Block implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); public static final PropertyBool ORB = PropertyBool.create("orb"); public BlockPortalFrame() @@ -133,9 +132,9 @@ public class BlockPortalFrame extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, ORB}; + return new Property[] {FACING, ORB}; } public void onBlockDestroyedByPlayer(World worldIn, BlockPos pos, State state) diff --git a/common/src/main/java/common/block/artificial/BlockQuartz.java b/common/src/main/java/common/block/artificial/BlockQuartz.java index 7942b656..a898bb62 100755 --- a/common/src/main/java/common/block/artificial/BlockQuartz.java +++ b/common/src/main/java/common/block/artificial/BlockQuartz.java @@ -13,7 +13,7 @@ import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; import common.util.BlockPos; diff --git a/common/src/main/java/common/block/artificial/BlockSkull.java b/common/src/main/java/common/block/artificial/BlockSkull.java index f5f0c268..1b68aedf 100755 --- a/common/src/main/java/common/block/artificial/BlockSkull.java +++ b/common/src/main/java/common/block/artificial/BlockSkull.java @@ -1,6 +1,7 @@ package common.block.artificial; -import common.block.BlockDirectional; +import common.block.Block; +import common.block.Rotatable; import common.block.Material; import common.entity.Entity; import common.entity.types.EntityLiving; @@ -9,14 +10,14 @@ import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.rng.Random; import common.util.BlockPos; import common.util.Facing; import common.world.State; import common.world.World; -public class BlockSkull extends BlockDirectional { +public class BlockSkull extends Block implements Rotatable { public BlockSkull() { super(Material.SMALL); this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH)); @@ -39,8 +40,8 @@ public class BlockSkull extends BlockDirectional { return state.getValue(FACING).getHorizontalIndex(); } - protected IProperty[] getProperties() { - return new IProperty[] {FACING}; + protected Property[] getProperties() { + return new Property[] {FACING}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/artificial/BlockSlab.java b/common/src/main/java/common/block/artificial/BlockSlab.java index 232bfde7..10229d4c 100755 --- a/common/src/main/java/common/block/artificial/BlockSlab.java +++ b/common/src/main/java/common/block/artificial/BlockSlab.java @@ -3,6 +3,7 @@ package common.block.artificial; import java.util.List; import common.block.Block; +import common.block.Directional; import common.block.Material; import common.collect.Lists; import common.entity.Entity; @@ -12,9 +13,9 @@ import common.item.Item; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; +import common.properties.PropertyEnum; import common.util.BlockPos; import common.util.BoundingBox; import common.util.Facing; @@ -23,9 +24,8 @@ import common.world.IWorldAccess; import common.world.State; import common.world.World; -public class BlockSlab extends Block +public class BlockSlab extends Block implements Directional { - public static final PropertyDirection FACING = PropertyDirection.create("facing"); public static final PropertyBool DOUBLE = PropertyBool.create("double"); public static final PropertyBool SEAMLESS = PropertyBool.create("seamless"); public static final List SLABS = Lists.newArrayList(); @@ -72,9 +72,9 @@ public class BlockSlab extends Block return dir == Facing.DOWN ? 0 : (dir == Facing.UP ? 1 : (dir.getHorizontalIndex() + 2)); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, DOUBLE, SEAMLESS}; + return new Property[] {FACING, DOUBLE, SEAMLESS}; } public boolean canSilkHarvest() diff --git a/common/src/main/java/common/block/artificial/BlockStainedGlassPane.java b/common/src/main/java/common/block/artificial/BlockStainedGlassPane.java index 2ff6c166..270ddef9 100755 --- a/common/src/main/java/common/block/artificial/BlockStainedGlassPane.java +++ b/common/src/main/java/common/block/artificial/BlockStainedGlassPane.java @@ -4,7 +4,7 @@ import common.block.Material; import common.color.DyeColor; import common.item.CheatTab; import common.model.BlockLayer; -import common.properties.IProperty; +import common.properties.Property; import common.world.State; public class BlockStainedGlassPane extends BlockPane @@ -28,9 +28,9 @@ public class BlockStainedGlassPane extends BlockPane return BlockLayer.TRANSLUCENT; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {NORTH, EAST, WEST, SOUTH}; + return new Property[] {NORTH, EAST, WEST, SOUTH}; } protected String getPaneBase(State state) { diff --git a/common/src/main/java/common/block/artificial/BlockStairs.java b/common/src/main/java/common/block/artificial/BlockStairs.java index 337f7153..a8cd4e11 100755 --- a/common/src/main/java/common/block/artificial/BlockStairs.java +++ b/common/src/main/java/common/block/artificial/BlockStairs.java @@ -4,6 +4,7 @@ import java.util.Arrays; import java.util.List; import common.block.Block; +import common.block.Rotatable; import common.block.Material; import common.entity.Entity; import common.entity.npc.EntityNPC; @@ -15,8 +16,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.Transforms; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; import common.util.BlockPos; @@ -33,9 +33,8 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockStairs extends Block +public class BlockStairs extends Block implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); public static final PropertyEnum HALF = PropertyEnum.create("half", BlockStairs.EnumHalf.class); public static final PropertyEnum SHAPE = PropertyEnum.create("shape", BlockStairs.EnumShape.class); private static final int[][] field_150150_a = new int[][] {{4, 5}, {5, 7}, {6, 7}, {4, 6}, {0, 1}, {1, 3}, {2, 3}, {0, 2}}; @@ -805,9 +804,9 @@ public class BlockStairs extends Block return state; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, HALF, SHAPE}; + return new Property[] {FACING, HALF, SHAPE}; } public Transforms getTransform() { diff --git a/common/src/main/java/common/block/artificial/BlockTrapDoor.java b/common/src/main/java/common/block/artificial/BlockTrapDoor.java index 3f970d69..6a4422dc 100755 --- a/common/src/main/java/common/block/artificial/BlockTrapDoor.java +++ b/common/src/main/java/common/block/artificial/BlockTrapDoor.java @@ -1,6 +1,7 @@ package common.block.artificial; import common.block.Block; +import common.block.Rotatable; import common.block.Material; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; @@ -11,9 +12,8 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.Transforms; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; import common.properties.PropertyEnum; import common.util.BlockPos; import common.util.BoundingBox; @@ -26,9 +26,8 @@ import common.world.IWorldAccess; import common.world.State; import common.world.World; -public class BlockTrapDoor extends Block +public class BlockTrapDoor extends Block implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); public static final PropertyBool OPEN = PropertyBool.create("open"); public static final PropertyEnum HALF = PropertyEnum.create("half", BlockTrapDoor.DoorHalf.class); @@ -287,9 +286,9 @@ public class BlockTrapDoor extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, OPEN, HALF}; + return new Property[] {FACING, OPEN, HALF}; } public boolean isMagnetic() { diff --git a/common/src/main/java/common/block/artificial/BlockWall.java b/common/src/main/java/common/block/artificial/BlockWall.java index 086bc3cd..1136ec74 100755 --- a/common/src/main/java/common/block/artificial/BlockWall.java +++ b/common/src/main/java/common/block/artificial/BlockWall.java @@ -7,7 +7,7 @@ import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.util.BlockPos; import common.util.BoundingBox; @@ -136,9 +136,9 @@ public class BlockWall extends Block return state.withProperty(UP, Boolean.valueOf(worldIn.getState(pos.up()).getBlock() != Blocks.air)).withProperty(NORTH, Boolean.valueOf(this.canConnectTo(worldIn, pos.north()))).withProperty(EAST, Boolean.valueOf(this.canConnectTo(worldIn, pos.east()))).withProperty(SOUTH, Boolean.valueOf(this.canConnectTo(worldIn, pos.south()))).withProperty(WEST, Boolean.valueOf(this.canConnectTo(worldIn, pos.west()))); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {UP, NORTH, EAST, WEST, SOUTH}; + return new Property[] {UP, NORTH, EAST, WEST, SOUTH}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockCactus.java b/common/src/main/java/common/block/foliage/BlockCactus.java index 204599a5..7a496474 100755 --- a/common/src/main/java/common/block/foliage/BlockCactus.java +++ b/common/src/main/java/common/block/foliage/BlockCactus.java @@ -9,7 +9,7 @@ import common.item.CheatTab; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -161,16 +161,16 @@ public class BlockCactus extends Block return ((Integer)state.getValue(AGE)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {AGE}; + return new Property[] {AGE}; } public Model getModel(ModelProvider provider, String name, State state) { return cactus; } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {AGE}; + public Property[] getIgnoredProperties() { + return new Property[] {AGE}; } } diff --git a/common/src/main/java/common/block/foliage/BlockCocoa.java b/common/src/main/java/common/block/foliage/BlockCocoa.java index a3935e01..d3296a1e 100755 --- a/common/src/main/java/common/block/foliage/BlockCocoa.java +++ b/common/src/main/java/common/block/foliage/BlockCocoa.java @@ -1,7 +1,7 @@ package common.block.foliage; import common.block.Block; -import common.block.BlockDirectional; +import common.block.Rotatable; import common.block.Material; import common.color.DyeColor; import common.entity.types.EntityLiving; @@ -13,7 +13,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -25,7 +25,7 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockCocoa extends BlockDirectional implements IGrowable +public class BlockCocoa extends Block implements Rotatable, IGrowable { public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 2); @@ -220,9 +220,9 @@ public class BlockCocoa extends BlockDirectional implements IGrowable return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, AGE}; + return new Property[] {FACING, AGE}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockCrops.java b/common/src/main/java/common/block/foliage/BlockCrops.java index 826c0b58..55749f46 100755 --- a/common/src/main/java/common/block/foliage/BlockCrops.java +++ b/common/src/main/java/common/block/foliage/BlockCrops.java @@ -9,7 +9,7 @@ import common.item.Item; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -217,9 +217,9 @@ public class BlockCrops extends BlockBush implements IGrowable return ((Integer)state.getValue(AGE)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {AGE}; + return new Property[] {AGE}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockDoublePlant.java b/common/src/main/java/common/block/foliage/BlockDoublePlant.java index dd0c81dc..ef46eefd 100755 --- a/common/src/main/java/common/block/foliage/BlockDoublePlant.java +++ b/common/src/main/java/common/block/foliage/BlockDoublePlant.java @@ -3,7 +3,7 @@ package common.block.foliage; import java.util.List; import common.block.Block; -import common.block.BlockDirectional; +import common.block.Rotatable; import common.block.Material; import common.block.SoundType; import common.color.Colorizer; @@ -18,7 +18,7 @@ import common.item.ItemShears; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; import common.tileentity.TileEntity; @@ -32,10 +32,9 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockDoublePlant extends BlockBush implements IGrowable +public class BlockDoublePlant extends BlockBush implements Rotatable, IGrowable { public static final PropertyEnum HALF = PropertyEnum.create("half", BlockDoublePlant.EnumBlockHalf.class); - public static final PropertyEnum FACING = BlockDirectional.FACING; private final EnumPlantType type; @@ -271,9 +270,9 @@ public class BlockDoublePlant extends BlockBush implements IGrowable return state.getValue(HALF) == BlockDoublePlant.EnumBlockHalf.UPPER ? 8 | ((Facing)state.getValue(FACING)).getHorizontalIndex() : 0; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {HALF, FACING}; + return new Property[] {HALF, FACING}; } public Model getModel(ModelProvider provider, String name, State state) { @@ -293,8 +292,8 @@ public class BlockDoublePlant extends BlockBush implements IGrowable ? "top" : "bottom")).cross(); } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {FACING}; + public Property[] getIgnoredProperties() { + return new Property[] {FACING}; } public static enum EnumBlockHalf implements Identifyable diff --git a/common/src/main/java/common/block/foliage/BlockFarmland.java b/common/src/main/java/common/block/foliage/BlockFarmland.java index 5846a793..4af89744 100755 --- a/common/src/main/java/common/block/foliage/BlockFarmland.java +++ b/common/src/main/java/common/block/foliage/BlockFarmland.java @@ -11,7 +11,7 @@ import common.init.Items; import common.item.Item; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -174,9 +174,9 @@ public class BlockFarmland extends Block return ((Integer)state.getValue(MOISTURE)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {MOISTURE}; + return new Property[] {MOISTURE}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockFlower.java b/common/src/main/java/common/block/foliage/BlockFlower.java index e68c6172..3836c79f 100755 --- a/common/src/main/java/common/block/foliage/BlockFlower.java +++ b/common/src/main/java/common/block/foliage/BlockFlower.java @@ -12,7 +12,7 @@ import common.item.Item; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; import common.util.BlockPos; diff --git a/common/src/main/java/common/block/foliage/BlockGrass.java b/common/src/main/java/common/block/foliage/BlockGrass.java index d7ba193a..060c88f5 100755 --- a/common/src/main/java/common/block/foliage/BlockGrass.java +++ b/common/src/main/java/common/block/foliage/BlockGrass.java @@ -11,7 +11,7 @@ import common.item.Item; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; @@ -132,9 +132,9 @@ public class BlockGrass extends Block implements IGrowable return 0; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {SNOWY}; + return new Property[] {SNOWY}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockHugeMushroom.java b/common/src/main/java/common/block/foliage/BlockHugeMushroom.java index 3de09869..ef8281ec 100755 --- a/common/src/main/java/common/block/foliage/BlockHugeMushroom.java +++ b/common/src/main/java/common/block/foliage/BlockHugeMushroom.java @@ -7,7 +7,7 @@ import common.init.ItemRegistry; import common.item.Item; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; import common.util.BlockPos; @@ -96,9 +96,9 @@ public class BlockHugeMushroom extends Block return ((BlockHugeMushroom.EnumType)state.getValue(VARIANT)).getMetadata(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {VARIANT}; + return new Property[] {VARIANT}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockLeaves.java b/common/src/main/java/common/block/foliage/BlockLeaves.java index 613e43b2..78d89f18 100755 --- a/common/src/main/java/common/block/foliage/BlockLeaves.java +++ b/common/src/main/java/common/block/foliage/BlockLeaves.java @@ -19,7 +19,7 @@ import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; import common.model.ParticleType; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.tileentity.TileEntity; @@ -307,8 +307,8 @@ public class BlockLeaves extends BlockLeavesBase return i; } - protected IProperty[] getProperties() { - return new IProperty[] {DECAY}; + protected Property[] getProperties() { + return new Property[] {DECAY}; } public void harvestBlock(World worldIn, EntityNPC player, BlockPos pos, State state, TileEntity te) { @@ -325,7 +325,7 @@ public class BlockLeaves extends BlockLeavesBase provider.getModel(name + "_" + this.subType.getName()).add().all(); } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {DECAY}; + public Property[] getIgnoredProperties() { + return new Property[] {DECAY}; } } diff --git a/common/src/main/java/common/block/foliage/BlockLilyPad.java b/common/src/main/java/common/block/foliage/BlockLilyPad.java index 11024808..4187d83d 100755 --- a/common/src/main/java/common/block/foliage/BlockLilyPad.java +++ b/common/src/main/java/common/block/foliage/BlockLilyPad.java @@ -3,7 +3,7 @@ package common.block.foliage; import java.util.List; import common.block.Block; -import common.block.BlockDirectional; +import common.block.Rotatable; import common.block.liquid.BlockLiquid; import common.block.liquid.BlockStaticLiquid; import common.entity.Entity; @@ -14,7 +14,7 @@ import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; import common.util.Facing; @@ -22,14 +22,14 @@ import common.world.IWorldAccess; import common.world.State; import common.world.World; -public class BlockLilyPad extends BlockBush +public class BlockLilyPad extends BlockBush implements Rotatable { public BlockLilyPad() { float f = 0.5F; float f1 = 0.015625F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f1, 0.5F + f); - this.setDefaultState(this.getBaseState().withProperty(BlockDirectional.FACING, Facing.NORTH)); + this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH)); this.setTab(CheatTab.PLANTS); } @@ -87,22 +87,22 @@ public class BlockLilyPad extends BlockBush public State getStateFromMeta(int meta) { - return this.getState().withProperty(BlockDirectional.FACING, Facing.getHorizontal(meta)); + return this.getState().withProperty(FACING, Facing.getHorizontal(meta)); } public int getMetaFromState(State state) { - return ((Facing)state.getValue(BlockDirectional.FACING)).getHorizontalIndex(); + return ((Facing)state.getValue(FACING)).getHorizontalIndex(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {BlockDirectional.FACING}; + return new Property[] {FACING}; } public State onBlockPlaced(World worldIn, BlockPos pos, Facing facing, float hitX, float hitY, float hitZ, int meta, EntityLiving placer) { - return this.getState().withProperty(BlockDirectional.FACING, placer.getHorizontalFacing().getOpposite()); + return this.getState().withProperty(FACING, placer.getHorizontalFacing().getOpposite()); } public Model getModel(ModelProvider provider, String name, State state) { @@ -110,6 +110,6 @@ public class BlockLilyPad extends BlockBush .add(0, 0.25f, 0, 16, 0.25f, 16) .d().uv(16, 16, 0, 0).tint().noCull() .u().uv(16, 0, 0, 16).tint().noCull() - .rotate(ModelRotation.getNorthRot(state.getValue(BlockDirectional.FACING))); + .rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } } diff --git a/common/src/main/java/common/block/foliage/BlockLog.java b/common/src/main/java/common/block/foliage/BlockLog.java index 8c9fbab7..eff5cc0f 100755 --- a/common/src/main/java/common/block/foliage/BlockLog.java +++ b/common/src/main/java/common/block/foliage/BlockLog.java @@ -8,7 +8,7 @@ import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.util.BlockPos; import common.util.Facing; @@ -128,9 +128,9 @@ public class BlockLog extends BlockRotatedPillar return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {LOG_AXIS}; + return new Property[] {LOG_AXIS}; } public static enum EnumAxis implements Identifyable diff --git a/common/src/main/java/common/block/foliage/BlockMycelium.java b/common/src/main/java/common/block/foliage/BlockMycelium.java index 9802b146..49b79fdb 100755 --- a/common/src/main/java/common/block/foliage/BlockMycelium.java +++ b/common/src/main/java/common/block/foliage/BlockMycelium.java @@ -8,7 +8,7 @@ import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.model.ParticleType; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; @@ -95,9 +95,9 @@ public class BlockMycelium extends Block return 0; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {SNOWY}; + return new Property[] {SNOWY}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockPumpkin.java b/common/src/main/java/common/block/foliage/BlockPumpkin.java index 9b70bad9..806e9346 100755 --- a/common/src/main/java/common/block/foliage/BlockPumpkin.java +++ b/common/src/main/java/common/block/foliage/BlockPumpkin.java @@ -1,19 +1,20 @@ package common.block.foliage; -import common.block.BlockDirectional; +import common.block.Block; +import common.block.Rotatable; import common.block.Material; import common.entity.types.EntityLiving; import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.util.BlockPos; import common.util.Facing; import common.world.State; import common.world.World; -public class BlockPumpkin extends BlockDirectional { +public class BlockPumpkin extends Block implements Rotatable { public BlockPumpkin() { super(Material.SOFT); this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH)); @@ -36,8 +37,8 @@ public class BlockPumpkin extends BlockDirectional { return state.getValue(FACING).getHorizontalIndex(); } - protected IProperty[] getProperties() { - return new IProperty[] {FACING}; + protected Property[] getProperties() { + return new Property[] {FACING}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockReed.java b/common/src/main/java/common/block/foliage/BlockReed.java index e581de92..d64b79cf 100755 --- a/common/src/main/java/common/block/foliage/BlockReed.java +++ b/common/src/main/java/common/block/foliage/BlockReed.java @@ -8,7 +8,7 @@ import common.item.Item; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -179,16 +179,16 @@ public class BlockReed extends Block return ((Integer)state.getValue(AGE)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {AGE}; + return new Property[] {AGE}; } public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel("reeds").crossTint(); } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {AGE}; + public Property[] getIgnoredProperties() { + return new Property[] {AGE}; } } diff --git a/common/src/main/java/common/block/foliage/BlockSapling.java b/common/src/main/java/common/block/foliage/BlockSapling.java index 8a4bdc29..d359c91e 100755 --- a/common/src/main/java/common/block/foliage/BlockSapling.java +++ b/common/src/main/java/common/block/foliage/BlockSapling.java @@ -9,7 +9,7 @@ import common.init.WoodType; import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -132,9 +132,9 @@ public class BlockSapling extends BlockBush implements IGrowable return state.getValue(STAGE); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {STAGE}; + return new Property[] {STAGE}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockStem.java b/common/src/main/java/common/block/foliage/BlockStem.java index e647e19b..fce5dbae 100755 --- a/common/src/main/java/common/block/foliage/BlockStem.java +++ b/common/src/main/java/common/block/foliage/BlockStem.java @@ -1,8 +1,7 @@ package common.block.foliage; -import java.util.function.Predicate; - import common.block.Block; +import common.block.DirectionalUp; import common.init.Blocks; import common.init.Items; import common.item.CheatTab; @@ -11,8 +10,7 @@ import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -23,16 +21,10 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockStem extends BlockBush implements IGrowable +public class BlockStem extends BlockBush implements DirectionalUp, IGrowable { public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 7); - public static final PropertyDirection FACING = PropertyDirection.create("facing", new Predicate() - { - public boolean test(Facing p_apply_1_) - { - return p_apply_1_ != Facing.DOWN; - } - }); + private final Block crop; public BlockStem(Block crop) @@ -234,9 +226,9 @@ public class BlockStem extends BlockBush implements IGrowable return ((Integer)state.getValue(AGE)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {AGE, FACING}; + return new Property[] {AGE, FACING}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockTallGrass.java b/common/src/main/java/common/block/foliage/BlockTallGrass.java index 1ce045ad..c30f9e3f 100755 --- a/common/src/main/java/common/block/foliage/BlockTallGrass.java +++ b/common/src/main/java/common/block/foliage/BlockTallGrass.java @@ -13,7 +13,7 @@ import common.item.ItemShears; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; import common.tileentity.TileEntity; diff --git a/common/src/main/java/common/block/foliage/BlockTianSoil.java b/common/src/main/java/common/block/foliage/BlockTianSoil.java index bf7aa447..dce3ab62 100755 --- a/common/src/main/java/common/block/foliage/BlockTianSoil.java +++ b/common/src/main/java/common/block/foliage/BlockTianSoil.java @@ -7,7 +7,7 @@ import common.item.CheatTab; import common.item.Item; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; @@ -41,9 +41,9 @@ public class BlockTianSoil extends Block return 0; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {SNOWY}; + return new Property[] {SNOWY}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/foliage/BlockVine.java b/common/src/main/java/common/block/foliage/BlockVine.java index ffa56494..84447d4e 100755 --- a/common/src/main/java/common/block/foliage/BlockVine.java +++ b/common/src/main/java/common/block/foliage/BlockVine.java @@ -14,7 +14,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.tileentity.TileEntity; @@ -476,9 +476,9 @@ public class BlockVine extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {UP, NORTH, EAST, SOUTH, WEST}; + return new Property[] {UP, NORTH, EAST, SOUTH, WEST}; } public static PropertyBool getPropertyFor(Facing side) diff --git a/common/src/main/java/common/block/foliage/BlockWart.java b/common/src/main/java/common/block/foliage/BlockWart.java index 30771d89..d1649800 100755 --- a/common/src/main/java/common/block/foliage/BlockWart.java +++ b/common/src/main/java/common/block/foliage/BlockWart.java @@ -9,7 +9,7 @@ import common.item.Item; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -123,9 +123,9 @@ public class BlockWart extends BlockBush return ((Integer)state.getValue(AGE)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {AGE}; + return new Property[] {AGE}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/liquid/BlockLiquid.java b/common/src/main/java/common/block/liquid/BlockLiquid.java index 4643b574..ad1b4a4b 100755 --- a/common/src/main/java/common/block/liquid/BlockLiquid.java +++ b/common/src/main/java/common/block/liquid/BlockLiquid.java @@ -10,7 +10,7 @@ import common.init.SoundEvent; import common.item.Item; import common.model.BlockLayer; import common.model.ParticleType; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; @@ -382,9 +382,9 @@ public abstract class BlockLiquid extends Block return ((Integer)state.getValue(LEVEL)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {LEVEL}; + return new Property[] {LEVEL}; } public boolean isXrayVisible() diff --git a/common/src/main/java/common/block/natural/BlockDirt.java b/common/src/main/java/common/block/natural/BlockDirt.java index 1ca02f5c..866a11a3 100755 --- a/common/src/main/java/common/block/natural/BlockDirt.java +++ b/common/src/main/java/common/block/natural/BlockDirt.java @@ -8,7 +8,7 @@ import common.item.CheatTab; import common.item.Item; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; @@ -45,9 +45,9 @@ public class BlockDirt extends Block return state; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {SNOWY}; + return new Property[] {SNOWY}; } public Item getItemDropped(State state, Random rand, int fortune) { diff --git a/common/src/main/java/common/block/natural/BlockFire.java b/common/src/main/java/common/block/natural/BlockFire.java index 40002fa0..fd8ee8e2 100755 --- a/common/src/main/java/common/block/natural/BlockFire.java +++ b/common/src/main/java/common/block/natural/BlockFire.java @@ -12,7 +12,7 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.ParticleType; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.properties.PropertyInteger; import common.rng.Random; @@ -452,9 +452,9 @@ public class BlockFire extends Block return ((Integer)state.getValue(AGE)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {AGE, NORTH, EAST, SOUTH, WEST, UPPER, FLIP, ALT}; + return new Property[] {AGE, NORTH, EAST, SOUTH, WEST, UPPER, FLIP, ALT}; } private static Model fire_nsu2_flip(String fire) { @@ -1139,8 +1139,8 @@ public class BlockFire extends Block state.getValue(NORTH), state.getValue(SOUTH), state.getValue(WEST), state.getValue(EAST)); } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {AGE}; + public Property[] getIgnoredProperties() { + return new Property[] {AGE}; } public void getAnimatedTextures(Map map) { diff --git a/common/src/main/java/common/block/natural/BlockSnow.java b/common/src/main/java/common/block/natural/BlockSnow.java index 220b0266..f123225c 100755 --- a/common/src/main/java/common/block/natural/BlockSnow.java +++ b/common/src/main/java/common/block/natural/BlockSnow.java @@ -11,7 +11,7 @@ import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; import common.model.Transforms; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.tileentity.TileEntity; @@ -174,9 +174,9 @@ public class BlockSnow extends Block return ((Integer)state.getValue(LAYERS)).intValue() - 1; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {LAYERS}; + return new Property[] {LAYERS}; } public Transforms getTransform() { diff --git a/common/src/main/java/common/block/tech/BlockAnvil.java b/common/src/main/java/common/block/tech/BlockAnvil.java index d133c059..4321007b 100755 --- a/common/src/main/java/common/block/tech/BlockAnvil.java +++ b/common/src/main/java/common/block/tech/BlockAnvil.java @@ -1,5 +1,6 @@ package common.block.tech; +import common.block.Rotatable; import common.block.BlockFalling; import common.block.Material; import common.entity.item.EntityFalling; @@ -13,8 +14,7 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.Transforms; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.tileentity.IInteractionObject; import common.util.BlockPos; import common.util.Facing; @@ -22,10 +22,8 @@ import common.world.IWorldAccess; import common.world.State; import common.world.World; -public class BlockAnvil extends BlockFalling +public class BlockAnvil extends BlockFalling implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); - private final int damage; public BlockAnvil(int damage) @@ -129,9 +127,9 @@ public class BlockAnvil extends BlockFalling return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING}; + return new Property[] {FACING}; } public Transforms getTransform() { diff --git a/common/src/main/java/common/block/tech/BlockBrewingStand.java b/common/src/main/java/common/block/tech/BlockBrewingStand.java index bcde12f5..eb2280a3 100755 --- a/common/src/main/java/common/block/tech/BlockBrewingStand.java +++ b/common/src/main/java/common/block/tech/BlockBrewingStand.java @@ -16,7 +16,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ParticleType; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.tileentity.TileEntity; @@ -529,9 +529,9 @@ public class BlockBrewingStand extends BlockContainer return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {HAS_BOTTLE[0], HAS_BOTTLE[1], HAS_BOTTLE[2]}; + return new Property[] {HAS_BOTTLE[0], HAS_BOTTLE[1], HAS_BOTTLE[2]}; } public boolean isMagnetic() { diff --git a/common/src/main/java/common/block/tech/BlockButton.java b/common/src/main/java/common/block/tech/BlockButton.java index 956d0fe2..a170d068 100755 --- a/common/src/main/java/common/block/tech/BlockButton.java +++ b/common/src/main/java/common/block/tech/BlockButton.java @@ -3,6 +3,7 @@ package common.block.tech; import java.util.List; import common.block.Block; +import common.block.Directional; import common.block.Material; import common.collect.Lists; import common.entity.Entity; @@ -15,9 +16,8 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.Transforms; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; @@ -27,9 +27,8 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockButton extends Block +public class BlockButton extends Block implements Directional { - public static final PropertyDirection FACING = PropertyDirection.create("facing"); public static final PropertyBool POWERED = PropertyBool.create("powered"); public static final List BUTTONS = Lists.newArrayList(); @@ -394,9 +393,9 @@ public class BlockButton extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, POWERED}; + return new Property[] {FACING, POWERED}; } public boolean isMagnetic() { diff --git a/common/src/main/java/common/block/tech/BlockCauldron.java b/common/src/main/java/common/block/tech/BlockCauldron.java index 0433d1cc..40d5a2c8 100755 --- a/common/src/main/java/common/block/tech/BlockCauldron.java +++ b/common/src/main/java/common/block/tech/BlockCauldron.java @@ -16,7 +16,7 @@ import common.item.ItemBanner; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.tileentity.TileEntityBanner; @@ -659,9 +659,9 @@ public class BlockCauldron extends Block return ((Integer)state.getValue(LEVEL)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {LEVEL}; + return new Property[] {LEVEL}; } public boolean isMagnetic() { diff --git a/common/src/main/java/common/block/tech/BlockChest.java b/common/src/main/java/common/block/tech/BlockChest.java index 75d977dc..03080280 100755 --- a/common/src/main/java/common/block/tech/BlockChest.java +++ b/common/src/main/java/common/block/tech/BlockChest.java @@ -2,6 +2,7 @@ package common.block.tech; import common.block.Block; import common.block.BlockContainer; +import common.block.Rotatable; import common.block.Material; import common.color.TextColor; import common.entity.Entity; @@ -17,8 +18,7 @@ import common.inventory.InventoryLargeChest; import common.item.CheatTab; import common.item.ItemStack; import common.packet.SPacketSoundEffect; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.tileentity.ILockableContainer; import common.tileentity.Passcode; import common.tileentity.TileEntity; @@ -33,11 +33,8 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockChest extends BlockContainer +public class BlockChest extends BlockContainer implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); - - /** 0 : Normal chest, 1 : Trapped chest */ public final int chestType; public BlockChest(int type) @@ -628,9 +625,9 @@ public class BlockChest extends BlockContainer return ((Facing)state.getValue(FACING)).getIndex(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING}; + return new Property[] {FACING}; } public boolean isXrayVisible() diff --git a/common/src/main/java/common/block/tech/BlockDaylightDetector.java b/common/src/main/java/common/block/tech/BlockDaylightDetector.java index 9a25425b..82ee1bcc 100755 --- a/common/src/main/java/common/block/tech/BlockDaylightDetector.java +++ b/common/src/main/java/common/block/tech/BlockDaylightDetector.java @@ -11,7 +11,7 @@ import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.model.Transforms; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.tileentity.TileEntity; @@ -172,9 +172,9 @@ public class BlockDaylightDetector extends BlockContainer return ((Integer)state.getValue(POWER)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {POWER}; + return new Property[] {POWER}; } public Transforms getTransform() { diff --git a/common/src/main/java/common/block/tech/BlockDispenser.java b/common/src/main/java/common/block/tech/BlockDispenser.java index 4421fbb8..0165aa94 100755 --- a/common/src/main/java/common/block/tech/BlockDispenser.java +++ b/common/src/main/java/common/block/tech/BlockDispenser.java @@ -2,6 +2,7 @@ package common.block.tech; import common.block.Block; import common.block.BlockContainer; +import common.block.Directional; import common.block.Material; import common.dispenser.BehaviorDefaultDispenseItem; import common.dispenser.IBehaviorDispenseItem; @@ -20,9 +21,8 @@ import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; import common.rng.Random; import common.tileentity.TileEntity; import common.tileentity.TileEntityDispenser; @@ -33,9 +33,8 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockDispenser extends BlockContainer +public class BlockDispenser extends BlockContainer implements Directional { - public static final PropertyDirection FACING = PropertyDirection.create("facing"); public static final PropertyBool TRIGGERED = PropertyBool.create("triggered"); public static final RegistryDefaulted dispenseBehaviorRegistry = new RegistryDefaulted(new BehaviorDefaultDispenseItem()); protected Random rand = new Random(); @@ -301,9 +300,9 @@ public class BlockDispenser extends BlockContainer return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, TRIGGERED}; + return new Property[] {FACING, TRIGGERED}; } public boolean isMagnetic() { @@ -319,7 +318,7 @@ public class BlockDispenser extends BlockContainer .s("furnace_side").we("furnace_side").rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {TRIGGERED}; + public Property[] getIgnoredProperties() { + return new Property[] {TRIGGERED}; } } diff --git a/common/src/main/java/common/block/tech/BlockFurnace.java b/common/src/main/java/common/block/tech/BlockFurnace.java index 4a3d9fae..e4eaf1e1 100755 --- a/common/src/main/java/common/block/tech/BlockFurnace.java +++ b/common/src/main/java/common/block/tech/BlockFurnace.java @@ -2,6 +2,7 @@ package common.block.tech; import common.block.Block; import common.block.BlockContainer; +import common.block.Rotatable; import common.block.Material; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; @@ -15,8 +16,7 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.ParticleType; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.rng.Random; import common.tileentity.TileEntity; import common.tileentity.TileEntityFurnace; @@ -27,9 +27,8 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockFurnace extends BlockContainer +public class BlockFurnace extends BlockContainer implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); private final boolean isBurning; private static boolean keepInventory; @@ -271,9 +270,9 @@ public class BlockFurnace extends BlockContainer return ((Facing)state.getValue(FACING)).getIndex(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING}; + return new Property[] {FACING}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/tech/BlockHopper.java b/common/src/main/java/common/block/tech/BlockHopper.java index 524a7996..fc9f09b8 100755 --- a/common/src/main/java/common/block/tech/BlockHopper.java +++ b/common/src/main/java/common/block/tech/BlockHopper.java @@ -1,10 +1,9 @@ package common.block.tech; import java.util.List; -import java.util.function.Predicate; - import common.block.Block; import common.block.BlockContainer; +import common.block.DirectionalDown; import common.block.Material; import common.entity.Entity; import common.entity.npc.EntityNPC; @@ -17,9 +16,8 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; import common.tileentity.TileEntity; import common.tileentity.TileEntityHopper; import common.util.BlockPos; @@ -30,7 +28,7 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockHopper extends BlockContainer +public class BlockHopper extends BlockContainer implements DirectionalDown { private static final Model hopper_down = ModelProvider.getModelProvider().getModel("hopper_outside") .add(0, 10, 0, 16, 11, 16) @@ -84,13 +82,6 @@ public class BlockHopper extends BlockContainer .e().uv(6, 12, 10, 16).noCull() ; - public static final PropertyDirection FACING = PropertyDirection.create("facing", new Predicate() - { - public boolean test(Facing p_apply_1_) - { - return p_apply_1_ != Facing.UP; - } - }); public static final PropertyBool ENABLED = PropertyBool.create("enabled"); public BlockHopper() @@ -302,9 +293,9 @@ public class BlockHopper extends BlockContainer return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, ENABLED}; + return new Property[] {FACING, ENABLED}; } public boolean isMagnetic() { @@ -365,7 +356,7 @@ public class BlockHopper extends BlockContainer .rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {ENABLED}; + public Property[] getIgnoredProperties() { + return new Property[] {ENABLED}; } } diff --git a/common/src/main/java/common/block/tech/BlockLever.java b/common/src/main/java/common/block/tech/BlockLever.java index 6e5e2769..91e80f11 100755 --- a/common/src/main/java/common/block/tech/BlockLever.java +++ b/common/src/main/java/common/block/tech/BlockLever.java @@ -9,7 +9,7 @@ import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.properties.PropertyEnum; import common.util.BlockPos; @@ -270,9 +270,9 @@ public class BlockLever extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, POWERED}; + return new Property[] {FACING, POWERED}; } private static ModelRotation getRotation(EnumOrientation face) { diff --git a/common/src/main/java/common/block/tech/BlockMachine.java b/common/src/main/java/common/block/tech/BlockMachine.java index efdf9c30..d8b85231 100755 --- a/common/src/main/java/common/block/tech/BlockMachine.java +++ b/common/src/main/java/common/block/tech/BlockMachine.java @@ -1,7 +1,7 @@ package common.block.tech; import common.block.Block; -import common.block.BlockDirectional; +import common.block.Rotatable; import common.block.ITileEntityProvider; import common.block.Material; import common.entity.npc.EntityNPC; @@ -9,7 +9,7 @@ import common.entity.types.EntityLiving; import common.inventory.Container; import common.inventory.InventoryHelper; import common.item.CheatTab; -import common.properties.IProperty; +import common.properties.Property; import common.tileentity.TileEntity; import common.tileentity.TileEntityDevice; import common.util.BlockPos; @@ -18,7 +18,7 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public abstract class BlockMachine extends BlockDirectional implements ITileEntityProvider { +public abstract class BlockMachine extends Block implements Rotatable, ITileEntityProvider { public BlockMachine() { super(Material.SOLID); this.hasTile = true; @@ -94,8 +94,8 @@ public abstract class BlockMachine extends BlockDirectional implements ITileEnti return ((Facing)state.getValue(FACING)).getHorizontalIndex(); } - protected IProperty[] getProperties() { - return new IProperty[] {FACING}; + protected Property[] getProperties() { + return new Property[] {FACING}; } public boolean isMagnetic() { diff --git a/common/src/main/java/common/block/tech/BlockPistonBase.java b/common/src/main/java/common/block/tech/BlockPistonBase.java index cc6a0615..22a1c820 100755 --- a/common/src/main/java/common/block/tech/BlockPistonBase.java +++ b/common/src/main/java/common/block/tech/BlockPistonBase.java @@ -3,6 +3,7 @@ package common.block.tech; import java.util.List; import common.block.Block; +import common.block.Directional; import common.block.ITileEntityProvider; import common.block.Material; import common.block.SoundType; @@ -16,9 +17,9 @@ import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; +import common.properties.PropertyEnum; import common.tileentity.TileEntity; import common.tileentity.TileEntityPiston; import common.util.BlockPos; @@ -31,7 +32,7 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockPistonBase extends Block +public class BlockPistonBase extends Block implements Directional { private static class BlockPistonStructureHelper { @@ -246,7 +247,6 @@ public class BlockPistonBase extends Block } } - public static final PropertyDirection FACING = PropertyDirection.create("facing"); public static final PropertyBool EXTENDED = PropertyBool.create("extended"); /** This piston is the sticky one? */ @@ -703,9 +703,9 @@ public class BlockPistonBase extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, EXTENDED}; + return new Property[] {FACING, EXTENDED}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/tech/BlockPistonHead.java b/common/src/main/java/common/block/tech/BlockPistonHead.java index 21aa5e21..0306e530 100755 --- a/common/src/main/java/common/block/tech/BlockPistonHead.java +++ b/common/src/main/java/common/block/tech/BlockPistonHead.java @@ -3,6 +3,7 @@ package common.block.tech; import java.util.List; import common.block.Block; +import common.block.Directional; import common.block.Material; import common.block.SoundType; import common.entity.Entity; @@ -12,9 +13,8 @@ import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; import common.properties.PropertyEnum; import common.rng.Random; import common.util.BlockPos; @@ -26,9 +26,8 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockPistonHead extends Block +public class BlockPistonHead extends Block implements Directional { - public static final PropertyDirection FACING = PropertyDirection.create("facing"); public static final PropertyEnum TYPE = PropertyEnum.create("type", BlockPistonHead.EnumPistonType.class); public static final PropertyBool SHORT = PropertyBool.create("short"); @@ -255,9 +254,9 @@ public class BlockPistonHead extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, TYPE, SHORT}; + return new Property[] {FACING, TYPE, SHORT}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/tech/BlockPistonMoving.java b/common/src/main/java/common/block/tech/BlockPistonMoving.java index 666061d9..3b7b4ccf 100755 --- a/common/src/main/java/common/block/tech/BlockPistonMoving.java +++ b/common/src/main/java/common/block/tech/BlockPistonMoving.java @@ -6,8 +6,7 @@ import common.block.Material; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.item.Item; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; import common.tileentity.TileEntity; @@ -24,7 +23,7 @@ import common.world.AWorldServer; public class BlockPistonMoving extends BlockContainer { - public static final PropertyDirection FACING = BlockPistonHead.FACING; + public static final PropertyEnum FACING = BlockPistonHead.FACING; public static final PropertyEnum TYPE = BlockPistonHead.TYPE; public BlockPistonMoving() @@ -307,8 +306,8 @@ public class BlockPistonMoving extends BlockContainer return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, TYPE}; + return new Property[] {FACING, TYPE}; } } diff --git a/common/src/main/java/common/block/tech/BlockPressurePlate.java b/common/src/main/java/common/block/tech/BlockPressurePlate.java index b17b4b07..338cbbab 100755 --- a/common/src/main/java/common/block/tech/BlockPressurePlate.java +++ b/common/src/main/java/common/block/tech/BlockPressurePlate.java @@ -5,7 +5,7 @@ import java.util.List; import common.block.Material; import common.entity.Entity; import common.entity.types.EntityLiving; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.util.BlockPos; import common.util.BoundingBox; @@ -83,9 +83,9 @@ public class BlockPressurePlate extends BlockBasePressurePlate return ((Boolean)state.getValue(POWERED)).booleanValue() ? 1 : 0; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {POWERED}; + return new Property[] {POWERED}; } public String getTexture() { diff --git a/common/src/main/java/common/block/tech/BlockPressurePlateWeighted.java b/common/src/main/java/common/block/tech/BlockPressurePlateWeighted.java index eeac2ec3..375fd766 100755 --- a/common/src/main/java/common/block/tech/BlockPressurePlateWeighted.java +++ b/common/src/main/java/common/block/tech/BlockPressurePlateWeighted.java @@ -2,7 +2,7 @@ package common.block.tech; import common.block.Material; import common.entity.Entity; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.util.BlockPos; import common.util.ExtMath; @@ -70,9 +70,9 @@ public class BlockPressurePlateWeighted extends BlockBasePressurePlate return ((Integer)state.getValue(POWER)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {POWER}; + return new Property[] {POWER}; } public boolean isMagnetic() { diff --git a/common/src/main/java/common/block/tech/BlockRail.java b/common/src/main/java/common/block/tech/BlockRail.java index de178aa1..bdfa0aae 100755 --- a/common/src/main/java/common/block/tech/BlockRail.java +++ b/common/src/main/java/common/block/tech/BlockRail.java @@ -1,7 +1,7 @@ package common.block.tech; import common.block.Block; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.util.BlockPos; import common.world.State; @@ -25,7 +25,7 @@ public class BlockRail extends BlockRailBase } } - public IProperty getShapeProperty() + public Property getShapeProperty() { return SHAPE; } @@ -46,8 +46,8 @@ public class BlockRail extends BlockRailBase return ((BlockRailBase.EnumRailDirection)state.getValue(SHAPE)).getMetadata(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {SHAPE}; + return new Property[] {SHAPE}; } } diff --git a/common/src/main/java/common/block/tech/BlockRailBase.java b/common/src/main/java/common/block/tech/BlockRailBase.java index df3e43c7..0cd20bd4 100755 --- a/common/src/main/java/common/block/tech/BlockRailBase.java +++ b/common/src/main/java/common/block/tech/BlockRailBase.java @@ -11,7 +11,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; import common.util.Facing; @@ -227,7 +227,7 @@ public abstract class BlockRailBase extends Block } } - public abstract IProperty getShapeProperty(); + public abstract Property getShapeProperty(); public static enum EnumRailDirection implements Identifyable { diff --git a/common/src/main/java/common/block/tech/BlockRailDetector.java b/common/src/main/java/common/block/tech/BlockRailDetector.java index 330cc6ce..7a3a59d0 100755 --- a/common/src/main/java/common/block/tech/BlockRailDetector.java +++ b/common/src/main/java/common/block/tech/BlockRailDetector.java @@ -9,7 +9,7 @@ import common.inventory.Container; import common.inventory.IInventory; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.properties.PropertyEnum; import common.rng.Random; @@ -23,20 +23,13 @@ import common.world.AWorldServer; public class BlockRailDetector extends BlockRailBase { - public static final PropertyEnum SHAPE = PropertyEnum.create("shape", BlockRailBase.EnumRailDirection.class, new Predicate() - { - public boolean test(BlockRailBase.EnumRailDirection p_apply_1_) - { - return p_apply_1_ != BlockRailBase.EnumRailDirection.NORTH_EAST && p_apply_1_ != BlockRailBase.EnumRailDirection.NORTH_WEST && p_apply_1_ != BlockRailBase.EnumRailDirection.SOUTH_EAST && p_apply_1_ != BlockRailBase.EnumRailDirection.SOUTH_WEST; - } - }); + public static final PropertyEnum SHAPE = PropertyEnum.create("shape", EnumRailDirection.class, EnumRailDirection.NORTH_SOUTH, EnumRailDirection.EAST_WEST, EnumRailDirection.ASCENDING_EAST, EnumRailDirection.ASCENDING_WEST, EnumRailDirection.ASCENDING_NORTH, EnumRailDirection.ASCENDING_SOUTH); public static final PropertyBool POWERED = PropertyBool.create("powered"); public BlockRailDetector() { super(true); this.setDefaultState(this.getBaseState().withProperty(POWERED, Boolean.valueOf(false)).withProperty(SHAPE, BlockRailBase.EnumRailDirection.NORTH_SOUTH)); -// this.setTickRandomly(true); } /** @@ -135,7 +128,7 @@ public class BlockRailDetector extends BlockRailBase this.updatePoweredState(worldIn, pos, state); } - public IProperty getShapeProperty() + public Property getShapeProperty() { return SHAPE; } @@ -207,9 +200,9 @@ public class BlockRailDetector extends BlockRailBase return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {SHAPE, POWERED}; + return new Property[] {SHAPE, POWERED}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/tech/BlockRailPowered.java b/common/src/main/java/common/block/tech/BlockRailPowered.java index 727800b7..72fa440d 100755 --- a/common/src/main/java/common/block/tech/BlockRailPowered.java +++ b/common/src/main/java/common/block/tech/BlockRailPowered.java @@ -1,11 +1,9 @@ package common.block.tech; -import java.util.function.Predicate; - import common.block.Block; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.properties.PropertyEnum; import common.util.BlockPos; @@ -14,13 +12,7 @@ import common.world.World; public class BlockRailPowered extends BlockRailBase { - public static final PropertyEnum SHAPE = PropertyEnum.create("shape", BlockRailBase.EnumRailDirection.class, new Predicate() - { - public boolean test(BlockRailBase.EnumRailDirection p_apply_1_) - { - return p_apply_1_ != BlockRailBase.EnumRailDirection.NORTH_EAST && p_apply_1_ != BlockRailBase.EnumRailDirection.NORTH_WEST && p_apply_1_ != BlockRailBase.EnumRailDirection.SOUTH_EAST && p_apply_1_ != BlockRailBase.EnumRailDirection.SOUTH_WEST; - } - }); + public static final PropertyEnum SHAPE = PropertyEnum.create("shape", EnumRailDirection.class, EnumRailDirection.NORTH_SOUTH, EnumRailDirection.EAST_WEST, EnumRailDirection.ASCENDING_EAST, EnumRailDirection.ASCENDING_WEST, EnumRailDirection.ASCENDING_NORTH, EnumRailDirection.ASCENDING_SOUTH); public static final PropertyBool POWERED = PropertyBool.create("powered"); public BlockRailPowered() @@ -166,7 +158,7 @@ public class BlockRailPowered extends BlockRailBase } } - public IProperty getShapeProperty() + public Property getShapeProperty() { return SHAPE; } @@ -195,9 +187,9 @@ public class BlockRailPowered extends BlockRailBase return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {SHAPE, POWERED}; + return new Property[] {SHAPE, POWERED}; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/tech/BlockRedstoneComparator.java b/common/src/main/java/common/block/tech/BlockRedstoneComparator.java index 635d9f47..3507eddf 100755 --- a/common/src/main/java/common/block/tech/BlockRedstoneComparator.java +++ b/common/src/main/java/common/block/tech/BlockRedstoneComparator.java @@ -11,7 +11,7 @@ import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.properties.PropertyEnum; import common.rng.Random; @@ -301,9 +301,9 @@ public class BlockRedstoneComparator extends BlockRedstoneDiode implements ITile return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, MODE, POWERED}; + return new Property[] {FACING, MODE, POWERED}; } /** diff --git a/common/src/main/java/common/block/tech/BlockRedstoneDiode.java b/common/src/main/java/common/block/tech/BlockRedstoneDiode.java index 5c61033d..a86e845c 100755 --- a/common/src/main/java/common/block/tech/BlockRedstoneDiode.java +++ b/common/src/main/java/common/block/tech/BlockRedstoneDiode.java @@ -1,7 +1,7 @@ package common.block.tech; import common.block.Block; -import common.block.BlockDirectional; +import common.block.Rotatable; import common.block.Material; import common.entity.types.EntityLiving; import common.init.Blocks; @@ -15,7 +15,7 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public abstract class BlockRedstoneDiode extends BlockDirectional +public abstract class BlockRedstoneDiode extends Block implements Rotatable { /** Tells whether the repeater is powered or not */ protected final boolean isRepeaterPowered; diff --git a/common/src/main/java/common/block/tech/BlockRedstoneRepeater.java b/common/src/main/java/common/block/tech/BlockRedstoneRepeater.java index 07499f25..b87d1a9d 100755 --- a/common/src/main/java/common/block/tech/BlockRedstoneRepeater.java +++ b/common/src/main/java/common/block/tech/BlockRedstoneRepeater.java @@ -9,7 +9,7 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.ParticleType; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.properties.PropertyInteger; import common.rng.Random; @@ -153,9 +153,9 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, DELAY, LOCKED}; + return new Property[] {FACING, DELAY, LOCKED}; } private static Model getModelOff(int delay) { diff --git a/common/src/main/java/common/block/tech/BlockRedstoneWire.java b/common/src/main/java/common/block/tech/BlockRedstoneWire.java index 514b546a..e29e5067 100755 --- a/common/src/main/java/common/block/tech/BlockRedstoneWire.java +++ b/common/src/main/java/common/block/tech/BlockRedstoneWire.java @@ -16,7 +16,7 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.ParticleType; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyEnum; import common.properties.PropertyInteger; import common.rng.Random; @@ -817,9 +817,9 @@ public class BlockRedstoneWire extends Block return ((Integer)state.getValue(POWER)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {NORTH, EAST, SOUTH, WEST, POWER}; + return new Property[] {NORTH, EAST, SOUTH, WEST, POWER}; } public boolean isMagnetic() { @@ -1023,8 +1023,8 @@ public class BlockRedstoneWire extends Block return redstone_none; } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {POWER}; + public Property[] getIgnoredProperties() { + return new Property[] {POWER}; } static enum EnumAttachPosition implements Identifyable diff --git a/common/src/main/java/common/block/tech/BlockTNT.java b/common/src/main/java/common/block/tech/BlockTNT.java index ff66f616..6cbe58f9 100755 --- a/common/src/main/java/common/block/tech/BlockTNT.java +++ b/common/src/main/java/common/block/tech/BlockTNT.java @@ -13,7 +13,7 @@ import common.item.CheatTab; import common.item.Item; import common.model.Model; import common.model.ModelProvider; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.util.BlockPos; import common.util.Facing; @@ -165,9 +165,9 @@ public class BlockTNT extends Block return ((Boolean)state.getValue(EXPLODE)).booleanValue() ? 1 : 0; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {EXPLODE}; + return new Property[] {EXPLODE}; } public boolean isXrayVisible() @@ -180,8 +180,8 @@ public class BlockTNT extends Block return provider.getModel("tnt_side" + power).add().nswe().d("tnt_bottom" + power).u("tnt_top" + power); } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {EXPLODE}; + public Property[] getIgnoredProperties() { + return new Property[] {EXPLODE}; } public void onDestroyedByFire(World world, BlockPos pos, State state) { diff --git a/common/src/main/java/common/block/tech/BlockTorch.java b/common/src/main/java/common/block/tech/BlockTorch.java index 91d82e4b..96ea77fe 100755 --- a/common/src/main/java/common/block/tech/BlockTorch.java +++ b/common/src/main/java/common/block/tech/BlockTorch.java @@ -1,9 +1,7 @@ package common.block.tech; -import java.util.function.Predicate; - import common.block.Block; -import common.block.BlockDirectional; +import common.block.DirectionalUp; import common.block.Material; import common.block.artificial.BlockFence; import common.entity.types.EntityLiving; @@ -14,8 +12,7 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.ParticleType; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; @@ -27,16 +24,8 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockTorch extends Block +public class BlockTorch extends Block implements DirectionalUp { - public static final PropertyDirection FACING = PropertyDirection.create("facing", new Predicate() - { - public boolean test(Facing p_apply_1_) - { - return p_apply_1_ != Facing.DOWN; - } - }); - private static boolean isBlockNormalCube(World world, BlockPos pos, boolean def) { if(!World.isValid(pos) || (world.client && !world.isBlockLoaded(pos, false))) return def; @@ -85,7 +74,7 @@ public class BlockTorch extends Block public boolean canPlaceBlockAt(World worldIn, BlockPos pos) { - for (Facing enumfacing : FACING.getAllowedValues()) + for (Facing enumfacing : FACING.getStates()) { if (this.canPlaceAt(worldIn, pos, enumfacing)) { @@ -320,9 +309,9 @@ public class BlockTorch extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING}; + return new Property[] {FACING}; } public Model getModel(ModelProvider provider, String name, State state) { @@ -348,6 +337,6 @@ public class BlockTorch extends Block .add(-8, 3.5f, 7, 8, 19.5f, 9).noShade().rotate(0, 3.5f, 8, Facing.Axis.Z, -22.5f, false) .n().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull() - .rotate(ModelRotation.getEastRot(state.getValue(BlockDirectional.FACING), false)); + .rotate(ModelRotation.getEastRot(state.getValue(FACING), false)); } } diff --git a/common/src/main/java/common/block/tech/BlockTripWire.java b/common/src/main/java/common/block/tech/BlockTripWire.java index 8ed734df..f3b0f707 100755 --- a/common/src/main/java/common/block/tech/BlockTripWire.java +++ b/common/src/main/java/common/block/tech/BlockTripWire.java @@ -14,7 +14,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; @@ -300,9 +300,9 @@ public class BlockTripWire extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {POWERED, SUSPENDED, ATTACHED, DISARMED, NORTH, EAST, WEST, SOUTH}; + return new Property[] {POWERED, SUSPENDED, ATTACHED, DISARMED, NORTH, EAST, WEST, SOUTH}; } private static Model getModelDetached(boolean n, boolean s, boolean w, boolean e, int sides) { @@ -693,7 +693,7 @@ public class BlockTripWire extends Block getModelDetached(n, s, w, e, sides))); } - public IProperty[] getIgnoredProperties() { - return new IProperty[] {DISARMED, POWERED}; + public Property[] getIgnoredProperties() { + return new Property[] {DISARMED, POWERED}; } } diff --git a/common/src/main/java/common/block/tech/BlockTripWireHook.java b/common/src/main/java/common/block/tech/BlockTripWireHook.java index 95cb387b..78214f4f 100755 --- a/common/src/main/java/common/block/tech/BlockTripWireHook.java +++ b/common/src/main/java/common/block/tech/BlockTripWireHook.java @@ -1,6 +1,7 @@ package common.block.tech; import common.block.Block; +import common.block.Rotatable; import common.block.Material; import common.entity.types.EntityLiving; import common.init.Blocks; @@ -11,9 +12,8 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyBool; -import common.properties.PropertyDirection; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; @@ -23,9 +23,8 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockTripWireHook extends Block +public class BlockTripWireHook extends Block implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); public static final PropertyBool POWERED = PropertyBool.create("powered"); public static final PropertyBool ATTACHED = PropertyBool.create("attached"); public static final PropertyBool SUSPENDED = PropertyBool.create("suspended"); @@ -370,9 +369,9 @@ public class BlockTripWireHook extends Block return i; } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING, POWERED, ATTACHED, SUSPENDED}; + return new Property[] {FACING, POWERED, ATTACHED, SUSPENDED}; } public boolean isMagnetic() { diff --git a/common/src/main/java/common/block/tech/BlockWarpChest.java b/common/src/main/java/common/block/tech/BlockWarpChest.java index e1cfa54b..06e75f30 100755 --- a/common/src/main/java/common/block/tech/BlockWarpChest.java +++ b/common/src/main/java/common/block/tech/BlockWarpChest.java @@ -1,6 +1,7 @@ package common.block.tech; import common.block.Block; +import common.block.Rotatable; import common.block.Material; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; @@ -14,8 +15,7 @@ import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; import common.model.ParticleType; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.rng.Random; import common.util.BlockPos; import common.util.Facing; @@ -23,10 +23,8 @@ import common.world.AWorldClient; import common.world.State; import common.world.World; -public class BlockWarpChest extends Block +public class BlockWarpChest extends Block implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); - public BlockWarpChest() { super(Material.SOLID); @@ -157,9 +155,9 @@ public class BlockWarpChest extends Block return ((Facing)state.getValue(FACING)).getIndex(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING}; + return new Property[] {FACING}; } public boolean isXrayVisible() diff --git a/common/src/main/java/common/block/tile/BlockBanner.java b/common/src/main/java/common/block/tile/BlockBanner.java index dccbdd89..328c226c 100755 --- a/common/src/main/java/common/block/tile/BlockBanner.java +++ b/common/src/main/java/common/block/tile/BlockBanner.java @@ -1,13 +1,13 @@ package common.block.tile; import common.block.BlockContainer; +import common.block.Rotatable; import common.block.Material; import common.entity.npc.EntityNPC; import common.init.Items; import common.item.Item; import common.item.ItemStack; import common.model.Transforms; -import common.properties.PropertyDirection; import common.properties.PropertyInteger; import common.rng.Random; import common.tags.TagObject; @@ -15,14 +15,12 @@ import common.tileentity.TileEntity; import common.tileentity.TileEntityBanner; import common.util.BlockPos; import common.util.BoundingBox; -import common.util.Facing; import common.world.IBlockAccess; import common.world.State; import common.world.World; -public class BlockBanner extends BlockContainer +public class BlockBanner extends BlockContainer implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); public static final PropertyInteger ROTATION = PropertyInteger.create("rotation", 0, 15); public BlockBanner() diff --git a/common/src/main/java/common/block/tile/BlockBannerHanging.java b/common/src/main/java/common/block/tile/BlockBannerHanging.java index 1d54303d..4e380b7d 100644 --- a/common/src/main/java/common/block/tile/BlockBannerHanging.java +++ b/common/src/main/java/common/block/tile/BlockBannerHanging.java @@ -1,7 +1,7 @@ package common.block.tile; import common.block.Block; -import common.properties.IProperty; +import common.properties.Property; import common.util.BlockPos; import common.util.Facing; import common.world.IWorldAccess; @@ -75,8 +75,8 @@ public class BlockBannerHanging extends BlockBanner return ((Facing)state.getValue(FACING)).getIndex(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING}; + return new Property[] {FACING}; } } \ No newline at end of file diff --git a/common/src/main/java/common/block/tile/BlockBannerStanding.java b/common/src/main/java/common/block/tile/BlockBannerStanding.java index 9a6e28c6..c19ea518 100644 --- a/common/src/main/java/common/block/tile/BlockBannerStanding.java +++ b/common/src/main/java/common/block/tile/BlockBannerStanding.java @@ -1,7 +1,7 @@ package common.block.tile; import common.block.Block; -import common.properties.IProperty; +import common.properties.Property; import common.util.BlockPos; import common.world.State; import common.world.World; @@ -34,8 +34,8 @@ public class BlockBannerStanding extends BlockBanner return ((Integer)state.getValue(ROTATION)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {ROTATION}; + return new Property[] {ROTATION}; } } \ No newline at end of file diff --git a/common/src/main/java/common/block/tile/BlockStandingSign.java b/common/src/main/java/common/block/tile/BlockStandingSign.java index f6a616a2..d80ee07e 100755 --- a/common/src/main/java/common/block/tile/BlockStandingSign.java +++ b/common/src/main/java/common/block/tile/BlockStandingSign.java @@ -1,7 +1,7 @@ package common.block.tile; import common.block.Block; -import common.properties.IProperty; +import common.properties.Property; import common.properties.PropertyInteger; import common.util.BlockPos; import common.world.State; @@ -46,8 +46,8 @@ public class BlockStandingSign extends BlockSign return ((Integer)state.getValue(ROTATION)).intValue(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {ROTATION}; + return new Property[] {ROTATION}; } } diff --git a/common/src/main/java/common/block/tile/BlockWallSign.java b/common/src/main/java/common/block/tile/BlockWallSign.java index b390bd6b..77dd5eb8 100755 --- a/common/src/main/java/common/block/tile/BlockWallSign.java +++ b/common/src/main/java/common/block/tile/BlockWallSign.java @@ -1,18 +1,16 @@ package common.block.tile; import common.block.Block; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.block.Rotatable; +import common.properties.Property; import common.util.BlockPos; import common.util.Facing; import common.world.IWorldAccess; import common.world.State; import common.world.World; -public class BlockWallSign extends BlockSign +public class BlockWallSign extends BlockSign implements Rotatable { - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); - public BlockWallSign() { this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH)); @@ -87,8 +85,8 @@ public class BlockWallSign extends BlockSign return ((Facing)state.getValue(FACING)).getIndex(); } - protected IProperty[] getProperties() + protected Property[] getProperties() { - return new IProperty[] {FACING}; + return new Property[] {FACING}; } } diff --git a/common/src/main/java/common/item/ItemLilyPad.java b/common/src/main/java/common/item/ItemLilyPad.java index 945884fb..1650934e 100755 --- a/common/src/main/java/common/item/ItemLilyPad.java +++ b/common/src/main/java/common/item/ItemLilyPad.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockDirectional; +import common.block.foliage.BlockLilyPad; import common.block.liquid.BlockLiquid; import common.entity.npc.EntityNPC; import common.init.Blocks; @@ -46,7 +46,7 @@ public class ItemLilyPad extends ItemColored if (iblockstate.getBlock().getMaterial().isColdLiquid() && ((Integer)iblockstate.getValue(BlockLiquid.LEVEL)).intValue() == 0 && worldIn.isAirBlock(blockpos1)) { - worldIn.setState(blockpos1, Blocks.waterlily.getState().withProperty(BlockDirectional.FACING, playerIn.getHorizontalFacing().getOpposite())); + worldIn.setState(blockpos1, Blocks.waterlily.getState().withProperty(BlockLilyPad.FACING, playerIn.getHorizontalFacing().getOpposite())); // if (!playerIn.creative) // { diff --git a/common/src/main/java/common/properties/IProperty.java b/common/src/main/java/common/properties/IProperty.java deleted file mode 100755 index af1e3889..00000000 --- a/common/src/main/java/common/properties/IProperty.java +++ /dev/null @@ -1,17 +0,0 @@ -package common.properties; - -import java.util.Collection; - -public interface IProperty> -{ - String getName(); - - Collection getAllowedValues(); - - Class getValueClass(); - - /** - * Get the name for the given value. - */ - String getName(T value); -} diff --git a/common/src/main/java/common/properties/Property.java b/common/src/main/java/common/properties/Property.java new file mode 100755 index 00000000..3331a098 --- /dev/null +++ b/common/src/main/java/common/properties/Property.java @@ -0,0 +1,38 @@ +package common.properties; + +import java.util.Collection; + +public abstract class Property> { + private final Class type; + private final String name; + + protected Property(String name, Class type) { + this.type = type; + this.name = name; + } + + public String getName() { + return this.name; + } + + public Class getType() { + return this.type; + } + + public abstract Collection getStates(); + public abstract String getName(T value); + + public boolean equals(Object obj) { + if(this == obj) + return true; + if(obj != null && this.getClass() == obj.getClass()) { + Property other = (Property)obj; + return this.type.equals(other.type) && this.name.equals(other.name); + } + return false; + } + + public int hashCode() { + return 31 * this.type.hashCode() + this.name.hashCode(); + } +} diff --git a/common/src/main/java/common/properties/PropertyBool.java b/common/src/main/java/common/properties/PropertyBool.java index 2db7c379..66c7599b 100755 --- a/common/src/main/java/common/properties/PropertyBool.java +++ b/common/src/main/java/common/properties/PropertyBool.java @@ -4,30 +4,22 @@ import java.util.Collection; import common.collect.ImmutableSet; -public class PropertyBool extends PropertyHelper -{ - private final ImmutableSet allowedValues = ImmutableSet.of(Boolean.valueOf(true), Boolean.valueOf(false)); +public class PropertyBool extends Property { + private final ImmutableSet bools = ImmutableSet.of(true, false); - protected PropertyBool(String name) - { - super(name, Boolean.class); - } + public static PropertyBool create(String name) { + return new PropertyBool(name); + } - public Collection getAllowedValues() - { - return this.allowedValues; - } + private PropertyBool(String name) { + super(name, Boolean.class); + } - public static PropertyBool create(String name) - { - return new PropertyBool(name); - } + public Collection getStates() { + return this.bools; + } - /** - * Get the name for the given value. - */ - public String getName(Boolean value) - { - return value.toString(); - } + public String getName(Boolean value) { + return value.toString(); + } } diff --git a/common/src/main/java/common/properties/PropertyDirection.java b/common/src/main/java/common/properties/PropertyDirection.java deleted file mode 100755 index 88ba891f..00000000 --- a/common/src/main/java/common/properties/PropertyDirection.java +++ /dev/null @@ -1,41 +0,0 @@ -package common.properties; - -import java.util.Collection; -import java.util.function.Predicate; - -import common.collect.Filter; -import common.collect.Lists; -import common.util.Facing; -import common.util.Predicates; - -public class PropertyDirection extends PropertyEnum -{ - protected PropertyDirection(String name, Collection values) - { - super(name, Facing.class, values); - } - - /** - * Create a new PropertyDirection with the given name - */ - public static PropertyDirection create(String name) - { - return create(name, Predicates.alwaysTrue()); - } - - /** - * Create a new PropertyDirection with all directions that match the given Predicate - */ - public static PropertyDirection create(String name, Predicate filter) - { - return create(name, Filter.filter(Lists.newArrayList(Facing.values()), filter)); - } - - /** - * Create a new PropertyDirection for the given direction values - */ - public static PropertyDirection create(String name, Collection values) - { - return new PropertyDirection(name, values); - } -} diff --git a/common/src/main/java/common/properties/PropertyEnum.java b/common/src/main/java/common/properties/PropertyEnum.java index eccbeeb6..76fe6e8a 100755 --- a/common/src/main/java/common/properties/PropertyEnum.java +++ b/common/src/main/java/common/properties/PropertyEnum.java @@ -1,69 +1,59 @@ package common.properties; import java.util.Collection; -import java.util.Map; -import java.util.function.Predicate; +import java.util.Set; -import common.collect.Filter; import common.collect.ImmutableSet; -import common.collect.Lists; -import common.collect.Maps; +import common.collect.Sets; import common.util.Identifyable; -import common.util.Predicates; -public class PropertyEnum & Identifyable> extends PropertyHelper -{ - private final ImmutableSet allowedValues; - private final Map nameToValue = Maps.newHashMap(); +public class PropertyEnum & Identifyable> extends Property { + private final ImmutableSet states; - protected PropertyEnum(String name, Class valueClass, Collection allowedValues) - { - super(name, valueClass); - this.allowedValues = ImmutableSet.copyOf(allowedValues); + public static & Identifyable> PropertyEnum create(String name, Class clazz) { + return new PropertyEnum(name, clazz, clazz.getEnumConstants()); + } - for (T t : allowedValues) - { - String s = ((Identifyable)t).getName(); + public static & Identifyable> PropertyEnum create(String name, Class clazz, T... values) { + return new PropertyEnum(name, clazz, values); + } - if (this.nameToValue.containsKey(s)) - { - throw new IllegalArgumentException("Multiple values have the same name \'" + s + "\'"); - } + private PropertyEnum(String name, Class type, T[] states) { + super(name, type); + Set check = Sets.newHashSet(); + for(T state : states) { + String id = state.getName(); + if(check.contains(id)) + throw new IllegalArgumentException("Mehrere Werte haben den Namen '" + id + "'"); + check.add(id); + } + check.clear(); + this.states = ImmutableSet.copyOf(states); + } - this.nameToValue.put(s, t); - } - } + public Collection getStates() { + return this.states; + } - public Collection getAllowedValues() - { - return this.allowedValues; - } + public String getName(T value) { + return value.getName(); + } - /** - * Get the name for the given value. - */ - public String getName(T value) - { - return ((Identifyable)value).getName(); - } + public boolean equals(Object obj) { + if(this == obj) + return true; + if(obj != null && this.getClass() == obj.getClass()) { + if(!super.equals(obj)) + return false; + PropertyEnum other = (PropertyEnum)obj; + return this.states.equals(other.states); + } + return false; + } - public static & Identifyable> PropertyEnum create(String name, Class clazz) - { - return create(name, clazz, Predicates.alwaysTrue()); - } - - public static & Identifyable> PropertyEnum create(String name, Class clazz, Predicate filter) - { - return create(name, clazz, Filter.filter(Lists.newArrayList(clazz.getEnumConstants()), filter)); - } - - public static & Identifyable> PropertyEnum create(String name, Class clazz, T... values) - { - return create(name, clazz, Lists.newArrayList(values)); - } - - public static & Identifyable> PropertyEnum create(String name, Class clazz, Collection values) - { - return new PropertyEnum(name, clazz, values); - } + public int hashCode() { + int i = super.hashCode(); + i = 31 * i + this.states.hashCode(); + return i; + } } diff --git a/common/src/main/java/common/properties/PropertyHelper.java b/common/src/main/java/common/properties/PropertyHelper.java deleted file mode 100755 index 671ff281..00000000 --- a/common/src/main/java/common/properties/PropertyHelper.java +++ /dev/null @@ -1,50 +0,0 @@ -package common.properties; - -public abstract class PropertyHelper> implements IProperty -{ - private final Class valueClass; - private final String name; - - protected PropertyHelper(String name, Class valueClass) - { - this.valueClass = valueClass; - this.name = name; - } - - public String getName() - { - return this.name; - } - - public Class getValueClass() - { - return this.valueClass; - } - -// public String toString() -// { -// return Objects.toStringHelper(this).add("name", this.name).add("clazz", this.valueClass).add("values", this.getAllowedValues()).toString(); -// } - - public boolean equals(Object p_equals_1_) - { - if (this == p_equals_1_) - { - return true; - } - else if (p_equals_1_ != null && this.getClass() == p_equals_1_.getClass()) - { - PropertyHelper propertyhelper = (PropertyHelper)p_equals_1_; - return this.valueClass.equals(propertyhelper.valueClass) && this.name.equals(propertyhelper.name); - } - else - { - return false; - } - } - - public int hashCode() - { - return 31 * this.valueClass.hashCode() + this.name.hashCode(); - } -} diff --git a/common/src/main/java/common/properties/PropertyInteger.java b/common/src/main/java/common/properties/PropertyInteger.java index c6bd59b0..638c9396 100755 --- a/common/src/main/java/common/properties/PropertyInteger.java +++ b/common/src/main/java/common/properties/PropertyInteger.java @@ -6,81 +6,49 @@ import java.util.Set; import common.collect.ImmutableSet; import common.collect.Sets; -public class PropertyInteger extends PropertyHelper -{ - private final ImmutableSet allowedValues; +public class PropertyInteger extends Property { + private final ImmutableSet values; - protected PropertyInteger(String name, int min, int max) - { - super(name, Integer.class); + public static PropertyInteger create(String name, int min, int max) { + return new PropertyInteger(name, min, max); + } - if (min < 0) - { - throw new IllegalArgumentException("Min value of " + name + " must be 0 or greater"); - } - else if (max <= min) - { - throw new IllegalArgumentException("Max value of " + name + " must be greater than min (" + min + ")"); - } - else - { - Set set = Sets.newHashSet(); + private PropertyInteger(String name, int min, int max) { + super(name, Integer.class); + if(min < 0) + throw new IllegalArgumentException("Mindestwert von " + name + " muss 0 oder höher sein"); + else if(max <= min) + throw new IllegalArgumentException("Maximalwert von " + name + " muss größer als der Mindestwert sein (" + min + ")"); + Set set = Sets.newHashSetWithExpectedSize(1 + max - min); + for(int z = min; z <= max; z++) { + set.add(z); + } + this.values = ImmutableSet.copyOf(set); + } - for (int i = min; i <= max; ++i) - { - set.add(Integer.valueOf(i)); - } + public Collection getStates() { + return this.values; + } - this.allowedValues = ImmutableSet.copyOf(set); - } - } + public String getName(Integer value) { + return value.toString(); + } - public Collection getAllowedValues() - { - return this.allowedValues; - } + public boolean equals(Object obj) { + if(this == obj) + return true; + if(obj != null && this.getClass() == obj.getClass()) { + if(!super.equals(obj)) + return false; + PropertyInteger other = (PropertyInteger)obj; + return this.values.equals(other.values); + } + return false; + } - public boolean equals(Object p_equals_1_) - { - if (this == p_equals_1_) - { - return true; - } - else if (p_equals_1_ != null && this.getClass() == p_equals_1_.getClass()) - { - if (!super.equals(p_equals_1_)) - { - return false; - } - else - { - PropertyInteger propertyinteger = (PropertyInteger)p_equals_1_; - return this.allowedValues.equals(propertyinteger.allowedValues); - } - } - else - { - return false; - } - } - - public int hashCode() - { - int i = super.hashCode(); - i = 31 * i + this.allowedValues.hashCode(); - return i; - } - - public static PropertyInteger create(String name, int min, int max) - { - return new PropertyInteger(name, min, max); - } - - /** - * Get the name for the given value. - */ - public String getName(Integer value) - { - return value.toString(); - } + public int hashCode() { + int i = super.hashCode(); + i = 31 * i + this.values.hashCode(); + return i; + } } diff --git a/common/src/main/java/common/world/State.java b/common/src/main/java/common/world/State.java index 76772ffd..e21b785c 100755 --- a/common/src/main/java/common/world/State.java +++ b/common/src/main/java/common/world/State.java @@ -15,34 +15,34 @@ import common.collect.Maps; import common.collect.StandardTable; import common.collect.Table; import common.init.BlockRegistry; -import common.properties.IProperty; +import common.properties.Property; public class State { // private static final Joiner COMMA_JOINER = Joiner.on(','); - private static final Function, String> MAP_ENTRY_TO_STRING = - new Function, String>() { - public String apply(Entry entry) { + private static final Function, String> MAP_ENTRY_TO_STRING = + new Function, String>() { + public String apply(Entry entry) { if(entry == null) { return ""; } else { - IProperty prop = entry.getKey(); + Property prop = entry.getKey(); return prop.getName() + "=" + prop.getName(entry.getValue()); } } }; private final Block block; - private final ImmutableMap properties; - private ImmutableTable map; + private final ImmutableMap properties; + private ImmutableTable map; - public State(Block block, ImmutableMap properties) { + public State(Block block, ImmutableMap properties) { this.block = block; this.properties = properties; } - public > State cycleProperty(IProperty property) { - Collection values = property.getAllowedValues(); + public > State cycleProperty(Property property) { + Collection values = property.getStates(); T value = this.getValue(property); Iterator iter = values.iterator(); while(iter.hasNext()) { @@ -55,24 +55,24 @@ public class State { return this.withProperty(property, (T)iter.next()); } - public Collection getPropertyNames() { - return Collections.unmodifiableCollection(this.properties.keySet()); + public Collection getPropertyNames() { + return Collections.unmodifiableCollection(this.properties.keySet()); } - public > T getValue(IProperty property) { + public > T getValue(Property property) { if(!this.properties.containsKey(property)) { throw new IllegalArgumentException("Cannot get property " + property + " as it does not exist in " + this.block); } else { - return (T)((Comparable)property.getValueClass().cast(this.properties.get(property))); + return (T)((Comparable)property.getType().cast(this.properties.get(property))); } } - public , V extends T> State withProperty(IProperty property, V value) { + public , V extends T> State withProperty(Property property, V value) { if(!this.properties.containsKey(property)) { throw new IllegalArgumentException("Cannot set property " + property + " as it does not exist in " + this.block); } - else if(!property.getAllowedValues().contains(value)) { + else if(!property.getStates().contains(value)) { throw new IllegalArgumentException("Cannot set property " + property + " to " + value + " on block " + BlockRegistry.getNameFromBlock(this.block) + ", it is not an allowed value"); } @@ -81,7 +81,7 @@ public class State { } } - public ImmutableMap getProperties() { + public ImmutableMap getProperties() { return this.properties; } @@ -117,22 +117,22 @@ public class State { return sb.toString(); } - public void buildTable(Map, State> map) { + public void buildTable(Map, State> map) { if(this.map != null) { throw new IllegalStateException(); } else { - Table table = new StandardTable(); - for(IProperty prop : this.properties.keySet()) { - for(Comparable value : prop.getAllowedValues()) { + Table table = new StandardTable(); + for(Property prop : this.properties.keySet()) { + for(Comparable value : prop.getStates()) { if(value != this.properties.get(prop)) { - Map props = Maps.newHashMap(this.properties); + Map props = Maps.newHashMap(this.properties); props.put(prop, value); table.put(prop, value, map.get(props)); } } } - this.map = ImmutableTable.copyOf(table); + this.map = ImmutableTable.copyOf(table); } } } diff --git a/server/src/main/java/server/biome/BiomeSwamp.java b/server/src/main/java/server/biome/BiomeSwamp.java index 9c3854d8..157ec583 100755 --- a/server/src/main/java/server/biome/BiomeSwamp.java +++ b/server/src/main/java/server/biome/BiomeSwamp.java @@ -1,8 +1,8 @@ package server.biome; import common.biome.Biome; -import common.block.BlockDirectional; import common.block.foliage.BlockFlower; +import common.block.foliage.BlockLilyPad; import common.entity.npc.EntitySlime; import common.init.Blocks; import common.rng.Random; @@ -60,7 +60,7 @@ public class BiomeSwamp extends GenBiome if (d0 < 0.12D) { - chunkPrimerIn.set(j, k + 1, i, Blocks.waterlily.getState().withProperty(BlockDirectional.FACING, Facing.randHorizontal(rand))); + chunkPrimerIn.set(j, k + 1, i, Blocks.waterlily.getState().withProperty(BlockLilyPad.FACING, Facing.randHorizontal(rand))); } } diff --git a/server/src/main/java/server/clipboard/RotationRegistry.java b/server/src/main/java/server/clipboard/RotationRegistry.java index eca88e88..430d5261 100755 --- a/server/src/main/java/server/clipboard/RotationRegistry.java +++ b/server/src/main/java/server/clipboard/RotationRegistry.java @@ -17,8 +17,7 @@ import common.block.tech.BlockRailDetector; import common.block.tech.BlockRailPowered; import common.collect.Lists; import common.collect.Maps; -import common.properties.IProperty; -import common.properties.PropertyDirection; +import common.properties.Property; import common.util.Facing; import common.util.Vec3i; import common.world.State; @@ -28,7 +27,7 @@ public abstract class RotationRegistry { public static void register() { for(Block block : common.init.BlockRegistry.REGISTRY) { - for(IProperty prop : block.getPropertyMap()) { + for(Property prop : block.getPropertyMap()) { Predicate predicate = null; if(prop == BlockDoor.FACING) { predicate = new Predicate() { @@ -48,7 +47,7 @@ public abstract class RotationRegistry { } byte mask = 0; - for(Object v : prop.getAllowedValues()) { + for(Object v : prop.getStates()) { if(map.get(v) == null) { continue; } @@ -57,14 +56,14 @@ public abstract class RotationRegistry { if(mask == 0) { continue; } - for(Object v : prop.getAllowedValues()) { + for(Object v : prop.getStates()) { if(map.get(v) == null) { continue; } Vec3i dv = null; Facing.Axis axis = null; - if(prop instanceof PropertyDirection) { - dv = ((Facing)v).getDirectionVec(); + if(v instanceof Facing face) { + dv = face.getDirectionVec(); } else if(prop == BlockRotatedPillar.AXIS) { axis = ((Facing.Axis)v); diff --git a/server/src/main/java/server/world/Region.java b/server/src/main/java/server/world/Region.java index 3a005257..79b65a38 100755 --- a/server/src/main/java/server/world/Region.java +++ b/server/src/main/java/server/world/Region.java @@ -28,7 +28,7 @@ import common.init.BlockRegistry; import common.init.Blocks; import common.init.EntityRegistry; import common.log.Log; -import common.properties.IProperty; +import common.properties.Property; import common.tags.TagObject; import common.tileentity.TileEntity; import common.util.BlockPos; @@ -38,12 +38,12 @@ import common.world.BlockArray; import common.world.State; public class Region { - private static Set getSavedProperties(Block block) { - Set stored = Sets.newHashSet(); - Map map = Maps.newHashMap(); + private static Set getSavedProperties(Block block) { + Set stored = Sets.newHashSet(); + Map map = Maps.newHashMap(); for(int z = 0; z < 16; z++) { State sub = block.getStateFromMeta(z); - for(Entry entry : sub.getProperties().entrySet()) { + for(Entry entry : sub.getProperties().entrySet()) { if(map.containsKey(entry.getKey())) { if(!map.get(entry.getKey()).equals(entry.getValue())) stored.add(entry.getKey()); @@ -55,8 +55,8 @@ public class Region { } for(int z = 0; z < 16; z++) { State sub = block.getStateFromMeta(z); - Map smap = sub.getProperties(); - for(IProperty prop : map.keySet()) { + Map smap = sub.getProperties(); + for(Property prop : map.keySet()) { if(!smap.containsKey(prop)) stored.add(prop); } @@ -64,9 +64,9 @@ public class Region { return stored; } - private static String filterProperties(State state, Set stored) { + private static String filterProperties(State state, Set stored) { StringBuilder sb = new StringBuilder(BlockRegistry.getNameFromBlock(state.getBlock())); - for(Entry entry : state.getProperties().entrySet()) { + for(Entry entry : state.getProperties().entrySet()) { if(stored.contains(entry.getKey())) sb.append(',').append(entry.getKey().getName()).append('=').append(entry.getKey().getName(entry.getValue())); } @@ -81,7 +81,7 @@ public class Region { for(int z = 0; z < 4096; z++) { Block block = BlockRegistry.getBlockById(z); if(block != Blocks.air) { - Set stored = getSavedProperties(block); + Set stored = getSavedProperties(block); for(int n = 0; n < 16; n++) { State state = block.getStateFromMeta(n); String id = filterProperties(state, stored); diff --git a/server/src/main/java/server/worldgen/foliage/WorldGenWaterlily.java b/server/src/main/java/server/worldgen/foliage/WorldGenWaterlily.java index c5a78585..9cb72a80 100755 --- a/server/src/main/java/server/worldgen/foliage/WorldGenWaterlily.java +++ b/server/src/main/java/server/worldgen/foliage/WorldGenWaterlily.java @@ -1,6 +1,6 @@ package server.worldgen.foliage; -import common.block.BlockDirectional; +import common.block.foliage.BlockLilyPad; import common.init.Blocks; import common.rng.Random; import common.util.BlockPos; @@ -20,7 +20,7 @@ public class WorldGenWaterlily extends FeatureGenerator if (worldIn.isAirBlock(new BlockPos(j, k, l)) && Blocks.waterlily.canPlaceBlockAt(worldIn, new BlockPos(j, k, l))) { - worldIn.setState(new BlockPos(j, k, l), Blocks.waterlily.getState().withProperty(BlockDirectional.FACING, Facing.randHorizontal(rand)), 2); + worldIn.setState(new BlockPos(j, k, l), Blocks.waterlily.getState().withProperty(BlockLilyPad.FACING, Facing.randHorizontal(rand)), 2); } } diff --git a/server/src/main/java/server/worldgen/structure/StructureComponent.java b/server/src/main/java/server/worldgen/structure/StructureComponent.java index bbc96a98..ab5ab6c8 100755 --- a/server/src/main/java/server/worldgen/structure/StructureComponent.java +++ b/server/src/main/java/server/worldgen/structure/StructureComponent.java @@ -3,7 +3,7 @@ package server.worldgen.structure; import java.util.List; import common.block.Block; -import common.block.BlockDirectional; +import common.block.Rotatable; import common.block.artificial.BlockDoor; import common.init.Blocks; import common.item.ItemDoor; @@ -415,7 +415,7 @@ public abstract class StructureComponent } } } - else if (blockIn != Blocks.tripwire_hook && !(blockIn instanceof BlockDirectional)) + else if (blockIn != Blocks.tripwire_hook && !(blockIn instanceof Rotatable)) { if (blockIn == Blocks.piston || blockIn == Blocks.sticky_piston || blockIn == Blocks.lever || blockIn == Blocks.dispenser) {