Added features to MetaBlock

This commit is contained in:
Francesco Macagno 2015-08-22 15:50:41 -07:00
parent 6538fb4929
commit aa6de6177c

View file

@ -4,49 +4,58 @@ import java.util.HashMap;
import net.minecraft.block.Block;
public class MetaBlock {
private static final int MAX_METADATA = 16;//I think this is 16?
public class MetaBlock implements Comparable {
private static HashMap<String, MetaBlock[]> metablocks = new HashMap<String, MetaBlock[]>();
private static final int MAX_METADATA = 16;//I think this is 16?
private static HashMap<String, MetaBlock[]> metablocks = new HashMap<String, MetaBlock[]>();
private Block block;
private int metadata;
private MetaBlock(Block b, int metadata) {
this.block = b;
this.metadata = metadata;
}
/**
* @return the block
*/
public Block getBlock() {
return block;
}
/**
* @return the metadata
*/
public int getMetadata() {
return metadata;
}
public static MetaBlock getMetaBlock(Block b, int metadata) {
MetaBlock[] block = metablocks.get(b.getUnlocalizedName());
if (block == null) {
block = new MetaBlock[MAX_METADATA];
metablocks.put(b.getUnlocalizedName(), block);
}
if (block[metadata] == null) {
block[metadata] = new MetaBlock(b, metadata);
}
return block[metadata];
}
@Override
public int compareTo(Object o) {
return block.getUnlocalizedName().compareTo(((MetaBlock) o).block.getUnlocalizedName());
}
@Override
public String toString() {
return block.getUnlocalizedName() + ":" + metadata;
}
}