remove block metadata TEMP
This commit is contained in:
parent
30a78ad279
commit
2919d99126
20 changed files with 111 additions and 10 deletions
|
@ -158,7 +158,9 @@ public class Block {
|
||||||
}
|
}
|
||||||
|
|
||||||
private final ImmutableList<Property> properties;
|
private final ImmutableList<Property> properties;
|
||||||
|
private final ImmutableList<Property> savedProps;
|
||||||
private final ImmutableList<State> states;
|
private final ImmutableList<State> states;
|
||||||
|
private final ImmutableList<State> saved;
|
||||||
protected final Material material;
|
protected final Material material;
|
||||||
protected final boolean translucent;
|
protected final boolean translucent;
|
||||||
|
|
||||||
|
@ -253,6 +255,26 @@ public class Block {
|
||||||
return ImmutableList.copyOf(properties);
|
return ImmutableList.copyOf(properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static ImmutableList<Property> getPropertyList(Property[] properties, Property[] unsaved) {
|
||||||
|
List<Property> list = unsaved.length == 0 ? Lists.newArrayList(properties) : Lists.newArrayList();
|
||||||
|
if(unsaved.length > 0) {
|
||||||
|
for(Property prop : properties) {
|
||||||
|
for(int z = 0; z < unsaved.length; z++) {
|
||||||
|
if(unsaved[z] == prop)
|
||||||
|
break;
|
||||||
|
else if(z == unsaved.length - 1)
|
||||||
|
list.add(prop);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Collections.sort(list, new Comparator<Property>() {
|
||||||
|
public int compare(Property p1, Property p2) {
|
||||||
|
return p1.getName().compareTo(p2.getName());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return ImmutableList.copyOf(list);
|
||||||
|
}
|
||||||
|
|
||||||
private static ImmutableList<State> getStateList(List<Property> properties, Block block) {
|
private static ImmutableList<State> getStateList(List<Property> properties, Block block) {
|
||||||
Map<Map<Property, Comparable>, State> map = Maps.<Map<Property, Comparable>, State>newLinkedHashMap();
|
Map<Map<Property, Comparable>, State> map = Maps.<Map<Property, Comparable>, State>newLinkedHashMap();
|
||||||
List<State> list = Lists.<State>newArrayList();
|
List<State> list = Lists.<State>newArrayList();
|
||||||
|
@ -283,6 +305,8 @@ public class Block {
|
||||||
this.properties = getPropertyList(this.getProperties());
|
this.properties = getPropertyList(this.getProperties());
|
||||||
this.states = getStateList(this.properties, this);
|
this.states = getStateList(this.properties, this);
|
||||||
this.setDefaultState(this.getBaseState());
|
this.setDefaultState(this.getBaseState());
|
||||||
|
this.savedProps = getPropertyList(this.getProperties(), this.getUnsavedProperties());
|
||||||
|
this.saved = getStateList(this.savedProps, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Block setStepSound(SoundType sound) {
|
public Block setStepSound(SoundType sound) {
|
||||||
|
@ -397,12 +421,16 @@ public class Block {
|
||||||
return this.states;
|
return this.states;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ImmutableList<State> getSavedStates() {
|
||||||
|
return this.saved;
|
||||||
|
}
|
||||||
|
|
||||||
public final State getBaseState() {
|
public final State getBaseState() {
|
||||||
return this.states.get(0);
|
return this.states.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<Property> getPropertyMap() {
|
public Collection<Property> getPropertyMap() {
|
||||||
return this.properties;
|
return this.savedProps;
|
||||||
}
|
}
|
||||||
|
|
||||||
public State getStateFromMeta(int meta) {
|
public State getStateFromMeta(int meta) {
|
||||||
|
@ -951,6 +979,10 @@ public class Block {
|
||||||
return new Property[0];
|
return new Property[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[0];
|
||||||
|
}
|
||||||
|
|
||||||
protected final void setDefaultState(State state) {
|
protected final void setDefaultState(State state) {
|
||||||
this.defaultState = state;
|
this.defaultState = state;
|
||||||
}
|
}
|
||||||
|
|
|
@ -385,4 +385,8 @@ public class BlockFence extends Block
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return new ItemFence(this);
|
return new ItemFence(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {NORTH, SOUTH, WEST, EAST};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -409,4 +409,8 @@ public class BlockFenceGate extends Block implements Rotatable
|
||||||
public Property<?>[] getIgnoredProperties() {
|
public Property<?>[] getIgnoredProperties() {
|
||||||
return new Property[] {POWERED};
|
return new Property[] {POWERED};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {IN_WALL};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -504,4 +504,8 @@ public class BlockPane extends Block
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return this.canDrop ? super.getItemToRegister() : new ItemBlock(this, "glass", false);
|
return this.canDrop ? super.getItemToRegister() : new ItemBlock(this, "glass", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {NORTH, SOUTH, WEST, EAST};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -833,6 +833,10 @@ public class BlockStairs extends Block implements Rotatable
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {SHAPE};
|
||||||
|
}
|
||||||
|
|
||||||
public static enum EnumHalf implements Identifyable
|
public static enum EnumHalf implements Identifyable
|
||||||
{
|
{
|
||||||
TOP("top"),
|
TOP("top"),
|
||||||
|
|
|
@ -299,4 +299,8 @@ public class BlockWall extends Block
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return new ItemWall(this);
|
return new ItemWall(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {NORTH, SOUTH, UP, WEST, EAST};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ import common.world.State;
|
||||||
import common.world.World;
|
import common.world.World;
|
||||||
import common.world.AWorldServer;
|
import common.world.AWorldServer;
|
||||||
|
|
||||||
public class BlockDoublePlant extends BlockBush implements Rotatable, IGrowable
|
public class BlockDoublePlant extends BlockBush implements IGrowable
|
||||||
{
|
{
|
||||||
public static final PropertyEnum<BlockDoublePlant.EnumBlockHalf> HALF = PropertyEnum.<BlockDoublePlant.EnumBlockHalf>create("half", BlockDoublePlant.EnumBlockHalf.class);
|
public static final PropertyEnum<BlockDoublePlant.EnumBlockHalf> HALF = PropertyEnum.<BlockDoublePlant.EnumBlockHalf>create("half", BlockDoublePlant.EnumBlockHalf.class);
|
||||||
public static final BlockDoublePlant[] PLANTS = new BlockDoublePlant[EnumPlantType.values().length];
|
public static final BlockDoublePlant[] PLANTS = new BlockDoublePlant[EnumPlantType.values().length];
|
||||||
|
@ -44,7 +44,7 @@ public class BlockDoublePlant extends BlockBush implements Rotatable, IGrowable
|
||||||
{
|
{
|
||||||
super(Material.BUSH);
|
super(Material.BUSH);
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.setDefaultState(this.getBaseState().withProperty(HALF, BlockDoublePlant.EnumBlockHalf.LOWER).withProperty(FACING, Facing.NORTH));
|
this.setDefaultState(this.getBaseState().withProperty(HALF, BlockDoublePlant.EnumBlockHalf.LOWER));
|
||||||
this.setHardness(0.0F);
|
this.setHardness(0.0F);
|
||||||
this.setStepSound(SoundType.GRASS);
|
this.setStepSound(SoundType.GRASS);
|
||||||
this.setFlammable(60, 100);
|
this.setFlammable(60, 100);
|
||||||
|
@ -271,12 +271,12 @@ public class BlockDoublePlant extends BlockBush implements Rotatable, IGrowable
|
||||||
*/
|
*/
|
||||||
public int getMetaFromState(State state)
|
public int getMetaFromState(State state)
|
||||||
{
|
{
|
||||||
return state.getValue(HALF) == BlockDoublePlant.EnumBlockHalf.UPPER ? 8 | ((Facing)state.getValue(FACING)).getHorizontalIndex() : 0;
|
return state.getValue(HALF) == BlockDoublePlant.EnumBlockHalf.UPPER ? 8 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Property[] getProperties()
|
protected Property[] getProperties()
|
||||||
{
|
{
|
||||||
return new Property[] {HALF, FACING};
|
return new Property[] {HALF};
|
||||||
}
|
}
|
||||||
|
|
||||||
public Model getModel(ModelProvider provider, String name, State state) {
|
public Model getModel(ModelProvider provider, String name, State state) {
|
||||||
|
@ -295,10 +295,6 @@ public class BlockDoublePlant extends BlockBush implements Rotatable, IGrowable
|
||||||
return provider.getModel(this.type.getName() + "_" + (state.getValue(HALF) == EnumBlockHalf.UPPER
|
return provider.getModel(this.type.getName() + "_" + (state.getValue(HALF) == EnumBlockHalf.UPPER
|
||||||
? "top" : "bottom")).cross();
|
? "top" : "bottom")).cross();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Property<?>[] getIgnoredProperties() {
|
|
||||||
return new Property[] {FACING};
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return new ItemDoublePlant(this);
|
return new ItemDoublePlant(this);
|
||||||
|
|
|
@ -148,4 +148,8 @@ public class BlockGrass extends Block implements IGrowable
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return new ItemColored(this);
|
return new ItemColored(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {SNOWY};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,4 +106,8 @@ public class BlockMycelium extends Block
|
||||||
else
|
else
|
||||||
return provider.getModel("mycelium_side").add().nswe().d("dirt").u("mycelium_top");
|
return provider.getModel("mycelium_side").add().nswe().d("dirt").u("mycelium_top");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {SNOWY};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -324,4 +324,8 @@ public class BlockStem extends BlockBush implements DirectionalUp, IGrowable
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return new ItemSeeds(this, Blocks.farmland).setDisplay(this.itemName).setMaxAmount(256);
|
return new ItemSeeds(this, Blocks.farmland).setDisplay(this.itemName).setMaxAmount(256);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {FACING};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,4 +52,8 @@ public class BlockTianSoil extends Block
|
||||||
else
|
else
|
||||||
return provider.getModel("tian_soil_side").add().nswe().d("tian").u("tian_soil_top");
|
return provider.getModel("tian_soil_side").add().nswe().d("tian").u("tian_soil_top");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {SNOWY};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -597,4 +597,8 @@ public class BlockVine extends Block
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return new ItemColored(this, "");
|
return new ItemColored(this, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {UP};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1156,4 +1156,8 @@ public class BlockFire extends Block
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {NORTH, SOUTH, UPPER, FLIP, WEST, EAST, ALT};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,4 +45,8 @@ public class BlockPodzol extends Block {
|
||||||
return state.getValue(SNOWY) ? provider.getModel("grass_side_snowed").add().nswe().d("dirt").u("grass_top")
|
return state.getValue(SNOWY) ? provider.getModel("grass_side_snowed").add().nswe().d("dirt").u("grass_top")
|
||||||
: provider.getModel("dirt_podzol_side").add().nswe().d("dirt").u("dirt_podzol_top");
|
: provider.getModel("dirt_podzol_side").add().nswe().d("dirt").u("dirt_podzol_top");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {SNOWY};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -300,6 +300,10 @@ public class BlockPistonHead extends Block implements Directional
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {SHORT};
|
||||||
|
}
|
||||||
|
|
||||||
public static enum EnumPistonType implements Identifyable
|
public static enum EnumPistonType implements Identifyable
|
||||||
{
|
{
|
||||||
DEFAULT("normal"),
|
DEFAULT("normal"),
|
||||||
|
|
|
@ -574,4 +574,8 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return this.isRepeaterPowered ? null : new ItemSmallBlock(this).setDisplay("Redstone-Verstärker").setTab(CheatTab.TECHNOLOGY);
|
return this.isRepeaterPowered ? null : new ItemSmallBlock(this).setDisplay("Redstone-Verstärker").setTab(CheatTab.TECHNOLOGY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {LOCKED};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1033,6 +1033,10 @@ public class BlockRedstoneWire extends Block
|
||||||
return new ItemRedstone(Blocks.redstone).setDisplay("Redstone").setPotionEffect(PotionHelper.redstoneEffect).setMaxAmount(256);
|
return new ItemRedstone(Blocks.redstone).setDisplay("Redstone").setPotionEffect(PotionHelper.redstoneEffect).setMaxAmount(256);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {EAST, NORTH, SOUTH, WEST};
|
||||||
|
}
|
||||||
|
|
||||||
public static enum EnumAttachPosition implements Identifyable
|
public static enum EnumAttachPosition implements Identifyable
|
||||||
{
|
{
|
||||||
UP("up"),
|
UP("up"),
|
||||||
|
|
|
@ -702,4 +702,8 @@ public class BlockTripWire extends Block
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return new ItemSmallBlock(this).setDisplay("Faden").setTab(CheatTab.TECHNOLOGY).setMaxAmount(1024);
|
return new ItemSmallBlock(this).setDisplay("Faden").setTab(CheatTab.TECHNOLOGY).setMaxAmount(1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {NORTH, SOUTH, WEST, EAST};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -594,4 +594,8 @@ public class BlockTripWireHook extends Block implements Rotatable
|
||||||
protected Item getItemToRegister() {
|
protected Item getItemToRegister() {
|
||||||
return new ItemBlock(this, "tripwire_hook", false);
|
return new ItemBlock(this, "tripwire_hook", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Property[] getUnsavedProperties() {
|
||||||
|
return new Property[] {SUSPENDED};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,6 +139,7 @@ import common.collect.BiMap;
|
||||||
import common.collect.HashBiMap;
|
import common.collect.HashBiMap;
|
||||||
import common.collect.Lists;
|
import common.collect.Lists;
|
||||||
import common.collect.Maps;
|
import common.collect.Maps;
|
||||||
|
import common.collect.Sets;
|
||||||
import common.color.DyeColor;
|
import common.color.DyeColor;
|
||||||
import common.item.CheatTab;
|
import common.item.CheatTab;
|
||||||
import common.log.Log;
|
import common.log.Log;
|
||||||
|
@ -674,9 +675,13 @@ public abstract class BlockRegistry {
|
||||||
STATES.add(state);
|
STATES.add(state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
StringBuilder sb = new StringBuilder("\n\n\tpublic Property[] getSavedProperties() {\n\t\treturn new Property[] {");
|
StringBuilder sb = new StringBuilder("\n\n\tpublic Property[] getUnsavedProperties() {\n\t\treturn new Property[] {");
|
||||||
boolean put = false;
|
boolean put = false;
|
||||||
|
Set<Property> props = Sets.newHashSet(block.getPropertyMap());
|
||||||
for(Property prop : block.getState().getSavedProperties()) {
|
for(Property prop : block.getState().getSavedProperties()) {
|
||||||
|
props.remove(prop);
|
||||||
|
}
|
||||||
|
for(Property prop : props) {
|
||||||
if(put)
|
if(put)
|
||||||
sb.append(", ");
|
sb.append(", ");
|
||||||
sb.append(prop.getName().toUpperCase());
|
sb.append(prop.getName().toUpperCase());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue