fix model provider

This commit is contained in:
Sen 2025-07-25 13:33:01 +02:00
parent 0e179b0410
commit edfd5332ee
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
92 changed files with 1233 additions and 1814 deletions

View file

@ -62,7 +62,6 @@ import client.renderer.EntityRenderer;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.ItemRenderer; import client.renderer.ItemRenderer;
import client.renderer.RenderGlobal; import client.renderer.RenderGlobal;
import client.renderer.blockmodel.ModelBlock;
import client.renderer.blockmodel.ModelManager; import client.renderer.blockmodel.ModelManager;
import client.renderer.chunk.RenderChunk; import client.renderer.chunk.RenderChunk;
import client.renderer.entity.RenderItem; import client.renderer.entity.RenderItem;
@ -626,7 +625,6 @@ public class Client implements IThreadListener {
if(Util.DEVMODE) if(Util.DEVMODE)
Log.SYSTEM.warn("Entwicklungsmodus aktiv - Debugging-Features sind verfügbar"); Log.SYSTEM.warn("Entwicklungsmodus aktiv - Debugging-Features sind verfügbar");
Window.init(); Window.init();
ModelBlock.setAsProvider();
Registry.register(); Registry.register();
Log.setSync(CLIENT); Log.setSync(CLIENT);
CLIENT.run(time); CLIENT.run(time);

View file

@ -19,9 +19,10 @@ import common.collect.Sets;
import common.init.BlockRegistry; import common.init.BlockRegistry;
import common.init.ItemRegistry; import common.init.ItemRegistry;
import common.item.Item; import common.item.Item;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.model.Model;
import common.util.Facing; import common.util.Facing;
import common.util.Pair; import common.util.Pair;
import common.world.State; import common.world.State;
@ -50,6 +51,11 @@ public abstract class ModelBakery
public static Map<String, IBakedModel> setupModelRegistry(TextureMap textureMap, public static Map<String, IBakedModel> setupModelRegistry(TextureMap textureMap,
Map<State, String> map) Map<State, String> map)
{ {
final ModelProvider provider = new ModelProvider() {
public Model getModel(String primary) {
return new ModelBlock(primary);
}
};
final Map<String, Sprite> sprites = Maps.<String, Sprite>newHashMap(); final Map<String, Sprite> sprites = Maps.<String, Sprite>newHashMap();
Map<String, ModelBlock> models = Maps.<String, ModelBlock>newLinkedHashMap(); Map<String, ModelBlock> models = Maps.<String, ModelBlock>newLinkedHashMap();
List<String> variants = Lists.<String>newArrayList(); List<String> variants = Lists.<String>newArrayList();
@ -59,7 +65,7 @@ public abstract class ModelBakery
models.put(MISSING, (ModelBlock)new ModelBlock(null).add().all()); models.put(MISSING, (ModelBlock)new ModelBlock(null).add().all());
variants.add(MISSING); variants.add(MISSING);
for(Entry<State, String> entry : map.entrySet()) { for(Entry<State, String> entry : map.entrySet()) {
ModelBlock model = (ModelBlock)entry.getKey().getBlock().getModel(ModelBlock.PROVIDER, BlockRegistry.getName(entry.getKey().getBlock()) ModelBlock model = (ModelBlock)entry.getKey().getBlock().getModel(provider, BlockRegistry.getName(entry.getKey().getBlock())
.toString(), entry.getKey()); .toString(), entry.getKey());
models.put(entry.getValue(), model); models.put(entry.getValue(), model);
variants.add(entry.getValue()); variants.add(entry.getValue());
@ -67,7 +73,7 @@ public abstract class ModelBakery
for (Item item : ItemRegistry.items()) for (Item item : ItemRegistry.items())
{ {
String loc = "item/" + ItemRegistry.getName(item); String loc = "item/" + ItemRegistry.getName(item);
models.put(loc, getModel(item, ModelBlock.PROVIDER, ItemRegistry.getName(item))); models.put(loc, getModel(item, provider, ItemRegistry.getName(item)));
itemLocations.add(loc); itemLocations.add(loc);
String[] extra = item.getSprites(); String[] extra = item.getSprites();
if(extra != null) { if(extra != null) {

View file

@ -6,19 +6,12 @@ import client.renderer.texture.TextureMap;
import common.collect.Lists; import common.collect.Lists;
import common.collect.Maps; import common.collect.Maps;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.util.Facing; import common.util.Facing;
import common.util.Vector3f; import common.util.Vector3f;
public class ModelBlock extends Model { public class ModelBlock extends Model {
static final ModelProvider PROVIDER = new ModelProvider() {
public Model getModel(String primary) {
return new ModelBlock(primary);
}
};
private final List<BlockPart> elements; private final List<BlockPart> elements;
private final boolean gui3d; private final boolean gui3d;
private final String primary; private final String primary;
@ -32,10 +25,6 @@ public class ModelBlock extends Model {
private BlockPart lastPart; private BlockPart lastPart;
private BlockPartFace[] last; private BlockPartFace[] last;
public static void setAsProvider() {
ModelProvider.setProvider(PROVIDER);
}
public ModelBlock uvLock() { public ModelBlock uvLock() {
this.uvLock = true; this.uvLock = true;
return this; return this;

View file

@ -38,7 +38,7 @@ import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.item.StackSize; import common.item.StackSize;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;
import common.rng.Random; import common.rng.Random;

View file

@ -1,7 +1,7 @@
package common.block; package common.block;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.PropertyEnum; import common.properties.PropertyEnum;
import common.util.Facing; import common.util.Facing;

View file

@ -11,7 +11,7 @@ import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.item.StackSize; import common.item.StackSize;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyEnum; import common.properties.PropertyEnum;

View file

@ -6,7 +6,7 @@ import common.init.Items;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.rng.Random; import common.rng.Random;
import common.world.State; import common.world.State;

View file

@ -3,117 +3,24 @@ package common.block.artificial;
import common.block.Block; import common.block.Block;
import common.block.Material; import common.block.Material;
import common.entity.npc.EntityNPC; import common.entity.npc.EntityNPC;
import common.item.Item; import common.init.SoundEvent;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property;
import common.properties.PropertyInteger;
import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;
import common.util.BoundingBox;
import common.util.Clientside; import common.util.Clientside;
import common.util.Facing; import common.util.Facing;
import common.world.AWorldServer; import common.world.AWorldServer;
import common.world.IWorldAccess;
import common.world.State; import common.world.State;
import common.world.World; import common.world.World;
public class BlockCake extends Block public class BlockCake extends Block
{ {
private static final Model cake_slice3 = ModelProvider.getModelProvider().getModel("cake_side")
.add(7, 0, 1, 15, 8, 15)
.d("cake_bottom").uv(7, 1, 15, 15)
.u("cake_top").uv(7, 1, 15, 15).noCull()
.n().uv(1, 8, 9, 16).noCull()
.s().uv(1, 8, 9, 16).noCull()
.w("cake_inner").uv(1, 8, 15, 16).noCull()
.e().uv(1, 8, 15, 16).noCull()
;
private static final Model cake_slice1 = ModelProvider.getModelProvider().getModel("cake_side")
.add(3, 0, 1, 15, 8, 15)
.d("cake_bottom").uv(3, 1, 15, 15)
.u("cake_top").uv(3, 1, 15, 15).noCull()
.n().uv(1, 8, 13, 16).noCull()
.s().uv(1, 8, 13, 16).noCull()
.w("cake_inner").uv(1, 8, 15, 16).noCull()
.e().uv(1, 8, 15, 16).noCull()
;
private static final Model cake_slice2 = ModelProvider.getModelProvider().getModel("cake_side")
.add(5, 0, 1, 15, 8, 15)
.d("cake_bottom").uv(5, 1, 15, 15)
.u("cake_top").uv(5, 1, 15, 15).noCull()
.n().uv(1, 8, 11, 16).noCull()
.s().uv(1, 8, 11, 16).noCull()
.w("cake_inner").uv(1, 8, 15, 16).noCull()
.e().uv(1, 8, 15, 16).noCull()
;
private static final Model cake_slice5 = ModelProvider.getModelProvider().getModel("cake_side")
.add(11, 0, 1, 15, 8, 15)
.d("cake_bottom").uv(11, 1, 15, 15)
.u("cake_top").uv(11, 1, 15, 15).noCull()
.n().uv(1, 8, 5, 16).noCull()
.s().uv(1, 8, 5, 16).noCull()
.w("cake_inner").uv(1, 8, 15, 16).noCull()
.e().uv(1, 8, 15, 16).noCull()
;
private static final Model cake_slice4 = ModelProvider.getModelProvider().getModel("cake_side")
.add(9, 0, 1, 15, 8, 15)
.d("cake_bottom").uv(9, 1, 15, 15)
.u("cake_top").uv(9, 1, 15, 15).noCull()
.n().uv(1, 8, 7, 16).noCull()
.s().uv(1, 8, 7, 16).noCull()
.w("cake_inner").uv(1, 8, 15, 16).noCull()
.e().uv(1, 8, 15, 16).noCull()
;
private static final Model cake_uneaten = ModelProvider.getModelProvider().getModel("cake_side")
.add(1, 0, 1, 15, 8, 15)
.d("cake_bottom").uv(1, 1, 15, 15)
.u("cake_top").uv(1, 1, 15, 15).noCull()
.n().uv(1, 8, 15, 16).noCull()
.s().uv(1, 8, 15, 16).noCull()
.w().uv(1, 8, 15, 16).noCull()
.e().uv(1, 8, 15, 16).noCull()
;
private static final Model cake_slice6 = ModelProvider.getModelProvider().getModel("cake_side")
.add(13, 0, 1, 15, 8, 15)
.d("cake_bottom").uv(13, 1, 15, 15)
.u("cake_top").uv(13, 1, 15, 15).noCull()
.n().uv(1, 8, 3, 16).noCull()
.s().uv(1, 8, 3, 16).noCull()
.w("cake_inner").uv(1, 8, 15, 16).noCull()
.e().uv(1, 8, 15, 16).noCull()
;
private static final Model[] cake_slices =
new Model[] {cake_uneaten, cake_slice1, cake_slice2, cake_slice3, cake_slice4, cake_slice5, cake_slice6};
public static final PropertyInteger BITES = PropertyInteger.create("bites", 0, 6);
public BlockCake() public BlockCake()
{ {
super(Material.SOFT); super(Material.SOFT);
this.setDefaultState(this.getBaseState().withProperty(BITES, Integer.valueOf(0)));
// this.setTickRandomly(true);
}
public void setBlockBounds(IWorldAccess worldIn, BlockPos pos)
{
float f = 0.0625F; float f = 0.0625F;
float f1 = (float)(1 + ((Integer)worldIn.getState(pos).getValue(BITES)).intValue() * 2) / 16.0F;
float f2 = 0.5F; float f2 = 0.5F;
this.setBlockBounds(f1, 0.0F, f, 1.0F - f, f2, 1.0F - f); this.setBlockBounds(f, 0.0F, f, 1.0F - f, f2, 1.0F - f);
}
public BoundingBox getCollisionBox(World worldIn, BlockPos pos, State state)
{
float f = 0.0625F;
float f1 = (float)(1 + ((Integer)state.getValue(BITES)).intValue() * 2) / 16.0F;
float f2 = 0.5F;
return new BoundingBox((double)((float)pos.getX() + f1), (double)pos.getY(), (double)((float)pos.getZ() + f), (double)((float)(pos.getX() + 1) - f), (double)((float)pos.getY() + f2), (double)((float)(pos.getZ() + 1) - f));
}
public BoundingBox getSelectionBox(World worldIn, BlockPos pos)
{
return this.getCollisionBox(worldIn, pos, worldIn.getState(pos));
} }
public boolean isFullCube() public boolean isFullCube()
@ -121,9 +28,6 @@ public class BlockCake extends Block
return false; return false;
} }
/**
* Used to determine ambient occlusion and culling when rebuilding chunks for render
*/
public boolean isOpaqueCube() public boolean isOpaqueCube()
{ {
return false; return false;
@ -142,32 +46,21 @@ public class BlockCake extends Block
private void eatCake(World worldIn, BlockPos pos, State state, EntityNPC player) private void eatCake(World worldIn, BlockPos pos, State state, EntityNPC player)
{ {
// player.triggerAchievement(StatRegistry.cakeEatenStat); worldIn.setBlockToAir(pos);
int i = ((Integer)state.getValue(BITES)).intValue(); worldIn.playSoundAtEntity(player, SoundEvent.EAT, 0.5F);
player.heal((int)((float)6 * 0.5f * (1.0f + worldIn.rand.floatv())));
if (i < 6)
{
worldIn.setState(pos, state.withProperty(BITES, Integer.valueOf(i + 1)), 3);
}
else
{
worldIn.setBlockToAir(pos);
}
} }
public boolean canPlace(World worldIn, BlockPos pos) public boolean canPlace(World worldIn, BlockPos pos)
{ {
return super.canPlace(worldIn, pos) ? this.canBlockStay(worldIn, pos) : false; return super.canPlace(worldIn, pos) && this.canBlockStay(worldIn, pos);
} }
/**
* Called when a neighboring block changes.
*/
public void onUpdate(AWorldServer worldIn, BlockPos pos, State state, Block neighborBlock) public void onUpdate(AWorldServer worldIn, BlockPos pos, State state, Block neighborBlock)
{ {
if (!this.canBlockStay(worldIn, pos)) if (!this.canBlockStay(worldIn, pos))
{ {
worldIn.setBlockToAir(pos); worldIn.destroyBlock(pos, true);
} }
} }
@ -176,33 +69,19 @@ public class BlockCake extends Block
return worldIn.getState(pos.down()).getBlock().getMaterial().isSolid(); return worldIn.getState(pos.down()).getBlock().getMaterial().isSolid();
} }
/**
* Returns the quantity of items to drop on block destruction.
*/
protected int getDropAmount(Random random)
{
return 0;
}
/**
* Get the Item that this Block should drop when harvested.
*/
public Item getDrop(State state, Random rand, int fortune)
{
return null;
}
@Clientside @Clientside
public boolean hasTransparency() { public boolean hasTransparency() {
return true; return true;
} }
protected Property[] getProperties()
{
return new Property[] {BITES};
}
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return cake_slices[state.getValue(BITES)]; return provider.getModel("cake_side")
.add(1, 0, 1, 15, 8, 15)
.d("cake_bottom").uv(1, 1, 15, 15)
.u("cake_top").uv(1, 1, 15, 15).noCull()
.n().uv(1, 8, 15, 16).noCull()
.s().uv(1, 8, 15, 16).noCull()
.w().uv(1, 8, 15, 16).noCull()
.e().uv(1, 8, 15, 16).noCull();
} }
} }

View file

@ -5,7 +5,7 @@ import common.block.Material;
import common.color.DyeColor; import common.color.DyeColor;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.util.BlockPos; import common.util.BlockPos;
import common.util.Facing; import common.util.Facing;
import common.world.AWorldServer; import common.world.AWorldServer;

View file

@ -14,7 +14,7 @@ import common.item.ItemStack;
import common.item.StackSize; import common.item.StackSize;
import common.item.tool.ItemKey; import common.item.tool.ItemKey;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -7,7 +7,7 @@ import common.entity.item.EntityFalling;
import common.entity.npc.EntityNPC; import common.entity.npc.EntityNPC;
import common.init.Blocks; import common.init.Blocks;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.rng.Random; import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;
import common.util.Facing; import common.util.Facing;
@ -20,65 +20,6 @@ import common.world.AWorldServer;
public class BlockDragonEgg extends Block public class BlockDragonEgg extends Block
{ {
private static final Model dragon_egg = ModelProvider.getModelProvider().getModel("dragon_egg")
.add(6, 15, 6, 10, 16, 10)
.d().uv(6, 6, 10, 10).noCull()
.u().uv(6, 6, 10, 10).noCull()
.n().uv(6, 15, 10, 16).noCull()
.s().uv(6, 15, 10, 16).noCull()
.w().uv(6, 15, 10, 16).noCull()
.e().uv(6, 15, 10, 16).noCull()
.add(5, 14, 5, 11, 15, 11)
.d().uv(5, 5, 11, 11).noCull()
.u().uv(5, 5, 11, 11).noCull()
.n().uv(5, 14, 11, 15).noCull()
.s().uv(5, 14, 11, 15).noCull()
.w().uv(5, 14, 11, 15).noCull()
.e().uv(5, 14, 11, 15).noCull()
.add(5, 13, 5, 11, 14, 11)
.d().uv(4, 4, 12, 12).noCull()
.u().uv(4, 4, 12, 12).noCull()
.n().uv(4, 13, 12, 14).noCull()
.s().uv(4, 13, 12, 14).noCull()
.w().uv(4, 13, 12, 14).noCull()
.e().uv(4, 13, 12, 14).noCull()
.add(3, 11, 3, 13, 13, 13)
.d().uv(3, 3, 13, 13).noCull()
.u().uv(3, 3, 13, 13).noCull()
.n().uv(3, 11, 13, 13).noCull()
.s().uv(3, 11, 13, 13).noCull()
.w().uv(3, 11, 13, 13).noCull()
.e().uv(3, 11, 13, 13).noCull()
.add(2, 8, 2, 14, 11, 14)
.d().uv(2, 2, 14, 14).noCull()
.u().uv(2, 2, 14, 14).noCull()
.n().uv(2, 8, 14, 11).noCull()
.s().uv(2, 8, 14, 11).noCull()
.w().uv(2, 8, 14, 11).noCull()
.e().uv(2, 8, 14, 11).noCull()
.add(1, 3, 1, 15, 8, 15)
.d().uv(1, 1, 15, 15).noCull()
.u().uv(1, 1, 15, 15).noCull()
.n().uv(1, 3, 15, 8).noCull()
.s().uv(1, 3, 15, 8).noCull()
.w().uv(1, 3, 15, 8).noCull()
.e().uv(1, 3, 15, 8).noCull()
.add(2, 1, 2, 14, 3, 14)
.d().uv(2, 2, 14, 14).noCull()
.u().uv(2, 2, 14, 14).noCull()
.n().uv(2, 1, 14, 3).noCull()
.s().uv(2, 1, 14, 3).noCull()
.w().uv(2, 1, 14, 3).noCull()
.e().uv(2, 1, 14, 3).noCull()
.add(3, 0, 3, 13, 1, 13)
.d().uv(3, 3, 13, 13).noCull()
.u().uv(3, 3, 13, 13).noCull()
.n().uv(3, 0, 13, 1).noCull()
.s().uv(3, 0, 13, 1).noCull()
.w().uv(3, 0, 13, 1).noCull()
.e().uv(3, 0, 13, 1).noCull()
;
public BlockDragonEgg() public BlockDragonEgg()
{ {
super(Material.SOFT); super(Material.SOFT);
@ -213,6 +154,62 @@ public class BlockDragonEgg extends Block
// } // }
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return dragon_egg; return provider.getModel("dragon_egg")
.add(6, 15, 6, 10, 16, 10)
.d().uv(6, 6, 10, 10).noCull()
.u().uv(6, 6, 10, 10).noCull()
.n().uv(6, 15, 10, 16).noCull()
.s().uv(6, 15, 10, 16).noCull()
.w().uv(6, 15, 10, 16).noCull()
.e().uv(6, 15, 10, 16).noCull()
.add(5, 14, 5, 11, 15, 11)
.d().uv(5, 5, 11, 11).noCull()
.u().uv(5, 5, 11, 11).noCull()
.n().uv(5, 14, 11, 15).noCull()
.s().uv(5, 14, 11, 15).noCull()
.w().uv(5, 14, 11, 15).noCull()
.e().uv(5, 14, 11, 15).noCull()
.add(5, 13, 5, 11, 14, 11)
.d().uv(4, 4, 12, 12).noCull()
.u().uv(4, 4, 12, 12).noCull()
.n().uv(4, 13, 12, 14).noCull()
.s().uv(4, 13, 12, 14).noCull()
.w().uv(4, 13, 12, 14).noCull()
.e().uv(4, 13, 12, 14).noCull()
.add(3, 11, 3, 13, 13, 13)
.d().uv(3, 3, 13, 13).noCull()
.u().uv(3, 3, 13, 13).noCull()
.n().uv(3, 11, 13, 13).noCull()
.s().uv(3, 11, 13, 13).noCull()
.w().uv(3, 11, 13, 13).noCull()
.e().uv(3, 11, 13, 13).noCull()
.add(2, 8, 2, 14, 11, 14)
.d().uv(2, 2, 14, 14).noCull()
.u().uv(2, 2, 14, 14).noCull()
.n().uv(2, 8, 14, 11).noCull()
.s().uv(2, 8, 14, 11).noCull()
.w().uv(2, 8, 14, 11).noCull()
.e().uv(2, 8, 14, 11).noCull()
.add(1, 3, 1, 15, 8, 15)
.d().uv(1, 1, 15, 15).noCull()
.u().uv(1, 1, 15, 15).noCull()
.n().uv(1, 3, 15, 8).noCull()
.s().uv(1, 3, 15, 8).noCull()
.w().uv(1, 3, 15, 8).noCull()
.e().uv(1, 3, 15, 8).noCull()
.add(2, 1, 2, 14, 3, 14)
.d().uv(2, 2, 14, 14).noCull()
.u().uv(2, 2, 14, 14).noCull()
.n().uv(2, 1, 14, 3).noCull()
.s().uv(2, 1, 14, 3).noCull()
.w().uv(2, 1, 14, 3).noCull()
.e().uv(2, 1, 14, 3).noCull()
.add(3, 0, 3, 13, 1, 13)
.d().uv(3, 3, 13, 13).noCull()
.u().uv(3, 3, 13, 13).noCull()
.n().uv(3, 0, 13, 1).noCull()
.s().uv(3, 0, 13, 1).noCull()
.w().uv(3, 0, 13, 1).noCull()
.e().uv(3, 0, 13, 1).noCull();
} }
} }

View file

@ -10,7 +10,7 @@ import common.entity.npc.EntityNPC;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.tool.ItemLead; import common.item.tool.ItemLead;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -9,7 +9,7 @@ import common.init.Blocks;
import common.init.WoodType; import common.init.WoodType;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;

View file

@ -9,7 +9,7 @@ import common.block.Material;
import common.collect.Sets; import common.collect.Sets;
import common.entity.Entity; import common.entity.Entity;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.rng.Random; import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;
import common.util.BoundingBox; import common.util.BoundingBox;
@ -22,9 +22,6 @@ import common.world.World;
public class BlockFloorPortal extends Block public class BlockFloorPortal extends Block
{ {
private static final Model floor_portal = ModelProvider.getModelProvider().getModel("floor_portal")
.add(0, 11, 0, 16, 12, 16).du().uv(0, 0, 16, 16).noCull().nswe().uv(0, 0, 16, 1);
public BlockFloorPortal(Material materialIn) public BlockFloorPortal(Material materialIn)
{ {
super(materialIn); super(materialIn);
@ -139,7 +136,8 @@ public class BlockFloorPortal extends Block
} }
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return floor_portal; return provider.getModel("floor_portal")
.add(0, 11, 0, 16, 12, 16).du().uv(0, 0, 16, 16).noCull().nswe().uv(0, 0, 16, 1);
} }
public void getAnimatedTextures(Map<String, Object> map) { public void getAnimatedTextures(Map<String, Object> map) {

View file

@ -13,7 +13,7 @@ import common.init.Items;
import common.item.Item; import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.rng.Random; import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;
@ -25,81 +25,6 @@ import common.world.AWorldServer;
public class BlockFlowerPot extends Block public class BlockFlowerPot extends Block
{ {
private static final Model flower_pot_cactus = ModelProvider.getModelProvider().getModel("flower_pot")
.add(5, 0, 5, 6, 6, 11)
.d().uv(5, 5, 6, 11)
.u().uv(5, 5, 6, 11).noCull()
.n().uv(10, 10, 11, 16).noCull()
.s().uv(5, 10, 6, 16).noCull()
.w().uv(5, 10, 11, 16).noCull()
.e().uv(5, 10, 11, 16).noCull()
.add(10, 0, 5, 11, 6, 11)
.d().uv(10, 5, 11, 11)
.u().uv(10, 5, 11, 11).noCull()
.n().uv(5, 10, 6, 16).noCull()
.s().uv(10, 10, 11, 16).noCull()
.w().uv(5, 10, 11, 16).noCull()
.e().uv(5, 10, 11, 16).noCull()
.add(6, 0, 5, 10, 6, 6)
.d().uv(6, 10, 10, 11)
.u().uv(6, 5, 10, 6).noCull()
.n().uv(6, 10, 10, 16).noCull()
.s().uv(6, 10, 10, 16).noCull()
.add(6, 0, 10, 10, 6, 11)
.d().uv(6, 5, 10, 6)
.u().uv(6, 10, 10, 11).noCull()
.n().uv(6, 10, 10, 16).noCull()
.s().uv(6, 10, 10, 16).noCull()
.add(6, 0, 6, 10, 4, 10)
.d().uv(6, 6, 10, 10)
.u("dirt").uv(6, 6, 10, 10).noCull()
.add(6, 4, 6, 10, 8, 10)
.n("cactus_side").uv(6, 8, 10, 12).noCull()
.s("cactus_side").uv(6, 8, 10, 12).noCull()
.w("cactus_side").uv(6, 8, 10, 12).noCull()
.e("cactus_side").uv(6, 8, 10, 12).noCull()
.add(6, 8, 6, 10, 12, 10)
.n("cactus_side").uv(6, 4, 10, 8).noCull()
.s("cactus_side").uv(6, 4, 10, 8).noCull()
.w("cactus_side").uv(6, 4, 10, 8).noCull()
.e("cactus_side").uv(6, 4, 10, 8).noCull()
.add(6, 12, 6, 10, 16, 10)
.u("cactus_side").uv(6, 6, 10, 10).noCull()
.n("cactus_side").uv(6, 0, 10, 4).noCull()
.s("cactus_side").uv(6, 0, 10, 4).noCull()
.w("cactus_side").uv(6, 0, 10, 4).noCull()
.e("cactus_side").uv(6, 0, 10, 4).noCull()
;
private static final Model flower_pot = ModelProvider.getModelProvider().getModel("flower_pot")
.add(5, 0, 5, 6, 6, 11)
.d().uv(5, 5, 6, 11)
.u().uv(5, 5, 6, 11).noCull()
.n().uv(10, 10, 11, 16).noCull()
.s().uv(5, 10, 6, 16).noCull()
.w().uv(5, 10, 11, 16).noCull()
.e().uv(5, 10, 11, 16).noCull()
.add(10, 0, 5, 11, 6, 11)
.d().uv(10, 5, 11, 11)
.u().uv(10, 5, 11, 11).noCull()
.n().uv(5, 10, 6, 16).noCull()
.s().uv(10, 10, 11, 16).noCull()
.w().uv(5, 10, 11, 16).noCull()
.e().uv(5, 10, 11, 16).noCull()
.add(6, 0, 5, 10, 6, 6)
.d().uv(6, 10, 10, 11)
.u().uv(6, 5, 10, 6).noCull()
.n().uv(6, 10, 10, 16).noCull()
.s().uv(6, 10, 10, 16).noCull()
.add(6, 0, 10, 10, 6, 11)
.d().uv(6, 5, 10, 6)
.u().uv(6, 10, 10, 11).noCull()
.n().uv(6, 10, 10, 16).noCull()
.s().uv(6, 10, 10, 16).noCull()
.add(6, 0, 6, 10, 4, 10)
.d().uv(6, 6, 10, 10)
.u("dirt").uv(6, 6, 10, 10).noCull()
;
public static final List<BlockFlowerPot> POTS = Lists.newArrayList(); public static final List<BlockFlowerPot> POTS = Lists.newArrayList();
private final Block content; private final Block content;
@ -207,9 +132,79 @@ public class BlockFlowerPot extends Block
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
if(this.content == null) if(this.content == null)
return flower_pot; return provider.getModel("flower_pot")
.add(5, 0, 5, 6, 6, 11)
.d().uv(5, 5, 6, 11)
.u().uv(5, 5, 6, 11).noCull()
.n().uv(10, 10, 11, 16).noCull()
.s().uv(5, 10, 6, 16).noCull()
.w().uv(5, 10, 11, 16).noCull()
.e().uv(5, 10, 11, 16).noCull()
.add(10, 0, 5, 11, 6, 11)
.d().uv(10, 5, 11, 11)
.u().uv(10, 5, 11, 11).noCull()
.n().uv(5, 10, 6, 16).noCull()
.s().uv(10, 10, 11, 16).noCull()
.w().uv(5, 10, 11, 16).noCull()
.e().uv(5, 10, 11, 16).noCull()
.add(6, 0, 5, 10, 6, 6)
.d().uv(6, 10, 10, 11)
.u().uv(6, 5, 10, 6).noCull()
.n().uv(6, 10, 10, 16).noCull()
.s().uv(6, 10, 10, 16).noCull()
.add(6, 0, 10, 10, 6, 11)
.d().uv(6, 5, 10, 6)
.u().uv(6, 10, 10, 11).noCull()
.n().uv(6, 10, 10, 16).noCull()
.s().uv(6, 10, 10, 16).noCull()
.add(6, 0, 6, 10, 4, 10)
.d().uv(6, 6, 10, 10)
.u("dirt").uv(6, 6, 10, 10).noCull();
else if(this.content == Blocks.cactus) else if(this.content == Blocks.cactus)
return flower_pot_cactus; return provider.getModel("flower_pot")
.add(5, 0, 5, 6, 6, 11)
.d().uv(5, 5, 6, 11)
.u().uv(5, 5, 6, 11).noCull()
.n().uv(10, 10, 11, 16).noCull()
.s().uv(5, 10, 6, 16).noCull()
.w().uv(5, 10, 11, 16).noCull()
.e().uv(5, 10, 11, 16).noCull()
.add(10, 0, 5, 11, 6, 11)
.d().uv(10, 5, 11, 11)
.u().uv(10, 5, 11, 11).noCull()
.n().uv(5, 10, 6, 16).noCull()
.s().uv(10, 10, 11, 16).noCull()
.w().uv(5, 10, 11, 16).noCull()
.e().uv(5, 10, 11, 16).noCull()
.add(6, 0, 5, 10, 6, 6)
.d().uv(6, 10, 10, 11)
.u().uv(6, 5, 10, 6).noCull()
.n().uv(6, 10, 10, 16).noCull()
.s().uv(6, 10, 10, 16).noCull()
.add(6, 0, 10, 10, 6, 11)
.d().uv(6, 5, 10, 6)
.u().uv(6, 10, 10, 11).noCull()
.n().uv(6, 10, 10, 16).noCull()
.s().uv(6, 10, 10, 16).noCull()
.add(6, 0, 6, 10, 4, 10)
.d().uv(6, 6, 10, 10)
.u("dirt").uv(6, 6, 10, 10).noCull()
.add(6, 4, 6, 10, 8, 10)
.n("cactus_side").uv(6, 8, 10, 12).noCull()
.s("cactus_side").uv(6, 8, 10, 12).noCull()
.w("cactus_side").uv(6, 8, 10, 12).noCull()
.e("cactus_side").uv(6, 8, 10, 12).noCull()
.add(6, 8, 6, 10, 12, 10)
.n("cactus_side").uv(6, 4, 10, 8).noCull()
.s("cactus_side").uv(6, 4, 10, 8).noCull()
.w("cactus_side").uv(6, 4, 10, 8).noCull()
.e("cactus_side").uv(6, 4, 10, 8).noCull()
.add(6, 12, 6, 10, 16, 10)
.u("cactus_side").uv(6, 6, 10, 10).noCull()
.n("cactus_side").uv(6, 0, 10, 4).noCull()
.s("cactus_side").uv(6, 0, 10, 4).noCull()
.w("cactus_side").uv(6, 0, 10, 4).noCull()
.e("cactus_side").uv(6, 0, 10, 4).noCull();
else { else {
String plant = BlockRegistry.getName(this.content); String plant = BlockRegistry.getName(this.content);
return provider.getModel("flower_pot") return provider.getModel("flower_pot")

View file

@ -6,7 +6,7 @@ import common.block.Material;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -9,7 +9,7 @@ import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -8,7 +8,7 @@ import common.block.natural.BlockFire;
import common.entity.Entity; import common.entity.Entity;
import common.init.Blocks; import common.init.Blocks;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyEnum; import common.properties.PropertyEnum;
import common.rng.Random; import common.rng.Random;

View file

@ -13,7 +13,7 @@ import common.init.Items;
import common.item.Item; import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;

View file

@ -4,7 +4,7 @@ import common.block.Block;
import common.block.Material; import common.block.Material;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.world.State; import common.world.State;
public class BlockQuartz extends Block { public class BlockQuartz extends Block {

View file

@ -5,7 +5,7 @@ import common.block.Material;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -6,7 +6,7 @@ import common.block.Material;
import common.entity.Entity; import common.entity.Entity;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -13,7 +13,7 @@ import common.init.BlockRegistry;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.util.BlockPos; import common.util.BlockPos;
import common.util.BoundingBox; import common.util.BoundingBox;

View file

@ -11,7 +11,7 @@ import common.entity.types.EntityLiving;
import common.init.BlockRegistry; import common.init.BlockRegistry;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyEnum; import common.properties.PropertyEnum;

View file

@ -8,7 +8,7 @@ import common.entity.types.EntityLiving;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.tool.ItemKey; import common.item.tool.ItemKey;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;

View file

@ -8,7 +8,7 @@ import common.collect.Lists;
import common.init.Blocks; import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;

View file

@ -5,7 +5,7 @@ import common.block.Material;
import common.color.DyeColor; import common.color.DyeColor;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.world.State; import common.world.State;
public class BlockWool extends Block { public class BlockWool extends Block {

View file

@ -6,7 +6,7 @@ import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.rng.Random; import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;
import common.vars.Vars; import common.vars.Vars;

View file

@ -3,7 +3,7 @@ package common.block.foliage;
import common.block.Block; import common.block.Block;
import common.init.Blocks; import common.init.Blocks;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.rng.Random; import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -7,7 +7,7 @@ import common.entity.Entity;
import common.init.Blocks; import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyInteger; import common.properties.PropertyInteger;
import common.rng.Random; import common.rng.Random;
@ -22,18 +22,6 @@ import common.world.AWorldServer;
public class BlockCactus extends Block public class BlockCactus extends Block
{ {
private static final Model cactus = ModelProvider.getModelProvider().getModel("cactus_side")
.add(0, 0, 0, 16, 16, 16)
.d("cactus_bottom").uv(0, 0, 16, 16)
.u("cactus_top").uv(0, 0, 16, 16)
.add(0, 0, 1, 16, 16, 15)
.n().uv(0, 0, 16, 16).noCull()
.s().uv(0, 0, 16, 16).noCull()
.add(1, 0, 0, 15, 16, 16)
.w().uv(0, 0, 16, 16).noCull()
.e().uv(0, 0, 16, 16).noCull()
;
public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 15); public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 15);
public BlockCactus() public BlockCactus()
@ -151,7 +139,16 @@ public class BlockCactus extends Block
} }
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return cactus; return provider.getModel("cactus_side")
.add(0, 0, 0, 16, 16, 16)
.d("cactus_bottom").uv(0, 0, 16, 16)
.u("cactus_top").uv(0, 0, 16, 16)
.add(0, 0, 1, 16, 16, 15)
.n().uv(0, 0, 16, 16).noCull()
.s().uv(0, 0, 16, 16).noCull()
.add(1, 0, 0, 15, 16, 16)
.w().uv(0, 0, 16, 16).noCull()
.e().uv(0, 0, 16, 16).noCull();
} }
public Property<?>[] getIgnoredProperties() { public Property<?>[] getIgnoredProperties() {

View file

@ -3,7 +3,7 @@ package common.block.foliage;
import common.init.Items; import common.init.Items;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.world.State; import common.world.State;
public class BlockCarrot extends BlockCrops public class BlockCarrot extends BlockCrops

View file

@ -8,7 +8,7 @@ import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyInteger; import common.properties.PropertyInteger;
import common.rng.Random; import common.rng.Random;

View file

@ -10,7 +10,7 @@ import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.item.tool.ItemShears; import common.item.tool.ItemShears;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.rng.Random; import common.rng.Random;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;

View file

@ -12,7 +12,7 @@ import common.item.ItemStack;
import common.item.StackSize; import common.item.StackSize;
import common.item.tool.ItemShears; import common.item.tool.ItemShears;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyEnum; import common.properties.PropertyEnum;

View file

@ -7,7 +7,7 @@ import common.entity.types.EntityLiving;
import common.init.Blocks; import common.init.Blocks;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyInteger; import common.properties.PropertyInteger;
import common.rng.Random; import common.rng.Random;

View file

@ -3,7 +3,7 @@ package common.block.foliage;
import common.block.Block; import common.block.Block;
import common.init.Blocks; import common.init.Blocks;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.rng.Random; import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -6,7 +6,7 @@ import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;
import common.rng.Random; import common.rng.Random;

View file

@ -4,7 +4,7 @@ import common.block.Block;
import common.block.Material; import common.block.Material;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyEnum; import common.properties.PropertyEnum;
import common.rng.Random; import common.rng.Random;

View file

@ -15,7 +15,7 @@ import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -6,7 +6,7 @@ import common.block.SoundType;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -6,7 +6,7 @@ import common.init.Items;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.rng.Random; import common.rng.Random;
import common.world.State; import common.world.State;

View file

@ -3,7 +3,7 @@ package common.block.foliage;
import common.block.Block; import common.block.Block;
import common.init.Blocks; import common.init.Blocks;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.rng.Random; import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -6,7 +6,7 @@ import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;
import common.rng.Random; import common.rng.Random;

View file

@ -4,7 +4,7 @@ import common.init.Items;
import common.item.Item; import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.util.BlockPos; import common.util.BlockPos;
import common.world.State; import common.world.State;
import common.world.World; import common.world.World;

View file

@ -4,7 +4,7 @@ import common.block.Block;
import common.block.Material; import common.block.Material;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.util.BlockPos; import common.util.BlockPos;
import common.world.State; import common.world.State;
import common.world.World; import common.world.World;

View file

@ -5,7 +5,7 @@ import common.block.Material;
import common.init.Blocks; import common.init.Blocks;
import common.item.StackSize; import common.item.StackSize;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyInteger; import common.properties.PropertyInteger;

View file

@ -8,7 +8,7 @@ import common.init.Blocks;
import common.init.WoodType; import common.init.WoodType;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyInteger; import common.properties.PropertyInteger;

View file

@ -6,7 +6,7 @@ import common.init.Items;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyInteger; import common.properties.PropertyInteger;
import common.rng.Random; import common.rng.Random;

View file

@ -7,7 +7,7 @@ import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;
import common.rng.Random; import common.rng.Random;

View file

@ -9,7 +9,7 @@ import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.item.tool.ItemShears; import common.item.tool.ItemShears;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.rng.Random; import common.rng.Random;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;

View file

@ -6,7 +6,7 @@ import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;
import common.rng.Random; import common.rng.Random;

View file

@ -10,7 +10,7 @@ import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.item.tool.ItemShears; import common.item.tool.ItemShears;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -7,7 +7,7 @@ import common.init.Items;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyInteger; import common.properties.PropertyInteger;
import common.rng.Random; import common.rng.Random;

View file

@ -5,7 +5,7 @@ import common.block.Material;
import common.color.DyeColor; import common.color.DyeColor;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.world.State; import common.world.State;
public class BlockColoredClay extends Block { public class BlockColoredClay extends Block {

View file

@ -7,7 +7,7 @@ import common.block.Material;
import common.block.artificial.BlockPortal; import common.block.artificial.BlockPortal;
import common.init.SoundEvent; import common.init.SoundEvent;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.TextureAnimation; import common.model.TextureAnimation;
import common.properties.Property; import common.properties.Property;
@ -437,8 +437,8 @@ public class BlockFire extends Block
return new Property[] {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) { private static Model fire_nsu2_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -452,8 +452,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nu1(String fire) { private static Model fire_nu1(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -463,8 +463,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
private static Model fire_nseu2_flip(String fire) { private static Model fire_nseu2_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -482,8 +482,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_neu1_flip(String fire) { private static Model fire_neu1_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -497,8 +497,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
private static Model fire_nsu2(String fire) { private static Model fire_nsu2(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -512,8 +512,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nu2_flip(String fire) { private static Model fire_nu2_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -523,8 +523,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_neu2_flip(String fire) { private static Model fire_neu2_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -538,8 +538,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nsewu2_flip(String fire) { private static Model fire_nsewu2_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -561,8 +561,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nsewu2(String fire) { private static Model fire_nsewu2(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -584,8 +584,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nsew(String fire) { private static Model fire_nsew(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -603,8 +603,8 @@ public class BlockFire extends Block
.add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade()
.w().uv(0, 0, 16, 16).noCull(); .w().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_floor(String fire) { private static Model fire_floor(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 0, 8.8f, 16, 22.4f, 8.8f).noShade().rotate(8, 8, 8, Facing.Axis.X, -22.5f, true) .add(0, 0, 8.8f, 16, 22.4f, 8.8f).noShade().rotate(8, 8, 8, Facing.Axis.X, -22.5f, true)
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 0, 7.2f, 16, 22.4f, 7.2f).noShade().rotate(8, 8, 8, Facing.Axis.X, 22.5f, true) .add(0, 0, 7.2f, 16, 22.4f, 7.2f).noShade().rotate(8, 8, 8, Facing.Axis.X, 22.5f, true)
@ -622,22 +622,22 @@ public class BlockFire extends Block
.add(15.99f, 0, 0, 15.99f, 22.4f, 16).noShade() .add(15.99f, 0, 0, 15.99f, 22.4f, 16).noShade()
.e().uv(0, 0, 16, 16).noCull(); .e().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_u1(String fire) { private static Model fire_u1(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(16, 16, 8, Facing.Axis.Z, 22.5f, true)
.d().uv(0, 0, 16, 16).rot(270).noCull() .d().uv(0, 0, 16, 16).rot(270).noCull()
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
private static Model fire_n_flip(String fire) { private static Model fire_n_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.n().uv(16, 0, 0, 16).noCull(); .n().uv(16, 0, 0, 16).noCull();
} }
private static Model fire_ne(String fire) { private static Model fire_ne(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -647,8 +647,8 @@ public class BlockFire extends Block
.add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade()
.w().uv(0, 0, 16, 16).noCull(); .w().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nsew_flip(String fire) { private static Model fire_nsew_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -666,8 +666,8 @@ public class BlockFire extends Block
.add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade() .add(15.99f, 1, 0, 0.01f, 23.4f, 16).noShade()
.w().uv(16, 0, 0, 16).noCull(); .w().uv(16, 0, 0, 16).noCull();
} }
private static Model fire_nse(String fire) { private static Model fire_nse(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -681,8 +681,8 @@ public class BlockFire extends Block
.add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade()
.w().uv(0, 0, 16, 16).noCull(); .w().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nse_flip(String fire) { private static Model fire_nse_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -696,8 +696,8 @@ public class BlockFire extends Block
.add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade()
.w().uv(16, 0, 0, 16).noCull(); .w().uv(16, 0, 0, 16).noCull();
} }
private static Model fire_nsu1_flip(String fire) { private static Model fire_nsu1_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -711,15 +711,15 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
private static Model fire_n(String fire) { private static Model fire_n(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.n().uv(0, 0, 16, 16).noCull(); .n().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_ns(String fire) { private static Model fire_ns(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -729,8 +729,8 @@ public class BlockFire extends Block
.add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade()
.n().uv(0, 0, 16, 16).noCull(); .n().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_neu1(String fire) { private static Model fire_neu1(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -744,15 +744,15 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
private static Model fire_u2(String fire) { private static Model fire_u2(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 16, Facing.Axis.X, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(180).noCull() .d().uv(0, 0, 16, 16).rot(180).noCull()
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nseu2(String fire) { private static Model fire_nseu2(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -770,8 +770,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_neu2(String fire) { private static Model fire_neu2(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -785,8 +785,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nu2(String fire) { private static Model fire_nu2(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -796,8 +796,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(8, 16, 0, Facing.Axis.X, 22.5f, true)
.d().uv(0, 0, 16, 16).noCull(); .d().uv(0, 0, 16, 16).noCull();
} }
private static Model fire_nseu1(String fire) { private static Model fire_nseu1(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -815,8 +815,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
private static Model fire_ns_flip(String fire) { private static Model fire_ns_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -826,8 +826,8 @@ public class BlockFire extends Block
.add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade() .add(0, 1, 15.99f, 16, 23.4f, 15.99f).noShade()
.n().uv(16, 0, 0, 16).noCull(); .n().uv(16, 0, 0, 16).noCull();
} }
private static Model fire_nsewu1(String fire) { private static Model fire_nsewu1(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -849,8 +849,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
private static Model fire_nsu1(String fire) { private static Model fire_nsu1(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(0, 0, 16, 16).noCull() .s().uv(0, 0, 16, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -864,8 +864,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
private static Model fire_nsewu1_flip(String fire) { private static Model fire_nsewu1_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -887,8 +887,8 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
private static Model fire_ne_flip(String fire) { private static Model fire_ne_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -898,8 +898,8 @@ public class BlockFire extends Block
.add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade() .add(15.99f, 1, 0, 15.99f, 23.4f, 16).noShade()
.w().uv(16, 0, 0, 16).noCull(); .w().uv(16, 0, 0, 16).noCull();
} }
private static Model fire_nseu1_flip(String fire) { private static Model fire_nseu1_flip(Model fire) {
return ModelProvider.getModelProvider().getModel(fire) return fire
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
.s().uv(16, 0, 0, 16).noCull() .s().uv(16, 0, 0, 16).noCull()
.add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade() .add(0, 1, 0.01f, 16, 23.4f, 0.01f).noShade()
@ -917,205 +917,205 @@ public class BlockFire extends Block
.add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true) .add(0, 16, 0, 16, 16, 16).noShade().rotate(0, 16, 8, Facing.Axis.Z, -22.5f, true)
.d().uv(0, 0, 16, 16).rot(90).noCull(); .d().uv(0, 0, 16, 16).rot(90).noCull();
} }
protected static Model getFireModel(String tex, boolean flip, int upper, boolean n, boolean s, boolean w, boolean e) { protected static Model getFireModel(Model model, boolean flip, int upper, boolean n, boolean s, boolean w, boolean e) {
if(!e && !flip && !n && !s && upper == 0 && !w) if(!e && !flip && !n && !s && upper == 0 && !w)
return fire_floor(tex); return fire_floor(model);
else if(!e && !flip && !n && s && upper == 0 && !w) else if(!e && !flip && !n && s && upper == 0 && !w)
return fire_n(tex).rotate(ModelRotation.X0_Y180); return fire_n(model).rotate(ModelRotation.X0_Y180);
else if(!e && !flip && !n && !s && upper == 0 && w) else if(!e && !flip && !n && !s && upper == 0 && w)
return fire_n(tex).rotate(ModelRotation.X0_Y270); return fire_n(model).rotate(ModelRotation.X0_Y270);
else if(!e && !flip && n && !s && upper == 0 && !w) else if(!e && !flip && n && !s && upper == 0 && !w)
return fire_n(tex); return fire_n(model);
else if(e && !flip && !n && !s && upper == 0 && !w) else if(e && !flip && !n && !s && upper == 0 && !w)
return fire_n(tex).rotate(ModelRotation.X0_Y90); return fire_n(model).rotate(ModelRotation.X0_Y90);
else if(e && !flip && n && !s && upper == 0 && !w) else if(e && !flip && n && !s && upper == 0 && !w)
return fire_ne(tex); return fire_ne(model);
else if(e && !flip && !n && s && upper == 0 && !w) else if(e && !flip && !n && s && upper == 0 && !w)
return fire_ne(tex).rotate(ModelRotation.X0_Y90); return fire_ne(model).rotate(ModelRotation.X0_Y90);
else if(!e && !flip && !n && s && upper == 0 && w) else if(!e && !flip && !n && s && upper == 0 && w)
return fire_ne(tex).rotate(ModelRotation.X0_Y180); return fire_ne(model).rotate(ModelRotation.X0_Y180);
else if(!e && !flip && n && !s && upper == 0 && w) else if(!e && !flip && n && !s && upper == 0 && w)
return fire_ne(tex).rotate(ModelRotation.X0_Y270); return fire_ne(model).rotate(ModelRotation.X0_Y270);
else if(!e && !flip && n && s && upper == 0 && !w) else if(!e && !flip && n && s && upper == 0 && !w)
return fire_ns(tex); return fire_ns(model);
else if(e && !flip && !n && !s && upper == 0 && w) else if(e && !flip && !n && !s && upper == 0 && w)
return fire_ns(tex).rotate(ModelRotation.X0_Y90); return fire_ns(model).rotate(ModelRotation.X0_Y90);
else if(e && !flip && n && s && upper == 0 && !w) else if(e && !flip && n && s && upper == 0 && !w)
return fire_nse(tex); return fire_nse(model);
else if(e && !flip && !n && s && upper == 0 && w) else if(e && !flip && !n && s && upper == 0 && w)
return fire_nse(tex).rotate(ModelRotation.X0_Y90); return fire_nse(model).rotate(ModelRotation.X0_Y90);
else if(!e && !flip && n && s && upper == 0 && w) else if(!e && !flip && n && s && upper == 0 && w)
return fire_nse(tex).rotate(ModelRotation.X0_Y180); return fire_nse(model).rotate(ModelRotation.X0_Y180);
else if(e && !flip && n && !s && upper == 0 && w) else if(e && !flip && n && !s && upper == 0 && w)
return fire_nse(tex).rotate(ModelRotation.X0_Y270); return fire_nse(model).rotate(ModelRotation.X0_Y270);
else if(e && !flip && n && s && upper == 0 && w) else if(e && !flip && n && s && upper == 0 && w)
return fire_nsew(tex); return fire_nsew(model);
else if(!e && !flip && !n && !s && upper == 1 && !w) else if(!e && !flip && !n && !s && upper == 1 && !w)
return fire_u1(tex); return fire_u1(model);
else if(!e && !flip && !n && s && upper == 1 && !w) else if(!e && !flip && !n && s && upper == 1 && !w)
return fire_nu1(tex).rotate(ModelRotation.X0_Y180); return fire_nu1(model).rotate(ModelRotation.X0_Y180);
else if(!e && !flip && !n && !s && upper == 1 && w) else if(!e && !flip && !n && !s && upper == 1 && w)
return fire_nu1(tex).rotate(ModelRotation.X0_Y270); return fire_nu1(model).rotate(ModelRotation.X0_Y270);
else if(!e && !flip && n && !s && upper == 1 && !w) else if(!e && !flip && n && !s && upper == 1 && !w)
return fire_nu1(tex); return fire_nu1(model);
else if(e && !flip && !n && !s && upper == 1 && !w) else if(e && !flip && !n && !s && upper == 1 && !w)
return fire_nu1(tex).rotate(ModelRotation.X0_Y90); return fire_nu1(model).rotate(ModelRotation.X0_Y90);
else if(e && !flip && n && !s && upper == 1 && !w) else if(e && !flip && n && !s && upper == 1 && !w)
return fire_neu1(tex); return fire_neu1(model);
else if(e && !flip && !n && s && upper == 1 && !w) else if(e && !flip && !n && s && upper == 1 && !w)
return fire_neu1(tex).rotate(ModelRotation.X0_Y90); return fire_neu1(model).rotate(ModelRotation.X0_Y90);
else if(!e && !flip && !n && s && upper == 1 && w) else if(!e && !flip && !n && s && upper == 1 && w)
return fire_neu1(tex).rotate(ModelRotation.X0_Y180); return fire_neu1(model).rotate(ModelRotation.X0_Y180);
else if(!e && !flip && n && !s && upper == 1 && w) else if(!e && !flip && n && !s && upper == 1 && w)
return fire_neu1(tex).rotate(ModelRotation.X0_Y270); return fire_neu1(model).rotate(ModelRotation.X0_Y270);
else if(!e && !flip && n && s && upper == 1 && !w) else if(!e && !flip && n && s && upper == 1 && !w)
return fire_nsu1(tex); return fire_nsu1(model);
else if(e && !flip && !n && !s && upper == 1 && w) else if(e && !flip && !n && !s && upper == 1 && w)
return fire_nsu1(tex).rotate(ModelRotation.X0_Y90); return fire_nsu1(model).rotate(ModelRotation.X0_Y90);
else if(e && !flip && n && s && upper == 1 && !w) else if(e && !flip && n && s && upper == 1 && !w)
return fire_nseu1(tex); return fire_nseu1(model);
else if(e && !flip && !n && s && upper == 1 && w) else if(e && !flip && !n && s && upper == 1 && w)
return fire_nseu1(tex).rotate(ModelRotation.X0_Y90); return fire_nseu1(model).rotate(ModelRotation.X0_Y90);
else if(!e && !flip && n && s && upper == 1 && w) else if(!e && !flip && n && s && upper == 1 && w)
return fire_nseu1(tex).rotate(ModelRotation.X0_Y180); return fire_nseu1(model).rotate(ModelRotation.X0_Y180);
else if(e && !flip && n && !s && upper == 1 && w) else if(e && !flip && n && !s && upper == 1 && w)
return fire_nseu1(tex).rotate(ModelRotation.X0_Y270); return fire_nseu1(model).rotate(ModelRotation.X0_Y270);
else if(e && !flip && n && s && upper == 1 && w) else if(e && !flip && n && s && upper == 1 && w)
return fire_nsewu1(tex); return fire_nsewu1(model);
else if(!e && !flip && !n && !s && upper == 2 && !w) else if(!e && !flip && !n && !s && upper == 2 && !w)
return fire_u2(tex); return fire_u2(model);
else if(!e && !flip && !n && s && upper == 2 && !w) else if(!e && !flip && !n && s && upper == 2 && !w)
return fire_nu2(tex).rotate(ModelRotation.X0_Y180); return fire_nu2(model).rotate(ModelRotation.X0_Y180);
else if(!e && !flip && !n && !s && upper == 2 && w) else if(!e && !flip && !n && !s && upper == 2 && w)
return fire_nu2(tex).rotate(ModelRotation.X0_Y270); return fire_nu2(model).rotate(ModelRotation.X0_Y270);
else if(!e && !flip && n && !s && upper == 2 && !w) else if(!e && !flip && n && !s && upper == 2 && !w)
return fire_nu2(tex); return fire_nu2(model);
else if(e && !flip && !n && !s && upper == 2 && !w) else if(e && !flip && !n && !s && upper == 2 && !w)
return fire_nu2(tex).rotate(ModelRotation.X0_Y90); return fire_nu2(model).rotate(ModelRotation.X0_Y90);
else if(e && !flip && n && !s && upper == 2 && !w) else if(e && !flip && n && !s && upper == 2 && !w)
return fire_neu2(tex); return fire_neu2(model);
else if(e && !flip && !n && s && upper == 2 && !w) else if(e && !flip && !n && s && upper == 2 && !w)
return fire_neu2(tex).rotate(ModelRotation.X0_Y90); return fire_neu2(model).rotate(ModelRotation.X0_Y90);
else if(!e && !flip && !n && s && upper == 2 && w) else if(!e && !flip && !n && s && upper == 2 && w)
return fire_neu2(tex).rotate(ModelRotation.X0_Y180); return fire_neu2(model).rotate(ModelRotation.X0_Y180);
else if(!e && !flip && n && !s && upper == 2 && w) else if(!e && !flip && n && !s && upper == 2 && w)
return fire_neu2(tex).rotate(ModelRotation.X0_Y270); return fire_neu2(model).rotate(ModelRotation.X0_Y270);
else if(!e && !flip && n && s && upper == 2 && !w) else if(!e && !flip && n && s && upper == 2 && !w)
return fire_nsu2(tex); return fire_nsu2(model);
else if(e && !flip && !n && !s && upper == 2 && w) else if(e && !flip && !n && !s && upper == 2 && w)
return fire_nsu2(tex).rotate(ModelRotation.X0_Y90); return fire_nsu2(model).rotate(ModelRotation.X0_Y90);
else if(e && !flip && n && s && upper == 2 && !w) else if(e && !flip && n && s && upper == 2 && !w)
return fire_nseu2(tex); return fire_nseu2(model);
else if(e && !flip && !n && s && upper == 2 && w) else if(e && !flip && !n && s && upper == 2 && w)
return fire_nseu2(tex).rotate(ModelRotation.X0_Y90); return fire_nseu2(model).rotate(ModelRotation.X0_Y90);
else if(!e && !flip && n && s && upper == 2 && w) else if(!e && !flip && n && s && upper == 2 && w)
return fire_nseu2(tex).rotate(ModelRotation.X0_Y180); return fire_nseu2(model).rotate(ModelRotation.X0_Y180);
else if(e && !flip && n && !s && upper == 2 && w) else if(e && !flip && n && !s && upper == 2 && w)
return fire_nseu2(tex).rotate(ModelRotation.X0_Y270); return fire_nseu2(model).rotate(ModelRotation.X0_Y270);
else if(e && !flip && n && s && upper == 2 && w) else if(e && !flip && n && s && upper == 2 && w)
return fire_nsewu2(tex); return fire_nsewu2(model);
else if(!e && flip && !n && !s && upper == 0 && !w) else if(!e && flip && !n && !s && upper == 0 && !w)
return fire_floor(tex); return fire_floor(model);
else if(!e && flip && !n && s && upper == 0 && !w) else if(!e && flip && !n && s && upper == 0 && !w)
return fire_n_flip(tex).rotate(ModelRotation.X0_Y180); return fire_n_flip(model).rotate(ModelRotation.X0_Y180);
else if(!e && flip && !n && !s && upper == 0 && w) else if(!e && flip && !n && !s && upper == 0 && w)
return fire_n_flip(tex).rotate(ModelRotation.X0_Y270); return fire_n_flip(model).rotate(ModelRotation.X0_Y270);
else if(!e && flip && n && !s && upper == 0 && !w) else if(!e && flip && n && !s && upper == 0 && !w)
return fire_n_flip(tex); return fire_n_flip(model);
else if(e && flip && !n && !s && upper == 0 && !w) else if(e && flip && !n && !s && upper == 0 && !w)
return fire_n_flip(tex).rotate(ModelRotation.X0_Y90); return fire_n_flip(model).rotate(ModelRotation.X0_Y90);
else if(e && flip && n && !s && upper == 0 && !w) else if(e && flip && n && !s && upper == 0 && !w)
return fire_ne_flip(tex); return fire_ne_flip(model);
else if(e && flip && !n && s && upper == 0 && !w) else if(e && flip && !n && s && upper == 0 && !w)
return fire_ne_flip(tex).rotate(ModelRotation.X0_Y90); return fire_ne_flip(model).rotate(ModelRotation.X0_Y90);
else if(!e && flip && !n && s && upper == 0 && w) else if(!e && flip && !n && s && upper == 0 && w)
return fire_ne_flip(tex).rotate(ModelRotation.X0_Y180); return fire_ne_flip(model).rotate(ModelRotation.X0_Y180);
else if(!e && flip && n && !s && upper == 0 && w) else if(!e && flip && n && !s && upper == 0 && w)
return fire_ne_flip(tex).rotate(ModelRotation.X0_Y270); return fire_ne_flip(model).rotate(ModelRotation.X0_Y270);
else if(!e && flip && n && s && upper == 0 && !w) else if(!e && flip && n && s && upper == 0 && !w)
return fire_ns_flip(tex); return fire_ns_flip(model);
else if(e && flip && !n && !s && upper == 0 && w) else if(e && flip && !n && !s && upper == 0 && w)
return fire_ns_flip(tex).rotate(ModelRotation.X0_Y90); return fire_ns_flip(model).rotate(ModelRotation.X0_Y90);
else if(e && flip && n && s && upper == 0 && !w) else if(e && flip && n && s && upper == 0 && !w)
return fire_nse_flip(tex); return fire_nse_flip(model);
else if(e && flip && !n && s && upper == 0 && w) else if(e && flip && !n && s && upper == 0 && w)
return fire_nse_flip(tex).rotate(ModelRotation.X0_Y90); return fire_nse_flip(model).rotate(ModelRotation.X0_Y90);
else if(!e && flip && n && s && upper == 0 && w) else if(!e && flip && n && s && upper == 0 && w)
return fire_nse_flip(tex).rotate(ModelRotation.X0_Y180); return fire_nse_flip(model).rotate(ModelRotation.X0_Y180);
else if(e && flip && n && !s && upper == 0 && w) else if(e && flip && n && !s && upper == 0 && w)
return fire_nse_flip(tex).rotate(ModelRotation.X0_Y270); return fire_nse_flip(model).rotate(ModelRotation.X0_Y270);
else if(e && flip && n && s && upper == 0 && w) else if(e && flip && n && s && upper == 0 && w)
return fire_nsew_flip(tex); return fire_nsew_flip(model);
else if(!e && flip && !n && !s && upper == 1 && !w) else if(!e && flip && !n && !s && upper == 1 && !w)
return fire_u1(tex); return fire_u1(model);
else if(!e && flip && !n && s && upper == 1 && !w) else if(!e && flip && !n && s && upper == 1 && !w)
return fire_u2(tex).rotate(ModelRotation.X0_Y180); // fire_nu1_flip return fire_u2(model).rotate(ModelRotation.X0_Y180); // fire_nu1_flip
else if(!e && flip && !n && !s && upper == 1 && w) else if(!e && flip && !n && !s && upper == 1 && w)
return fire_u2(tex).rotate(ModelRotation.X0_Y270); // fire_nu1_flip return fire_u2(model).rotate(ModelRotation.X0_Y270); // fire_nu1_flip
else if(!e && flip && n && !s && upper == 1 && !w) else if(!e && flip && n && !s && upper == 1 && !w)
return fire_u2(tex); // fire_nu1_flip return fire_u2(model); // fire_nu1_flip
else if(e && flip && !n && !s && upper == 1 && !w) else if(e && flip && !n && !s && upper == 1 && !w)
return fire_u2(tex).rotate(ModelRotation.X0_Y90); // fire_nu1_flip return fire_u2(model).rotate(ModelRotation.X0_Y90); // fire_nu1_flip
else if(e && flip && n && !s && upper == 1 && !w) else if(e && flip && n && !s && upper == 1 && !w)
return fire_neu1_flip(tex); return fire_neu1_flip(model);
else if(e && flip && !n && s && upper == 1 && !w) else if(e && flip && !n && s && upper == 1 && !w)
return fire_neu1_flip(tex).rotate(ModelRotation.X0_Y90); return fire_neu1_flip(model).rotate(ModelRotation.X0_Y90);
else if(!e && flip && !n && s && upper == 1 && w) else if(!e && flip && !n && s && upper == 1 && w)
return fire_neu1_flip(tex).rotate(ModelRotation.X0_Y180); return fire_neu1_flip(model).rotate(ModelRotation.X0_Y180);
else if(!e && flip && n && !s && upper == 1 && w) else if(!e && flip && n && !s && upper == 1 && w)
return fire_neu1_flip(tex).rotate(ModelRotation.X0_Y270); return fire_neu1_flip(model).rotate(ModelRotation.X0_Y270);
else if(!e && flip && n && s && upper == 1 && !w) else if(!e && flip && n && s && upper == 1 && !w)
return fire_nsu1_flip(tex); return fire_nsu1_flip(model);
else if(e && flip && !n && !s && upper == 1 && w) else if(e && flip && !n && !s && upper == 1 && w)
return fire_nsu1_flip(tex).rotate(ModelRotation.X0_Y90); return fire_nsu1_flip(model).rotate(ModelRotation.X0_Y90);
else if(e && flip && n && s && upper == 1 && !w) else if(e && flip && n && s && upper == 1 && !w)
return fire_nseu1_flip(tex); return fire_nseu1_flip(model);
else if(e && flip && !n && s && upper == 1 && w) else if(e && flip && !n && s && upper == 1 && w)
return fire_nseu1_flip(tex).rotate(ModelRotation.X0_Y90); return fire_nseu1_flip(model).rotate(ModelRotation.X0_Y90);
else if(!e && flip && n && s && upper == 1 && w) else if(!e && flip && n && s && upper == 1 && w)
return fire_nseu1_flip(tex).rotate(ModelRotation.X0_Y180); return fire_nseu1_flip(model).rotate(ModelRotation.X0_Y180);
else if(e && flip && n && !s && upper == 1 && w) else if(e && flip && n && !s && upper == 1 && w)
return fire_nseu1_flip(tex).rotate(ModelRotation.X0_Y270); return fire_nseu1_flip(model).rotate(ModelRotation.X0_Y270);
else if(e && flip && n && s && upper == 1 && w) else if(e && flip && n && s && upper == 1 && w)
return fire_nsewu1_flip(tex); return fire_nsewu1_flip(model);
else if(!e && flip && !n && !s && upper == 2 && !w) else if(!e && flip && !n && !s && upper == 2 && !w)
return fire_u2(tex); return fire_u2(model);
else if(!e && flip && !n && s && upper == 2 && !w) else if(!e && flip && !n && s && upper == 2 && !w)
return fire_nu2_flip(tex).rotate(ModelRotation.X0_Y180); return fire_nu2_flip(model).rotate(ModelRotation.X0_Y180);
else if(!e && flip && !n && !s && upper == 2 && w) else if(!e && flip && !n && !s && upper == 2 && w)
return fire_nu2_flip(tex).rotate(ModelRotation.X0_Y270); return fire_nu2_flip(model).rotate(ModelRotation.X0_Y270);
else if(!e && flip && n && !s && upper == 2 && !w) else if(!e && flip && n && !s && upper == 2 && !w)
return fire_nu2_flip(tex); return fire_nu2_flip(model);
else if(e && flip && !n && !s && upper == 2 && !w) else if(e && flip && !n && !s && upper == 2 && !w)
return fire_nu2_flip(tex).rotate(ModelRotation.X0_Y90); return fire_nu2_flip(model).rotate(ModelRotation.X0_Y90);
else if(e && flip && n && !s && upper == 2 && !w) else if(e && flip && n && !s && upper == 2 && !w)
return fire_neu2_flip(tex); return fire_neu2_flip(model);
else if(e && flip && !n && s && upper == 2 && !w) else if(e && flip && !n && s && upper == 2 && !w)
return fire_neu2_flip(tex).rotate(ModelRotation.X0_Y90); return fire_neu2_flip(model).rotate(ModelRotation.X0_Y90);
else if(!e && flip && !n && s && upper == 2 && w) else if(!e && flip && !n && s && upper == 2 && w)
return fire_neu2_flip(tex).rotate(ModelRotation.X0_Y180); return fire_neu2_flip(model).rotate(ModelRotation.X0_Y180);
else if(!e && flip && n && !s && upper == 2 && w) else if(!e && flip && n && !s && upper == 2 && w)
return fire_neu2_flip(tex).rotate(ModelRotation.X0_Y270); return fire_neu2_flip(model).rotate(ModelRotation.X0_Y270);
else if(!e && flip && n && s && upper == 2 && !w) else if(!e && flip && n && s && upper == 2 && !w)
return fire_nsu2_flip(tex); return fire_nsu2_flip(model);
else if(e && flip && !n && !s && upper == 2 && w) else if(e && flip && !n && !s && upper == 2 && w)
return fire_nsu2_flip(tex).rotate(ModelRotation.X0_Y90); return fire_nsu2_flip(model).rotate(ModelRotation.X0_Y90);
else if(e && flip && n && s && upper == 2 && !w) else if(e && flip && n && s && upper == 2 && !w)
return fire_nseu2_flip(tex); return fire_nseu2_flip(model);
else if(e && flip && !n && s && upper == 2 && w) else if(e && flip && !n && s && upper == 2 && w)
return fire_nseu2_flip(tex).rotate(ModelRotation.X0_Y90); return fire_nseu2_flip(model).rotate(ModelRotation.X0_Y90);
else if(!e && flip && n && s && upper == 2 && w) else if(!e && flip && n && s && upper == 2 && w)
return fire_nseu2_flip(tex).rotate(ModelRotation.X0_Y180); return fire_nseu2_flip(model).rotate(ModelRotation.X0_Y180);
else if(e && flip && n && !s && upper == 2 && w) else if(e && flip && n && !s && upper == 2 && w)
return fire_nseu2_flip(tex).rotate(ModelRotation.X0_Y270); return fire_nseu2_flip(model).rotate(ModelRotation.X0_Y270);
else if(e && flip && n && s && upper == 2 && w) else if(e && flip && n && s && upper == 2 && w)
return fire_nsewu2_flip(tex); return fire_nsewu2_flip(model);
else else
return fire_floor(tex); return fire_floor(model);
} }
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return getFireModel(state.getValue(ALT) ? name + "_layer_1" : name + "_layer_0", state.getValue(FLIP), state.getValue(UPPER), return getFireModel(provider.getModel(state.getValue(ALT) ? name + "_layer_1" : name + "_layer_0"), state.getValue(FLIP), state.getValue(UPPER),
state.getValue(NORTH), state.getValue(SOUTH), state.getValue(WEST), state.getValue(EAST)); state.getValue(NORTH), state.getValue(SOUTH), state.getValue(WEST), state.getValue(EAST));
} }

View file

@ -7,7 +7,7 @@ import common.init.Items;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;
import common.rng.Random; import common.rng.Random;

View file

@ -4,7 +4,7 @@ import common.block.Block;
import common.block.Material; import common.block.Material;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.world.State; import common.world.State;
public class BlockSandStone extends Block { public class BlockSandStone extends Block {

View file

@ -9,7 +9,7 @@ import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyInteger; import common.properties.PropertyInteger;
import common.rng.Random; import common.rng.Random;

View file

@ -7,7 +7,7 @@ import common.init.Items;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.rng.Random; import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -12,7 +12,7 @@ import common.inventory.ContainerRepair;
import common.inventory.InventoryPlayer; import common.inventory.InventoryPlayer;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -7,7 +7,7 @@ import common.entity.Entity;
import common.init.SoundEvent; import common.init.SoundEvent;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.rng.Random; import common.rng.Random;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -8,9 +8,7 @@ import common.block.Material;
import common.entity.Entity; import common.entity.Entity;
import common.entity.npc.EntityNPC; import common.entity.npc.EntityNPC;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property;
import common.properties.PropertyBool;
import common.rng.Random; import common.rng.Random;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;
import common.tileentity.TileEntityBrewingStand; import common.tileentity.TileEntityBrewingStand;
@ -25,342 +23,11 @@ import common.world.AWorldServer;
public class BlockBrewingStand extends Block implements ITileEntityProvider public class BlockBrewingStand extends Block implements ITileEntityProvider
{ {
private static final Model brewing_stand_bottles_2 = ModelProvider.getModelProvider().getModel("brewing_stand")
.add(7, 0, 7, 9, 14, 9)
.d().uv(7, 7, 9, 9).noCull()
.u().uv(7, 7, 9, 9).noCull()
.n().uv(7, 2, 9, 16).noCull()
.s().uv(7, 2, 9, 16).noCull()
.w().uv(7, 2, 9, 16).noCull()
.e().uv(7, 2, 9, 16).noCull()
.add(9, 0, 5, 15, 2, 11)
.d("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.u("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.n("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.s("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.w("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.e("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.add(2, 0, 1, 8, 2, 7)
.d("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.u("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.e("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.add(2, 0, 9, 8, 2, 15)
.d("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.u("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.e("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.add(8, 0, 8, 16, 16, 8)
.n().uv(16, 0, 8, 16).noCull()
.s().uv(8, 0, 16, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, -45, true)
.n().uv(8, 0, 0, 16).noCull()
.s().uv(0, 0, 8, 16).noCull()
;
private static final Model brewing_stand_bottles_123 = ModelProvider.getModelProvider().getModel("brewing_stand")
.add(7, 0, 7, 9, 14, 9)
.d().uv(7, 7, 9, 9).noCull()
.u().uv(7, 7, 9, 9).noCull()
.n().uv(7, 2, 9, 16).noCull()
.s().uv(7, 2, 9, 16).noCull()
.w().uv(7, 2, 9, 16).noCull()
.e().uv(7, 2, 9, 16).noCull()
.add(9, 0, 5, 15, 2, 11)
.d("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.u("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.n("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.s("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.w("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.e("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.add(2, 0, 1, 8, 2, 7)
.d("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.u("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.e("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.add(2, 0, 9, 8, 2, 15)
.d("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.u("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.e("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.add(8, 0, 8, 16, 16, 8)
.n().uv(0, 0, 8, 16).noCull()
.s().uv(8, 0, 0, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true)
.n().uv(8, 0, 0, 16).noCull()
.s().uv(0, 0, 8, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, -45, true)
.n().uv(8, 0, 0, 16).noCull()
.s().uv(0, 0, 8, 16).noCull()
;
private static final Model brewing_stand_empty = ModelProvider.getModelProvider().getModel("brewing_stand")
.add(7, 0, 7, 9, 14, 9)
.d().uv(7, 7, 9, 9).noCull()
.u().uv(7, 7, 9, 9).noCull()
.n().uv(7, 2, 9, 16).noCull()
.s().uv(7, 2, 9, 16).noCull()
.w().uv(7, 2, 9, 16).noCull()
.e().uv(7, 2, 9, 16).noCull()
.add(9, 0, 5, 15, 2, 11)
.d("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.u("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.n("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.s("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.w("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.e("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.add(2, 0, 1, 8, 2, 7)
.d("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.u("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.e("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.add(2, 0, 9, 8, 2, 15)
.d("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.u("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.e("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.add(8, 0, 8, 16, 16, 8)
.n().uv(16, 0, 8, 16).noCull()
.s().uv(8, 0, 16, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, -45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull()
;
private static final Model brewing_stand_bottles_3 = ModelProvider.getModelProvider().getModel("brewing_stand")
.add(7, 0, 7, 9, 14, 9)
.d().uv(7, 7, 9, 9).noCull()
.u().uv(7, 7, 9, 9).noCull()
.n().uv(7, 2, 9, 16).noCull()
.s().uv(7, 2, 9, 16).noCull()
.w().uv(7, 2, 9, 16).noCull()
.e().uv(7, 2, 9, 16).noCull()
.add(9, 0, 5, 15, 2, 11)
.d("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.u("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.n("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.s("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.w("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.e("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.add(2, 0, 1, 8, 2, 7)
.d("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.u("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.e("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.add(2, 0, 9, 8, 2, 15)
.d("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.u("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.e("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.add(8, 0, 8, 16, 16, 8)
.n().uv(16, 0, 8, 16).noCull()
.s().uv(8, 0, 16, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true)
.n().uv(8, 0, 0, 16).noCull()
.s().uv(0, 0, 8, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, -45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull()
;
private static final Model brewing_stand_bottles_13 = ModelProvider.getModelProvider().getModel("brewing_stand")
.add(7, 0, 7, 9, 14, 9)
.d().uv(7, 7, 9, 9).noCull()
.u().uv(7, 7, 9, 9).noCull()
.n().uv(7, 2, 9, 16).noCull()
.s().uv(7, 2, 9, 16).noCull()
.w().uv(7, 2, 9, 16).noCull()
.e().uv(7, 2, 9, 16).noCull()
.add(9, 0, 5, 15, 2, 11)
.d("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.u("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.n("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.s("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.w("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.e("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.add(2, 0, 1, 8, 2, 7)
.d("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.u("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.e("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.add(2, 0, 9, 8, 2, 15)
.d("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.u("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.e("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.add(8, 0, 8, 16, 16, 8)
.n().uv(0, 0, 8, 16).noCull()
.s().uv(8, 0, 0, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true)
.n().uv(8, 0, 0, 16).noCull()
.s().uv(0, 0, 8, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, -45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull()
;
private static final Model brewing_stand_bottles_12 = ModelProvider.getModelProvider().getModel("brewing_stand")
.add(7, 0, 7, 9, 14, 9)
.d().uv(7, 7, 9, 9).noCull()
.u().uv(7, 7, 9, 9).noCull()
.n().uv(7, 2, 9, 16).noCull()
.s().uv(7, 2, 9, 16).noCull()
.w().uv(7, 2, 9, 16).noCull()
.e().uv(7, 2, 9, 16).noCull()
.add(9, 0, 5, 15, 2, 11)
.d("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.u("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.n("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.s("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.w("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.e("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.add(2, 0, 1, 8, 2, 7)
.d("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.u("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.e("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.add(2, 0, 9, 8, 2, 15)
.d("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.u("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.e("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.add(8, 0, 8, 16, 16, 8)
.n().uv(0, 0, 8, 16).noCull()
.s().uv(8, 0, 0, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, -45, true)
.n().uv(8, 0, 0, 16).noCull()
.s().uv(0, 0, 8, 16).noCull()
;
private static final Model brewing_stand_bottles_23 = ModelProvider.getModelProvider().getModel("brewing_stand")
.add(7, 0, 7, 9, 14, 9)
.d().uv(7, 7, 9, 9).noCull()
.u().uv(7, 7, 9, 9).noCull()
.n().uv(7, 2, 9, 16).noCull()
.s().uv(7, 2, 9, 16).noCull()
.w().uv(7, 2, 9, 16).noCull()
.e().uv(7, 2, 9, 16).noCull()
.add(9, 0, 5, 15, 2, 11)
.d("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.u("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.n("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.s("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.w("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.e("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.add(2, 0, 1, 8, 2, 7)
.d("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.u("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.e("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.add(2, 0, 9, 8, 2, 15)
.d("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.u("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.e("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.add(8, 0, 8, 16, 16, 8)
.n().uv(16, 0, 8, 16).noCull()
.s().uv(8, 0, 16, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true)
.n().uv(8, 0, 0, 16).noCull()
.s().uv(0, 0, 8, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, -45, true)
.n().uv(8, 0, 0, 16).noCull()
.s().uv(0, 0, 8, 16).noCull()
;
private static final Model brewing_stand_bottles_1 = ModelProvider.getModelProvider().getModel("brewing_stand")
.add(7, 0, 7, 9, 14, 9)
.d().uv(7, 7, 9, 9).noCull()
.u().uv(7, 7, 9, 9).noCull()
.n().uv(7, 2, 9, 16).noCull()
.s().uv(7, 2, 9, 16).noCull()
.w().uv(7, 2, 9, 16).noCull()
.e().uv(7, 2, 9, 16).noCull()
.add(9, 0, 5, 15, 2, 11)
.d("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.u("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.n("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.s("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.w("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.e("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.add(2, 0, 1, 8, 2, 7)
.d("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.u("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.e("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.add(2, 0, 9, 8, 2, 15)
.d("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.u("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.e("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.add(8, 0, 8, 16, 16, 8)
.n().uv(0, 0, 8, 16).noCull()
.s().uv(8, 0, 0, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, -45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull()
;
private static final Model[] brewing_stand_bottles = new Model[] {
brewing_stand_empty, brewing_stand_bottles_1, brewing_stand_bottles_2, brewing_stand_bottles_12,
brewing_stand_bottles_3, brewing_stand_bottles_13, brewing_stand_bottles_23, brewing_stand_bottles_123
};
public static final PropertyBool HAS_BOTTLE_0 = PropertyBool.create("has_bottle_0");
public static final PropertyBool HAS_BOTTLE_1 = PropertyBool.create("has_bottle_1");
public static final PropertyBool HAS_BOTTLE_2 = PropertyBool.create("has_bottle_2");
public static final PropertyBool[] HAS_BOTTLE = new PropertyBool[] {HAS_BOTTLE_0, HAS_BOTTLE_1, HAS_BOTTLE_2};
public BlockBrewingStand() public BlockBrewingStand()
{ {
super(Material.SOLID); super(Material.SOLID);
this.setDefaultState(this.getBaseState().withProperty(HAS_BOTTLE[0], Boolean.valueOf(false)).withProperty(HAS_BOTTLE[1], Boolean.valueOf(false)).withProperty(HAS_BOTTLE[2], Boolean.valueOf(false)));
} }
// /**
// * Gets the localized name of this block. Used for the statistics page.
// */
// public String getLocalizedName()
// {
// return "Braustand";
// }
/** /**
* Used to determine ambient occlusion and culling when rebuilding chunks for render * Used to determine ambient occlusion and culling when rebuilding chunks for render
*/ */
@ -438,17 +105,48 @@ public class BlockBrewingStand extends Block implements ITileEntityProvider
return true; return true;
} }
protected Property[] getProperties()
{
return new Property[] {HAS_BOTTLE[0], HAS_BOTTLE[1], HAS_BOTTLE[2]};
}
public boolean isMagnetic() { public boolean isMagnetic() {
return true; return true;
} }
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return brewing_stand_bottles[(state.getValue(HAS_BOTTLE[0]) ? 1 : 0) | (state.getValue(HAS_BOTTLE[1]) ? 2 : 0) return provider.getModel("brewing_stand")
| (state.getValue(HAS_BOTTLE[2]) ? 4 : 0)]; .add(7, 0, 7, 9, 14, 9)
.d().uv(7, 7, 9, 9).noCull()
.u().uv(7, 7, 9, 9).noCull()
.n().uv(7, 2, 9, 16).noCull()
.s().uv(7, 2, 9, 16).noCull()
.w().uv(7, 2, 9, 16).noCull()
.e().uv(7, 2, 9, 16).noCull()
.add(9, 0, 5, 15, 2, 11)
.d("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.u("brewing_stand_base").uv(9, 5, 15, 11).noCull()
.n("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.s("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.w("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.e("brewing_stand_base").uv(5, 14, 11, 16).noCull()
.add(2, 0, 1, 8, 2, 7)
.d("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.u("brewing_stand_base").uv(2, 1, 8, 7).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.e("brewing_stand_base").uv(1, 14, 7, 16).noCull()
.add(2, 0, 9, 8, 2, 15)
.d("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.u("brewing_stand_base").uv(2, 9, 8, 15).noCull()
.n("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.s("brewing_stand_base").uv(2, 14, 8, 16).noCull()
.w("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.e("brewing_stand_base").uv(9, 14, 15, 16).noCull()
.add(8, 0, 8, 16, 16, 8)
.n().uv(16, 0, 8, 16).noCull()
.s().uv(8, 0, 16, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, 45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull()
.add(0, 0, 8, 8, 16, 8).rotate(8, 8, 8, Facing.Axis.Y, -45, true)
.n().uv(8, 0, 16, 16).noCull()
.s().uv(16, 0, 8, 16).noCull();
} }
} }

View file

@ -13,7 +13,7 @@ import common.entity.types.EntityLiving;
import common.init.SoundEvent; import common.init.SoundEvent;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -11,7 +11,7 @@ import common.init.Items;
import common.item.Item; import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyInteger; import common.properties.PropertyInteger;
import common.util.BlockPos; import common.util.BlockPos;
@ -25,387 +25,6 @@ import common.world.World;
public class BlockCauldron extends Block public class BlockCauldron extends Block
{ {
private static final Model cauldron_empty = ModelProvider.getModelProvider().getModel("cauldron_side")
.add(0, 3, 0, 2, 16, 16)
.d("cauldron_inner").uv(0, 0, 2, 16)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13).noCull()
.add(2, 3, 2, 14, 4, 14)
.d("cauldron_inner").uv(2, 2, 14, 14)
.u("cauldron_inner").uv(2, 2, 14, 14)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13)
.add(14, 3, 0, 16, 16, 16)
.d("cauldron_inner").uv(14, 0, 16, 16)
.u("cauldron_top").uv(14, 0, 16, 16)
.n().uv(16, 0, 14, 13)
.s().uv(14, 0, 16, 13)
.w().uv(0, 0, 16, 13).noCull()
.e().uv(0, 0, 16, 13)
.add(2, 3, 0, 14, 16, 2)
.d("cauldron_inner").uv(2, 0, 14, 2)
.u("cauldron_top").uv(2, 0, 14, 2)
.n().uv(2, 0, 14, 13)
.s().uv(2, 0, 14, 13).noCull()
.w().uv(0, 0, 2, 13)
.e().uv(0, 0, 2, 13)
.add(2, 3, 14, 14, 16, 16)
.d("cauldron_inner").uv(2, 14, 14, 16)
.u("cauldron_top").uv(2, 14, 14, 16)
.n().uv(2, 0, 14, 13).noCull()
.s().uv(2, 0, 14, 13)
.w().uv(14, 0, 16, 13)
.e().uv(14, 0, 16, 13)
.add(0, 0, 0, 4, 3, 2)
.d("cauldron_bottom").uv(0, 0, 4, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(4, 13, 0, 16)
.s().uv(0, 13, 4, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(0, 0, 2, 2, 3, 4)
.d("cauldron_bottom").uv(0, 2, 2, 4)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 13, 0, 16)
.s().uv(0, 13, 2, 16)
.w().uv(2, 13, 4, 16)
.e().uv(2, 13, 4, 16)
.add(12, 0, 0, 16, 3, 2)
.d("cauldron_bottom").uv(12, 0, 16, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(16, 13, 12, 16)
.s().uv(12, 13, 16, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(14, 0, 2, 16, 3, 4)
.d("cauldron_bottom").uv(14, 2, 16, 4).noCull()
.u("cauldron_top").uv(0, 0, 2, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(4, 13, 2, 16).noCull()
.e().uv(4, 13, 2, 16).noCull()
.add(0, 0, 14, 4, 3, 16)
.d("cauldron_bottom").uv(14, 0, 16, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(4, 13, 0, 16).noCull()
.s().uv(0, 13, 4, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(0, 0, 12, 2, 3, 14)
.d("cauldron_bottom").uv(12, 0, 14, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(2, 13, 0, 16).noCull()
.s().uv(0, 13, 2, 16).noCull()
.w().uv(12, 13, 14, 16).noCull()
.e().uv(12, 13, 14, 16).noCull()
.add(12, 0, 14, 16, 3, 16)
.d("cauldron_bottom").uv(14, 12, 16, 16).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 12, 16).noCull()
.s().uv(12, 13, 16, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(14, 0, 12, 16, 3, 14)
.d("cauldron_bottom").uv(14, 12, 16, 14).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(14, 13, 12, 16).noCull()
.e().uv(14, 13, 12, 16).noCull()
;
private static final Model cauldron_level1 = ModelProvider.getModelProvider().getModel("cauldron_side")
.add(0, 3, 0, 2, 16, 16)
.d("cauldron_inner").uv(0, 0, 2, 16)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13).noCull()
.add(2, 3, 2, 14, 4, 14)
.d("cauldron_inner").uv(2, 2, 14, 14)
.u("cauldron_inner").uv(2, 2, 14, 14)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13)
.add(14, 3, 0, 16, 16, 16)
.d("cauldron_inner").uv(14, 0, 16, 16)
.u("cauldron_top").uv(14, 0, 16, 16)
.n().uv(16, 0, 14, 13)
.s().uv(14, 0, 16, 13)
.w().uv(0, 0, 16, 13).noCull()
.e().uv(0, 0, 16, 13)
.add(2, 3, 0, 14, 16, 2)
.d("cauldron_inner").uv(2, 0, 14, 2)
.u("cauldron_top").uv(2, 0, 14, 2)
.n().uv(2, 0, 14, 13)
.s().uv(2, 0, 14, 13).noCull()
.w().uv(0, 0, 2, 13)
.e().uv(0, 0, 2, 13)
.add(2, 3, 14, 14, 16, 16)
.d("cauldron_inner").uv(2, 14, 14, 16)
.u("cauldron_top").uv(2, 14, 14, 16)
.n().uv(2, 0, 14, 13).noCull()
.s().uv(2, 0, 14, 13)
.w().uv(14, 0, 16, 13)
.e().uv(14, 0, 16, 13)
.add(0, 0, 0, 4, 3, 2)
.d("cauldron_bottom").uv(0, 0, 4, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(4, 13, 0, 16)
.s().uv(0, 13, 4, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(0, 0, 2, 2, 3, 4)
.d("cauldron_bottom").uv(0, 2, 2, 4)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 13, 0, 16)
.s().uv(0, 13, 2, 16)
.w().uv(2, 13, 4, 16)
.e().uv(2, 13, 4, 16)
.add(12, 0, 0, 16, 3, 2)
.d("cauldron_bottom").uv(12, 0, 16, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(16, 13, 12, 16)
.s().uv(12, 13, 16, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(14, 0, 2, 16, 3, 4)
.d("cauldron_bottom").uv(14, 2, 16, 4).noCull()
.u("cauldron_top").uv(0, 0, 2, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(4, 13, 2, 16).noCull()
.e().uv(4, 13, 2, 16).noCull()
.add(0, 0, 14, 4, 3, 16)
.d("cauldron_bottom").uv(14, 0, 16, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(4, 13, 0, 16).noCull()
.s().uv(0, 13, 4, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(0, 0, 12, 2, 3, 14)
.d("cauldron_bottom").uv(12, 0, 14, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(2, 13, 0, 16).noCull()
.s().uv(0, 13, 2, 16).noCull()
.w().uv(12, 13, 14, 16).noCull()
.e().uv(12, 13, 14, 16).noCull()
.add(12, 0, 14, 16, 3, 16)
.d("cauldron_bottom").uv(14, 12, 16, 16).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 12, 16).noCull()
.s().uv(12, 13, 16, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(14, 0, 12, 16, 3, 14)
.d("cauldron_bottom").uv(14, 12, 16, 14).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(14, 13, 12, 16).noCull()
.e().uv(14, 13, 12, 16).noCull()
.add(2, 9, 2, 14, 9, 14)
.u("water_still").uv(2, 2, 14, 14).noCull()
;
private static final Model cauldron_level2 = ModelProvider.getModelProvider().getModel("cauldron_side")
.add(0, 3, 0, 2, 16, 16)
.d("cauldron_inner").uv(0, 0, 2, 16)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13).noCull()
.add(2, 3, 2, 14, 4, 14)
.d("cauldron_inner").uv(2, 2, 14, 14)
.u("cauldron_inner").uv(2, 2, 14, 14)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13)
.add(14, 3, 0, 16, 16, 16)
.d("cauldron_inner").uv(14, 0, 16, 16)
.u("cauldron_top").uv(14, 0, 16, 16)
.n().uv(16, 0, 14, 13)
.s().uv(14, 0, 16, 13)
.w().uv(0, 0, 16, 13).noCull()
.e().uv(0, 0, 16, 13)
.add(2, 3, 0, 14, 16, 2)
.d("cauldron_inner").uv(2, 0, 14, 2)
.u("cauldron_top").uv(2, 0, 14, 2)
.n().uv(2, 0, 14, 13)
.s().uv(2, 0, 14, 13).noCull()
.w().uv(0, 0, 2, 13)
.e().uv(0, 0, 2, 13)
.add(2, 3, 14, 14, 16, 16)
.d("cauldron_inner").uv(2, 14, 14, 16)
.u("cauldron_top").uv(2, 14, 14, 16)
.n().uv(2, 0, 14, 13).noCull()
.s().uv(2, 0, 14, 13)
.w().uv(14, 0, 16, 13)
.e().uv(14, 0, 16, 13)
.add(0, 0, 0, 4, 3, 2)
.d("cauldron_bottom").uv(0, 0, 4, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(4, 13, 0, 16)
.s().uv(0, 13, 4, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(0, 0, 2, 2, 3, 4)
.d("cauldron_bottom").uv(0, 2, 2, 4)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 13, 0, 16)
.s().uv(0, 13, 2, 16)
.w().uv(2, 13, 4, 16)
.e().uv(2, 13, 4, 16)
.add(12, 0, 0, 16, 3, 2)
.d("cauldron_bottom").uv(12, 0, 16, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(16, 13, 12, 16)
.s().uv(12, 13, 16, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(14, 0, 2, 16, 3, 4)
.d("cauldron_bottom").uv(14, 2, 16, 4).noCull()
.u("cauldron_top").uv(0, 0, 2, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(4, 13, 2, 16).noCull()
.e().uv(4, 13, 2, 16).noCull()
.add(0, 0, 14, 4, 3, 16)
.d("cauldron_bottom").uv(14, 0, 16, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(4, 13, 0, 16).noCull()
.s().uv(0, 13, 4, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(0, 0, 12, 2, 3, 14)
.d("cauldron_bottom").uv(12, 0, 14, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(2, 13, 0, 16).noCull()
.s().uv(0, 13, 2, 16).noCull()
.w().uv(12, 13, 14, 16).noCull()
.e().uv(12, 13, 14, 16).noCull()
.add(12, 0, 14, 16, 3, 16)
.d("cauldron_bottom").uv(14, 12, 16, 16).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 12, 16).noCull()
.s().uv(12, 13, 16, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(14, 0, 12, 16, 3, 14)
.d("cauldron_bottom").uv(14, 12, 16, 14).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(14, 13, 12, 16).noCull()
.e().uv(14, 13, 12, 16).noCull()
.add(2, 12, 2, 14, 12, 14)
.u("water_still").uv(2, 2, 14, 14).noCull()
;
private static final Model cauldron_level3 = ModelProvider.getModelProvider().getModel("cauldron_side")
.add(0, 3, 0, 2, 16, 16)
.d("cauldron_inner").uv(0, 0, 2, 16)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13).noCull()
.add(2, 3, 2, 14, 4, 14)
.d("cauldron_inner").uv(2, 2, 14, 14)
.u("cauldron_inner").uv(2, 2, 14, 14)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13)
.add(14, 3, 0, 16, 16, 16)
.d("cauldron_inner").uv(14, 0, 16, 16)
.u("cauldron_top").uv(14, 0, 16, 16)
.n().uv(16, 0, 14, 13)
.s().uv(14, 0, 16, 13)
.w().uv(0, 0, 16, 13).noCull()
.e().uv(0, 0, 16, 13)
.add(2, 3, 0, 14, 16, 2)
.d("cauldron_inner").uv(2, 0, 14, 2)
.u("cauldron_top").uv(2, 0, 14, 2)
.n().uv(2, 0, 14, 13)
.s().uv(2, 0, 14, 13).noCull()
.w().uv(0, 0, 2, 13)
.e().uv(0, 0, 2, 13)
.add(2, 3, 14, 14, 16, 16)
.d("cauldron_inner").uv(2, 14, 14, 16)
.u("cauldron_top").uv(2, 14, 14, 16)
.n().uv(2, 0, 14, 13).noCull()
.s().uv(2, 0, 14, 13)
.w().uv(14, 0, 16, 13)
.e().uv(14, 0, 16, 13)
.add(0, 0, 0, 4, 3, 2)
.d("cauldron_bottom").uv(0, 0, 4, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(4, 13, 0, 16)
.s().uv(0, 13, 4, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(0, 0, 2, 2, 3, 4)
.d("cauldron_bottom").uv(0, 2, 2, 4)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 13, 0, 16)
.s().uv(0, 13, 2, 16)
.w().uv(2, 13, 4, 16)
.e().uv(2, 13, 4, 16)
.add(12, 0, 0, 16, 3, 2)
.d("cauldron_bottom").uv(12, 0, 16, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(16, 13, 12, 16)
.s().uv(12, 13, 16, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(14, 0, 2, 16, 3, 4)
.d("cauldron_bottom").uv(14, 2, 16, 4).noCull()
.u("cauldron_top").uv(0, 0, 2, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(4, 13, 2, 16).noCull()
.e().uv(4, 13, 2, 16).noCull()
.add(0, 0, 14, 4, 3, 16)
.d("cauldron_bottom").uv(14, 0, 16, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(4, 13, 0, 16).noCull()
.s().uv(0, 13, 4, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(0, 0, 12, 2, 3, 14)
.d("cauldron_bottom").uv(12, 0, 14, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(2, 13, 0, 16).noCull()
.s().uv(0, 13, 2, 16).noCull()
.w().uv(12, 13, 14, 16).noCull()
.e().uv(12, 13, 14, 16).noCull()
.add(12, 0, 14, 16, 3, 16)
.d("cauldron_bottom").uv(14, 12, 16, 16).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 12, 16).noCull()
.s().uv(12, 13, 16, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(14, 0, 12, 16, 3, 14)
.d("cauldron_bottom").uv(14, 12, 16, 14).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(14, 13, 12, 16).noCull()
.e().uv(14, 13, 12, 16).noCull()
.add(2, 15, 2, 14, 15, 14)
.u("water_still").uv(2, 2, 14, 14).noCull()
;
private static final Model[] cauldron_levels =
new Model[] {cauldron_empty, cauldron_level1, cauldron_level2, cauldron_level3};
public static final PropertyInteger LEVEL = PropertyInteger.create("level", 0, 3); public static final PropertyInteger LEVEL = PropertyInteger.create("level", 0, 3);
public BlockCauldron() public BlockCauldron()
@ -570,6 +189,386 @@ public class BlockCauldron extends Block
} }
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return cauldron_levels[state.getValue(LEVEL)]; switch(state.getValue(LEVEL)) {
case 0:
default:
return provider.getModel("cauldron_side")
.add(0, 3, 0, 2, 16, 16)
.d("cauldron_inner").uv(0, 0, 2, 16)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13).noCull()
.add(2, 3, 2, 14, 4, 14)
.d("cauldron_inner").uv(2, 2, 14, 14)
.u("cauldron_inner").uv(2, 2, 14, 14)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13)
.add(14, 3, 0, 16, 16, 16)
.d("cauldron_inner").uv(14, 0, 16, 16)
.u("cauldron_top").uv(14, 0, 16, 16)
.n().uv(16, 0, 14, 13)
.s().uv(14, 0, 16, 13)
.w().uv(0, 0, 16, 13).noCull()
.e().uv(0, 0, 16, 13)
.add(2, 3, 0, 14, 16, 2)
.d("cauldron_inner").uv(2, 0, 14, 2)
.u("cauldron_top").uv(2, 0, 14, 2)
.n().uv(2, 0, 14, 13)
.s().uv(2, 0, 14, 13).noCull()
.w().uv(0, 0, 2, 13)
.e().uv(0, 0, 2, 13)
.add(2, 3, 14, 14, 16, 16)
.d("cauldron_inner").uv(2, 14, 14, 16)
.u("cauldron_top").uv(2, 14, 14, 16)
.n().uv(2, 0, 14, 13).noCull()
.s().uv(2, 0, 14, 13)
.w().uv(14, 0, 16, 13)
.e().uv(14, 0, 16, 13)
.add(0, 0, 0, 4, 3, 2)
.d("cauldron_bottom").uv(0, 0, 4, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(4, 13, 0, 16)
.s().uv(0, 13, 4, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(0, 0, 2, 2, 3, 4)
.d("cauldron_bottom").uv(0, 2, 2, 4)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 13, 0, 16)
.s().uv(0, 13, 2, 16)
.w().uv(2, 13, 4, 16)
.e().uv(2, 13, 4, 16)
.add(12, 0, 0, 16, 3, 2)
.d("cauldron_bottom").uv(12, 0, 16, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(16, 13, 12, 16)
.s().uv(12, 13, 16, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(14, 0, 2, 16, 3, 4)
.d("cauldron_bottom").uv(14, 2, 16, 4).noCull()
.u("cauldron_top").uv(0, 0, 2, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(4, 13, 2, 16).noCull()
.e().uv(4, 13, 2, 16).noCull()
.add(0, 0, 14, 4, 3, 16)
.d("cauldron_bottom").uv(14, 0, 16, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(4, 13, 0, 16).noCull()
.s().uv(0, 13, 4, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(0, 0, 12, 2, 3, 14)
.d("cauldron_bottom").uv(12, 0, 14, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(2, 13, 0, 16).noCull()
.s().uv(0, 13, 2, 16).noCull()
.w().uv(12, 13, 14, 16).noCull()
.e().uv(12, 13, 14, 16).noCull()
.add(12, 0, 14, 16, 3, 16)
.d("cauldron_bottom").uv(14, 12, 16, 16).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 12, 16).noCull()
.s().uv(12, 13, 16, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(14, 0, 12, 16, 3, 14)
.d("cauldron_bottom").uv(14, 12, 16, 14).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(14, 13, 12, 16).noCull()
.e().uv(14, 13, 12, 16).noCull();
case 1:
return provider.getModel("cauldron_side")
.add(0, 3, 0, 2, 16, 16)
.d("cauldron_inner").uv(0, 0, 2, 16)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13).noCull()
.add(2, 3, 2, 14, 4, 14)
.d("cauldron_inner").uv(2, 2, 14, 14)
.u("cauldron_inner").uv(2, 2, 14, 14)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13)
.add(14, 3, 0, 16, 16, 16)
.d("cauldron_inner").uv(14, 0, 16, 16)
.u("cauldron_top").uv(14, 0, 16, 16)
.n().uv(16, 0, 14, 13)
.s().uv(14, 0, 16, 13)
.w().uv(0, 0, 16, 13).noCull()
.e().uv(0, 0, 16, 13)
.add(2, 3, 0, 14, 16, 2)
.d("cauldron_inner").uv(2, 0, 14, 2)
.u("cauldron_top").uv(2, 0, 14, 2)
.n().uv(2, 0, 14, 13)
.s().uv(2, 0, 14, 13).noCull()
.w().uv(0, 0, 2, 13)
.e().uv(0, 0, 2, 13)
.add(2, 3, 14, 14, 16, 16)
.d("cauldron_inner").uv(2, 14, 14, 16)
.u("cauldron_top").uv(2, 14, 14, 16)
.n().uv(2, 0, 14, 13).noCull()
.s().uv(2, 0, 14, 13)
.w().uv(14, 0, 16, 13)
.e().uv(14, 0, 16, 13)
.add(0, 0, 0, 4, 3, 2)
.d("cauldron_bottom").uv(0, 0, 4, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(4, 13, 0, 16)
.s().uv(0, 13, 4, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(0, 0, 2, 2, 3, 4)
.d("cauldron_bottom").uv(0, 2, 2, 4)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 13, 0, 16)
.s().uv(0, 13, 2, 16)
.w().uv(2, 13, 4, 16)
.e().uv(2, 13, 4, 16)
.add(12, 0, 0, 16, 3, 2)
.d("cauldron_bottom").uv(12, 0, 16, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(16, 13, 12, 16)
.s().uv(12, 13, 16, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(14, 0, 2, 16, 3, 4)
.d("cauldron_bottom").uv(14, 2, 16, 4).noCull()
.u("cauldron_top").uv(0, 0, 2, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(4, 13, 2, 16).noCull()
.e().uv(4, 13, 2, 16).noCull()
.add(0, 0, 14, 4, 3, 16)
.d("cauldron_bottom").uv(14, 0, 16, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(4, 13, 0, 16).noCull()
.s().uv(0, 13, 4, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(0, 0, 12, 2, 3, 14)
.d("cauldron_bottom").uv(12, 0, 14, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(2, 13, 0, 16).noCull()
.s().uv(0, 13, 2, 16).noCull()
.w().uv(12, 13, 14, 16).noCull()
.e().uv(12, 13, 14, 16).noCull()
.add(12, 0, 14, 16, 3, 16)
.d("cauldron_bottom").uv(14, 12, 16, 16).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 12, 16).noCull()
.s().uv(12, 13, 16, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(14, 0, 12, 16, 3, 14)
.d("cauldron_bottom").uv(14, 12, 16, 14).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(14, 13, 12, 16).noCull()
.e().uv(14, 13, 12, 16).noCull()
.add(2, 9, 2, 14, 9, 14)
.u("water_still").uv(2, 2, 14, 14).noCull();
case 2:
return provider.getModel("cauldron_side")
.add(0, 3, 0, 2, 16, 16)
.d("cauldron_inner").uv(0, 0, 2, 16)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13).noCull()
.add(2, 3, 2, 14, 4, 14)
.d("cauldron_inner").uv(2, 2, 14, 14)
.u("cauldron_inner").uv(2, 2, 14, 14)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13)
.add(14, 3, 0, 16, 16, 16)
.d("cauldron_inner").uv(14, 0, 16, 16)
.u("cauldron_top").uv(14, 0, 16, 16)
.n().uv(16, 0, 14, 13)
.s().uv(14, 0, 16, 13)
.w().uv(0, 0, 16, 13).noCull()
.e().uv(0, 0, 16, 13)
.add(2, 3, 0, 14, 16, 2)
.d("cauldron_inner").uv(2, 0, 14, 2)
.u("cauldron_top").uv(2, 0, 14, 2)
.n().uv(2, 0, 14, 13)
.s().uv(2, 0, 14, 13).noCull()
.w().uv(0, 0, 2, 13)
.e().uv(0, 0, 2, 13)
.add(2, 3, 14, 14, 16, 16)
.d("cauldron_inner").uv(2, 14, 14, 16)
.u("cauldron_top").uv(2, 14, 14, 16)
.n().uv(2, 0, 14, 13).noCull()
.s().uv(2, 0, 14, 13)
.w().uv(14, 0, 16, 13)
.e().uv(14, 0, 16, 13)
.add(0, 0, 0, 4, 3, 2)
.d("cauldron_bottom").uv(0, 0, 4, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(4, 13, 0, 16)
.s().uv(0, 13, 4, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(0, 0, 2, 2, 3, 4)
.d("cauldron_bottom").uv(0, 2, 2, 4)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 13, 0, 16)
.s().uv(0, 13, 2, 16)
.w().uv(2, 13, 4, 16)
.e().uv(2, 13, 4, 16)
.add(12, 0, 0, 16, 3, 2)
.d("cauldron_bottom").uv(12, 0, 16, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(16, 13, 12, 16)
.s().uv(12, 13, 16, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(14, 0, 2, 16, 3, 4)
.d("cauldron_bottom").uv(14, 2, 16, 4).noCull()
.u("cauldron_top").uv(0, 0, 2, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(4, 13, 2, 16).noCull()
.e().uv(4, 13, 2, 16).noCull()
.add(0, 0, 14, 4, 3, 16)
.d("cauldron_bottom").uv(14, 0, 16, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(4, 13, 0, 16).noCull()
.s().uv(0, 13, 4, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(0, 0, 12, 2, 3, 14)
.d("cauldron_bottom").uv(12, 0, 14, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(2, 13, 0, 16).noCull()
.s().uv(0, 13, 2, 16).noCull()
.w().uv(12, 13, 14, 16).noCull()
.e().uv(12, 13, 14, 16).noCull()
.add(12, 0, 14, 16, 3, 16)
.d("cauldron_bottom").uv(14, 12, 16, 16).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 12, 16).noCull()
.s().uv(12, 13, 16, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(14, 0, 12, 16, 3, 14)
.d("cauldron_bottom").uv(14, 12, 16, 14).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(14, 13, 12, 16).noCull()
.e().uv(14, 13, 12, 16).noCull()
.add(2, 12, 2, 14, 12, 14)
.u("water_still").uv(2, 2, 14, 14).noCull();
case 3:
return provider.getModel("cauldron_side")
.add(0, 3, 0, 2, 16, 16)
.d("cauldron_inner").uv(0, 0, 2, 16)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13).noCull()
.add(2, 3, 2, 14, 4, 14)
.d("cauldron_inner").uv(2, 2, 14, 14)
.u("cauldron_inner").uv(2, 2, 14, 14)
.n().uv(2, 0, 0, 13)
.s().uv(0, 0, 2, 13)
.w().uv(0, 0, 16, 13)
.e().uv(0, 0, 16, 13)
.add(14, 3, 0, 16, 16, 16)
.d("cauldron_inner").uv(14, 0, 16, 16)
.u("cauldron_top").uv(14, 0, 16, 16)
.n().uv(16, 0, 14, 13)
.s().uv(14, 0, 16, 13)
.w().uv(0, 0, 16, 13).noCull()
.e().uv(0, 0, 16, 13)
.add(2, 3, 0, 14, 16, 2)
.d("cauldron_inner").uv(2, 0, 14, 2)
.u("cauldron_top").uv(2, 0, 14, 2)
.n().uv(2, 0, 14, 13)
.s().uv(2, 0, 14, 13).noCull()
.w().uv(0, 0, 2, 13)
.e().uv(0, 0, 2, 13)
.add(2, 3, 14, 14, 16, 16)
.d("cauldron_inner").uv(2, 14, 14, 16)
.u("cauldron_top").uv(2, 14, 14, 16)
.n().uv(2, 0, 14, 13).noCull()
.s().uv(2, 0, 14, 13)
.w().uv(14, 0, 16, 13)
.e().uv(14, 0, 16, 13)
.add(0, 0, 0, 4, 3, 2)
.d("cauldron_bottom").uv(0, 0, 4, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(4, 13, 0, 16)
.s().uv(0, 13, 4, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(0, 0, 2, 2, 3, 4)
.d("cauldron_bottom").uv(0, 2, 2, 4)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(2, 13, 0, 16)
.s().uv(0, 13, 2, 16)
.w().uv(2, 13, 4, 16)
.e().uv(2, 13, 4, 16)
.add(12, 0, 0, 16, 3, 2)
.d("cauldron_bottom").uv(12, 0, 16, 2)
.u("cauldron_top").uv(0, 0, 2, 16)
.n().uv(16, 13, 12, 16)
.s().uv(12, 13, 16, 16)
.w().uv(0, 13, 2, 16)
.e().uv(0, 13, 2, 16)
.add(14, 0, 2, 16, 3, 4)
.d("cauldron_bottom").uv(14, 2, 16, 4).noCull()
.u("cauldron_top").uv(0, 0, 2, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(4, 13, 2, 16).noCull()
.e().uv(4, 13, 2, 16).noCull()
.add(0, 0, 14, 4, 3, 16)
.d("cauldron_bottom").uv(14, 0, 16, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(4, 13, 0, 16).noCull()
.s().uv(0, 13, 4, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(0, 0, 12, 2, 3, 14)
.d("cauldron_bottom").uv(12, 0, 14, 4).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(2, 13, 0, 16).noCull()
.s().uv(0, 13, 2, 16).noCull()
.w().uv(12, 13, 14, 16).noCull()
.e().uv(12, 13, 14, 16).noCull()
.add(12, 0, 14, 16, 3, 16)
.d("cauldron_bottom").uv(14, 12, 16, 16).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 12, 16).noCull()
.s().uv(12, 13, 16, 16).noCull()
.w().uv(14, 13, 16, 16).noCull()
.e().uv(14, 13, 16, 16).noCull()
.add(14, 0, 12, 16, 3, 14)
.d("cauldron_bottom").uv(14, 12, 16, 14).noCull()
.u("cauldron_top").uv(14, 0, 16, 16).noCull()
.n().uv(16, 13, 14, 16).noCull()
.s().uv(14, 13, 16, 16).noCull()
.w().uv(14, 13, 12, 16).noCull()
.e().uv(14, 13, 12, 16).noCull()
.add(2, 15, 2, 14, 15, 14)
.u("water_still").uv(2, 2, 14, 14).noCull();
}
} }
} }

View file

@ -20,7 +20,7 @@ import common.item.CheatTab;
import common.item.ItemStack; import common.item.ItemStack;
import common.item.tool.ItemKey; import common.item.tool.ItemKey;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.packet.SPacketSoundEffect; import common.packet.SPacketSoundEffect;
import common.properties.Property; import common.properties.Property;

View file

@ -10,7 +10,7 @@ import common.entity.types.EntityLiving;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.rng.Random; import common.rng.Random;

View file

@ -11,7 +11,7 @@ import common.block.Rotatable;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -3,37 +3,13 @@ package common.block.tech;
import common.block.Material; import common.block.Material;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;
import common.util.Clientside; import common.util.Clientside;
import common.tileentity.DeviceEffectGenerator; import common.tileentity.DeviceEffectGenerator;
import common.world.State; import common.world.State;
public class BlockEffectGenerator extends BlockMachine { public class BlockEffectGenerator extends BlockMachine {
private static final Model MODEL = ModelProvider.getModelProvider().getModel("glass")
.add(0, 0, 0, 16, 16, 16)
.d().uv(0, 0, 16, 16).noCull()
.u().uv(0, 0, 16, 16).noCull()
.n().uv(0, 0, 16, 16).noCull()
.s().uv(0, 0, 16, 16).noCull()
.w().uv(0, 0, 16, 16).noCull()
.e().uv(0, 0, 16, 16).noCull()
.add(2, 0.1f, 2, 14, 3, 14)
.d("obsidian").uv(2, 2, 14, 14).noCull()
.u("obsidian").uv(2, 2, 14, 14).noCull()
.n("obsidian").uv(2, 13, 14, 16).noCull()
.s("obsidian").uv(2, 13, 14, 16).noCull()
.w("obsidian").uv(2, 13, 14, 16).noCull()
.e("obsidian").uv(2, 13, 14, 16).noCull()
.add(3, 3, 3, 13, 14, 13)
.d("effect_generator").uv(3, 3, 13, 13).noCull()
.u("effect_generator").uv(3, 3, 13, 13).noCull()
.n("effect_generator").uv(3, 2, 13, 13).noCull()
.s("effect_generator").uv(3, 2, 13, 13).noCull()
.w("effect_generator").uv(3, 2, 13, 13).noCull()
.e("effect_generator").uv(3, 2, 13, 13).noCull()
;
public BlockEffectGenerator() { public BlockEffectGenerator() {
super(Material.TRANSLUCENT); super(Material.TRANSLUCENT);
this.setHardness(3.0F); this.setHardness(3.0F);
@ -58,6 +34,27 @@ public class BlockEffectGenerator extends BlockMachine {
} }
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return MODEL; return provider.getModel("glass")
.add(0, 0, 0, 16, 16, 16)
.d().uv(0, 0, 16, 16).noCull()
.u().uv(0, 0, 16, 16).noCull()
.n().uv(0, 0, 16, 16).noCull()
.s().uv(0, 0, 16, 16).noCull()
.w().uv(0, 0, 16, 16).noCull()
.e().uv(0, 0, 16, 16).noCull()
.add(2, 0.1f, 2, 14, 3, 14)
.d("obsidian").uv(2, 2, 14, 14).noCull()
.u("obsidian").uv(2, 2, 14, 14).noCull()
.n("obsidian").uv(2, 13, 14, 16).noCull()
.s("obsidian").uv(2, 13, 14, 16).noCull()
.w("obsidian").uv(2, 13, 14, 16).noCull()
.e("obsidian").uv(2, 13, 14, 16).noCull()
.add(3, 3, 3, 13, 14, 13)
.d("effect_generator").uv(3, 3, 13, 13).noCull()
.u("effect_generator").uv(3, 3, 13, 13).noCull()
.n("effect_generator").uv(3, 2, 13, 13).noCull()
.s("effect_generator").uv(3, 2, 13, 13).noCull()
.w("effect_generator").uv(3, 2, 13, 13).noCull()
.e("effect_generator").uv(3, 2, 13, 13).noCull();
} }
} }

View file

@ -8,7 +8,7 @@ import common.inventory.ContainerEnchantment;
import common.inventory.InventoryPlayer; import common.inventory.InventoryPlayer;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.util.BlockPos; import common.util.BlockPos;
import common.util.Facing; import common.util.Facing;
import common.world.State; import common.world.State;
@ -16,16 +16,6 @@ import common.world.World;
public class BlockEnchantmentTable extends Block public class BlockEnchantmentTable extends Block
{ {
private static final Model MODEL = ModelProvider.getModelProvider().getModel("enchanting_table_bottom")
.add(0, 0, 0, 16, 12, 16)
.d().uv(0, 0, 16, 16)
.u("enchanting_table_top").uv(0, 0, 16, 16).noCull()
.n("enchanting_table_side").uv(0, 4, 16, 16)
.s("enchanting_table_side").uv(0, 4, 16, 16)
.w("enchanting_table_side").uv(0, 4, 16, 16)
.e("enchanting_table_side").uv(0, 4, 16, 16)
;
public BlockEnchantmentTable() public BlockEnchantmentTable()
{ {
super(Material.SOLID); super(Material.SOLID);
@ -58,7 +48,14 @@ public class BlockEnchantmentTable extends Block
} }
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return MODEL; return provider.getModel("enchanting_table_bottom")
.add(0, 0, 0, 16, 12, 16)
.d().uv(0, 0, 16, 16)
.u("enchanting_table_top").uv(0, 0, 16, 16).noCull()
.n("enchanting_table_side").uv(0, 4, 16, 16)
.s("enchanting_table_side").uv(0, 4, 16, 16)
.w("enchanting_table_side").uv(0, 4, 16, 16)
.e("enchanting_table_side").uv(0, 4, 16, 16);
} }
public class Enchanter implements InteractionObject public class Enchanter implements InteractionObject

View file

@ -10,7 +10,7 @@ import common.init.Blocks;
import common.init.Items; import common.init.Items;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.rng.Random; import common.rng.Random;

View file

@ -11,7 +11,7 @@ import common.entity.npc.EntityNPC;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;
@ -27,59 +27,6 @@ import common.world.AWorldServer;
public class BlockHopper extends Block implements ITileEntityProvider, Directional public class BlockHopper extends Block implements ITileEntityProvider, Directional
{ {
private static Model getHopperModel(boolean up) {
return ModelProvider.getModelProvider().getModel("hopper_outside")
.add(0, 10, 0, 16, 11, 16)
.d().uv(0, 0, 16, 16).noCull()
.u("hopper_inside").uv(0, 0, 16, 16).noCull()
.n().uv(0, 5, 16, 6).noCull()
.s().uv(0, 5, 16, 6).noCull()
.w().uv(0, 5, 16, 6).noCull()
.e().uv(0, 5, 16, 6).noCull()
.add(0, 11, 0, 2, 16, 16)
.d().uv(0, 0, 2, 16).noCull()
.u("hopper_top").uv(0, 0, 2, 16).noCull()
.n().uv(0, 0, 2, 5).noCull()
.s().uv(0, 0, 2, 5).noCull()
.w().uv(0, 0, 16, 5).noCull()
.e().uv(0, 0, 16, 5).noCull()
.add(14, 11, 0, 16, 16, 16)
.d().uv(14, 0, 16, 16).noCull()
.u("hopper_top").uv(14, 0, 16, 16).noCull()
.n().uv(14, 0, 16, 5).noCull()
.s().uv(14, 0, 16, 5).noCull()
.w().uv(0, 0, 16, 5).noCull()
.e().uv(0, 0, 16, 5).noCull()
.add(2, 11, 0, 14, 16, 2)
.d().uv(2, 0, 14, 2).noCull()
.u("hopper_top").uv(2, 0, 14, 2).noCull()
.n().uv(2, 0, 14, 5).noCull()
.s().uv(2, 0, 14, 5).noCull()
.w().uv(0, 0, 2, 5).noCull()
.e().uv(0, 0, 2, 5).noCull()
.add(2, 11, 14, 14, 16, 16)
.d().uv(2, 14, 14, 16).noCull()
.u("hopper_top").uv(2, 14, 14, 16).noCull()
.n().uv(2, 0, 14, 5).noCull()
.s().uv(2, 0, 14, 5).noCull()
.w().uv(14, 0, 16, 5).noCull()
.e().uv(14, 0, 16, 5).noCull()
.add(4, 4, 4, 12, 10, 12)
.d().uv(4, 4, 12, 12).noCull()
.u().uv(4, 4, 12, 12).noCull()
.n().uv(4, 6, 12, 12).noCull()
.s().uv(4, 6, 12, 12).noCull()
.w().uv(4, 6, 12, 12).noCull()
.e().uv(4, 6, 12, 12).noCull()
.add(6, 0, 6, 10, 4, 10)
.d().uv(6, 6, 10, 10).noCull()
.u().uv(6, 6, 10, 10).noCull()
.n().uv(6, 12, 10, 16).noCull()
.s().uv(6, 12, 10, 16).noCull()
.w().uv(6, 12, 10, 16).noCull()
.e().uv(6, 12, 10, 16).noCull().rotate(up ? ModelRotation.X180_Y0 : ModelRotation.X0_Y0);
}
public BlockHopper() public BlockHopper()
{ {
super(Material.SOLID); super(Material.SOLID);
@ -194,7 +141,59 @@ public class BlockHopper extends Block implements ITileEntityProvider, Direction
} }
public Model getModel(ModelProvider provider, String name, State state) { public Model getModel(ModelProvider provider, String name, State state) {
return state.getValue(FACING).getAxis().isVertical() ? getHopperModel(state.getValue(FACING) == Facing.UP) : provider.getModel("hopper_outside") if(state.getValue(FACING).getAxis().isVertical())
return provider.getModel("hopper_outside")
.add(0, 10, 0, 16, 11, 16)
.d().uv(0, 0, 16, 16).noCull()
.u("hopper_inside").uv(0, 0, 16, 16).noCull()
.n().uv(0, 5, 16, 6).noCull()
.s().uv(0, 5, 16, 6).noCull()
.w().uv(0, 5, 16, 6).noCull()
.e().uv(0, 5, 16, 6).noCull()
.add(0, 11, 0, 2, 16, 16)
.d().uv(0, 0, 2, 16).noCull()
.u("hopper_top").uv(0, 0, 2, 16).noCull()
.n().uv(0, 0, 2, 5).noCull()
.s().uv(0, 0, 2, 5).noCull()
.w().uv(0, 0, 16, 5).noCull()
.e().uv(0, 0, 16, 5).noCull()
.add(14, 11, 0, 16, 16, 16)
.d().uv(14, 0, 16, 16).noCull()
.u("hopper_top").uv(14, 0, 16, 16).noCull()
.n().uv(14, 0, 16, 5).noCull()
.s().uv(14, 0, 16, 5).noCull()
.w().uv(0, 0, 16, 5).noCull()
.e().uv(0, 0, 16, 5).noCull()
.add(2, 11, 0, 14, 16, 2)
.d().uv(2, 0, 14, 2).noCull()
.u("hopper_top").uv(2, 0, 14, 2).noCull()
.n().uv(2, 0, 14, 5).noCull()
.s().uv(2, 0, 14, 5).noCull()
.w().uv(0, 0, 2, 5).noCull()
.e().uv(0, 0, 2, 5).noCull()
.add(2, 11, 14, 14, 16, 16)
.d().uv(2, 14, 14, 16).noCull()
.u("hopper_top").uv(2, 14, 14, 16).noCull()
.n().uv(2, 0, 14, 5).noCull()
.s().uv(2, 0, 14, 5).noCull()
.w().uv(14, 0, 16, 5).noCull()
.e().uv(14, 0, 16, 5).noCull()
.add(4, 4, 4, 12, 10, 12)
.d().uv(4, 4, 12, 12).noCull()
.u().uv(4, 4, 12, 12).noCull()
.n().uv(4, 6, 12, 12).noCull()
.s().uv(4, 6, 12, 12).noCull()
.w().uv(4, 6, 12, 12).noCull()
.e().uv(4, 6, 12, 12).noCull()
.add(6, 0, 6, 10, 4, 10)
.d().uv(6, 6, 10, 10).noCull()
.u().uv(6, 6, 10, 10).noCull()
.n().uv(6, 12, 10, 16).noCull()
.s().uv(6, 12, 10, 16).noCull()
.w().uv(6, 12, 10, 16).noCull()
.e().uv(6, 12, 10, 16).noCull().rotate(state.getValue(FACING) == Facing.UP ? ModelRotation.X180_Y0 : ModelRotation.X0_Y0);
else
return provider.getModel("hopper_outside")
.add(0, 10, 0, 16, 11, 16) .add(0, 10, 0, 16, 11, 16)
.d().uv(0, 0, 16, 16).noCull() .d().uv(0, 0, 16, 16).noCull()
.u("hopper_inside").uv(0, 0, 16, 16).noCull() .u("hopper_inside").uv(0, 0, 16, 16).noCull()

View file

@ -7,7 +7,7 @@ import common.entity.types.EntityLiving;
import common.init.SoundEvent; import common.init.SoundEvent;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -8,7 +8,7 @@ import common.init.Blocks;
import common.init.SoundEvent; import common.init.SoundEvent;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.util.BlockPos; import common.util.BlockPos;
import common.world.Explosion; import common.world.Explosion;
import common.world.State; import common.world.State;

View file

@ -14,7 +14,7 @@ import common.init.Blocks;
import common.init.SoundEvent; import common.init.SoundEvent;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;

View file

@ -11,7 +11,7 @@ import common.init.Blocks;
import common.init.Items; import common.init.Items;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.rng.Random; import common.rng.Random;

View file

@ -8,7 +8,7 @@ import common.collect.Lists;
import common.init.Blocks; import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -6,7 +6,7 @@ import common.entity.npc.EntityNPC;
import common.init.Blocks; import common.init.Blocks;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;
import common.tileentity.TileEntitySign; import common.tileentity.TileEntitySign;

View file

@ -14,7 +14,7 @@ import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.properties.Property; import common.properties.Property;
import common.properties.PropertyBool; import common.properties.PropertyBool;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;

View file

@ -3,7 +3,7 @@ package common.block.tech;
import java.util.Map; import java.util.Map;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;
import common.tileentity.DeviceTianReactor; import common.tileentity.DeviceTianReactor;

View file

@ -10,7 +10,7 @@ import common.entity.types.EntityLiving;
import common.init.Blocks; import common.init.Blocks;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -10,7 +10,7 @@ import common.init.Blocks;
import common.item.StackSize; import common.item.StackSize;
import common.item.tool.ItemShears; import common.item.tool.ItemShears;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;
@ -246,9 +246,9 @@ public class BlockTripWire extends Block
return new Property[] {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) { private static Model getModelDetached(Model model, boolean n, boolean s, boolean w, boolean e, int sides) {
if(sides == 1) if(sides == 1)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -260,7 +260,7 @@ public class BlockTripWire extends Block
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
.rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else if(sides == 2 && ((e != w) || (n != s))) else if(sides == 2 && ((e != w) || (n != s)))
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -276,7 +276,7 @@ public class BlockTripWire extends Block
.rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 :
(n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else if(sides == 2) else if(sides == 2)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -291,7 +291,7 @@ public class BlockTripWire extends Block
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
.rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90);
else if(sides == 3) else if(sides == 3)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -312,7 +312,7 @@ public class BlockTripWire extends Block
.u().uv(0, 0, 16, 2).noCull() .u().uv(0, 0, 16, 2).noCull()
.rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); .rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else else
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -339,9 +339,9 @@ public class BlockTripWire extends Block
.u().uv(0, 0, 16, 2).noCull(); .u().uv(0, 0, 16, 2).noCull();
} }
private static Model getModelAttached(boolean n, boolean s, boolean w, boolean e, int sides) { private static Model getModelAttached(Model model, boolean n, boolean s, boolean w, boolean e, int sides) {
if(sides == 1) if(sides == 1)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -353,7 +353,7 @@ public class BlockTripWire extends Block
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
.rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else if(sides == 2 && ((e != w) || (n != s))) else if(sides == 2 && ((e != w) || (n != s)))
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -369,7 +369,7 @@ public class BlockTripWire extends Block
.rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 :
(n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else if(sides == 2) else if(sides == 2)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -384,7 +384,7 @@ public class BlockTripWire extends Block
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
.rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90);
else if(sides == 3) else if(sides == 3)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -405,7 +405,7 @@ public class BlockTripWire extends Block
.u().uv(0, 2, 16, 4).noCull() .u().uv(0, 2, 16, 4).noCull()
.rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); .rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else else
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade() .add(7.75f, 1.5f, 0, 8.25f, 1.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -432,9 +432,9 @@ public class BlockTripWire extends Block
.u().uv(0, 2, 16, 4).noCull(); .u().uv(0, 2, 16, 4).noCull();
} }
private static Model getModelDetSuspend(boolean n, boolean s, boolean w, boolean e, int sides) { private static Model getModelDetSuspend(Model model, boolean n, boolean s, boolean w, boolean e, int sides) {
if(sides == 1) if(sides == 1)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -446,7 +446,7 @@ public class BlockTripWire extends Block
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
.rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else if(sides == 2 && ((e != w) || (n != s))) else if(sides == 2 && ((e != w) || (n != s)))
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -462,7 +462,7 @@ public class BlockTripWire extends Block
.rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 :
(n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else if(sides == 2) else if(sides == 2)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -477,7 +477,7 @@ public class BlockTripWire extends Block
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
.rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90);
else if(sides == 3) else if(sides == 3)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -498,7 +498,7 @@ public class BlockTripWire extends Block
.u().uv(0, 0, 16, 2).noCull() .u().uv(0, 0, 16, 2).noCull()
.rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); .rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else else
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 2, 16, 0).rot(90).noCull() .d().uv(0, 2, 16, 0).rot(90).noCull()
.u().uv(0, 0, 16, 2).rot(90).noCull() .u().uv(0, 0, 16, 2).rot(90).noCull()
@ -525,9 +525,9 @@ public class BlockTripWire extends Block
.u().uv(0, 0, 16, 2).noCull(); .u().uv(0, 0, 16, 2).noCull();
} }
private static Model getModelAttSuspend(boolean n, boolean s, boolean w, boolean e, int sides) { private static Model getModelAttSuspend(Model model, boolean n, boolean s, boolean w, boolean e, int sides) {
if(sides == 1) if(sides == 1)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -539,7 +539,7 @@ public class BlockTripWire extends Block
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
.rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); .rotate(n ? ModelRotation.X0_Y0 : (s ? ModelRotation.X0_Y180 : (w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else if(sides == 2 && ((e != w) || (n != s))) else if(sides == 2 && ((e != w) || (n != s)))
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -555,7 +555,7 @@ public class BlockTripWire extends Block
.rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 : .rotate(n && e ? ModelRotation.X0_Y0 : (s && w ? ModelRotation.X0_Y180 :
(n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); (n && w ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else if(sides == 2) else if(sides == 2)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -570,7 +570,7 @@ public class BlockTripWire extends Block
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
.rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90); .rotate(n ? ModelRotation.X0_Y0 : ModelRotation.X0_Y90);
else if(sides == 3) else if(sides == 3)
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -591,7 +591,7 @@ public class BlockTripWire extends Block
.u().uv(0, 2, 16, 4).noCull() .u().uv(0, 2, 16, 4).noCull()
.rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90))); .rotate(!w ? ModelRotation.X0_Y0 : (!e ? ModelRotation.X0_Y180 : (!s ? ModelRotation.X0_Y270 : ModelRotation.X0_Y90)));
else else
return ModelProvider.getModelProvider().getModel("trip_wire") return model
.add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade() .add(7.75f, 3.5f, 0, 8.25f, 3.5f, 4).noShade()
.d().uv(0, 4, 16, 2).rot(90).noCull() .d().uv(0, 4, 16, 2).rot(90).noCull()
.u().uv(0, 2, 16, 4).rot(90).noCull() .u().uv(0, 2, 16, 4).rot(90).noCull()
@ -629,9 +629,10 @@ public class BlockTripWire extends Block
s = true; s = true;
sides = 2; sides = 2;
} }
return (state.getValue(SUSPENDED) ? ((state.getValue(ATTACHED) ? getModelAttSuspend(n, s, w, e, sides) : Model model = provider.getModel("trip_wire");
getModelDetSuspend(n, s, w, e, sides))) : (state.getValue(ATTACHED) ? getModelAttached(n, s, w, e, sides) : return (state.getValue(SUSPENDED) ? ((state.getValue(ATTACHED) ? getModelAttSuspend(model, n, s, w, e, sides) :
getModelDetached(n, s, w, e, sides))); getModelDetSuspend(model, n, s, w, e, sides))) : (state.getValue(ATTACHED) ? getModelAttached(model, n, s, w, e, sides) :
getModelDetached(model, n, s, w, e, sides)));
} }
public Property<?>[] getIgnoredProperties() { public Property<?>[] getIgnoredProperties() {

View file

@ -8,7 +8,7 @@ import common.init.Blocks;
import common.init.SoundEvent; import common.init.SoundEvent;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;

View file

@ -3,7 +3,7 @@ package common.block.tech;
import common.block.Block; import common.block.Block;
import common.block.Rotatable; import common.block.Rotatable;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.util.BlockPos; import common.util.BlockPos;
import common.util.Facing; import common.util.Facing;

View file

@ -12,7 +12,7 @@ import common.inventory.InventoryPlayer;
import common.item.CheatTab; import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.properties.Property; import common.properties.Property;
import common.rng.Random; import common.rng.Random;

View file

@ -9,7 +9,7 @@ import common.block.Material;
import common.collect.Sets; import common.collect.Sets;
import common.item.StackSize; import common.item.StackSize;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.ModelRotation; import common.model.ModelRotation;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.properties.Property; import common.properties.Property;
@ -28,215 +28,6 @@ import common.world.AWorldServer;
public class BlockWire extends Block public class BlockWire extends Block
{ {
private static final Model wire_none = ModelProvider.getModelProvider().getModel("wire_cross")
.add(2, 0.25f, 2, 14, 0.25f, 14).noShade()
.u("wire_line").uv(2, 2, 14, 14).noCull()
;
private static final Model wire_nsew = ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
;
private static final Model wire_unusueuw = ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0.25f, 0, 0, 0.25f, 16, 16).noShade()
.e("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
;
private static final Model wire_unus = ModelProvider.getModelProvider().getModel("wire_cross")
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
;
private static final Model wire_ueuw = ModelProvider.getModelProvider().getModel("wire_cross")
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).noCull()
.add(0.25f, 0, 0, 0.25f, 16, 16).noShade()
.e("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
;
private static Model wire_n(boolean rot) {
return ModelProvider.getModelProvider().getModel("wire_cross")
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot ? ModelRotation.X0_Y90 : ModelRotation.X0_Y0);
}
private static Model wire_ne(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 9).noShade()
.u().uv(7, 0, 16, 9).noCull()
.rotate(rot);
}
private static Model wire_uew(boolean rot) {
Model model = ModelProvider.getModelProvider().getModel("wire_cross")
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull();
return rot ? model.uvLock().rotate(ModelRotation.X0_Y180) : model;
}
private static Model wire_nue(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 9).noShade()
.u().uv(7, 0, 16, 9).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(270).noCull()
.rotate(rot);
}
private static Model wire_une(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 9).noShade()
.u().uv(7, 0, 16, 9).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_nse(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.rotate(rot);
}
private static Model wire_uns(boolean lock, ModelRotation rot) {
Model model = ModelProvider.getModelProvider().getModel("wire_cross")
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
return lock ? model.uvLock() : model;
}
private static Model wire_nsue(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(270).noCull()
.rotate(rot);
}
private static Model wire_unse(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_nuse(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unue(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 9).noShade()
.u().uv(7, 0, 16, 9).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unusue(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unusew(boolean rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot ? ModelRotation.X0_Y90 : ModelRotation.X0_Y0);
}
private static Model wire_unusuew(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unuse(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_nusue(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unsew(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unsuew(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unsue(ModelRotation rot) {
return ModelProvider.getModelProvider().getModel("wire_cross").uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
public static final PropertyBool DOWN = PropertyBool.create("down"); public static final PropertyBool DOWN = PropertyBool.create("down");
public static final PropertyBool UP = PropertyBool.create("up"); public static final PropertyBool UP = PropertyBool.create("up");
public static final PropertyBool NORTH = PropertyBool.create("north"); public static final PropertyBool NORTH = PropertyBool.create("north");
@ -340,6 +131,178 @@ public class BlockWire extends Block
return true; return true;
} }
private static Model wire_n(Model model, boolean rot) {
return model
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot ? ModelRotation.X0_Y90 : ModelRotation.X0_Y0);
}
private static Model wire_ne(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 9).noShade()
.u().uv(7, 0, 16, 9).noCull()
.rotate(rot);
}
private static Model wire_uew(Model model, boolean rot) {
model = model
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull();
return rot ? model.uvLock().rotate(ModelRotation.X0_Y180) : model;
}
private static Model wire_nue(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 9).noShade()
.u().uv(7, 0, 16, 9).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(270).noCull()
.rotate(rot);
}
private static Model wire_une(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 9).noShade()
.u().uv(7, 0, 16, 9).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_nse(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.rotate(rot);
}
private static Model wire_uns(Model model, boolean lock, ModelRotation rot) {
model = model
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
return lock ? model.uvLock() : model;
}
private static Model wire_nsue(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(270).noCull()
.rotate(rot);
}
private static Model wire_unse(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_nuse(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unue(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 9).noShade()
.u().uv(7, 0, 16, 9).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unusue(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unusew(Model model, boolean rot) {
return model.uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot ? ModelRotation.X0_Y90 : ModelRotation.X0_Y0);
}
private static Model wire_unusuew(Model model, ModelRotation rot) {
return model.uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unuse(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_nusue(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unsew(Model model, ModelRotation rot) {
return model.uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unsuew(Model model, ModelRotation rot) {
return model.uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
private static Model wire_unsue(Model model, ModelRotation rot) {
return model.uvLock()
.add(7, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(7, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.rotate(rot);
}
public Model getModel(ModelProvider provider, String name, State state) { //TODO: fix model public Model getModel(ModelProvider provider, String name, State state) { //TODO: fix model
boolean nr = state.getValue(NORTH); boolean nr = state.getValue(NORTH);
boolean sr = state.getValue(SOUTH); boolean sr = state.getValue(SOUTH);
@ -355,187 +318,217 @@ public class BlockWire extends Block
boolean wu = wr && ud; boolean wu = wr && ud;
boolean eu = er && ud; boolean eu = er && ud;
Model model = provider.getModel("wire_cross");
if(ea && na && sa && wa) if(ea && na && sa && wa)
return wire_none; return model
.add(2, 0.25f, 2, 14, 0.25f, 14).noShade()
.u("wire_line").uv(2, 2, 14, 14).noCull();
else if(eu && nu && su && wu) else if(eu && nu && su && wu)
return wire_unusueuw; return model.uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 15.75f, 16, 16, 15.75f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0.25f, 0, 0, 0.25f, 16, 16).noShade()
.e("wire_line").uv(0, 0, 16, 16).rot(90).noCull();
else if(er && nr && sr && wr) else if(er && nr && sr && wr)
return wire_nsew; return model.uvLock()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u().uv(0, 0, 16, 16).noCull();
else if(ea && nu && su && wa) else if(ea && nu && su && wa)
return wire_unus; return model
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.s("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(0, 0, 0.25f, 16, 16, 0.25f).noShade()
.n("wire_line").uv(0, 0, 16, 16).rot(90).noCull();
else if(eu && na && sa && wu) else if(eu && na && sa && wu)
return wire_ueuw; return model
.add(0, 0.25f, 0, 16, 0.25f, 16).noShade()
.u("wire_line").uv(0, 0, 16, 16).noCull()
.add(0.25f, 0, 0, 0.25f, 16, 16).noShade()
.e("wire_line").uv(0, 0, 16, 16).rot(90).noCull()
.add(15.75f, 0, 0, 15.75f, 16, 16).noShade()
.w("wire_line").uv(0, 0, 16, 16).rot(90).noCull();
else if(ea && nr && sa && wa) else if(ea && nr && sa && wa)
return wire_n(false); return wire_n(model, false);
else if(ea && na && sr && wa) else if(ea && na && sr && wa)
return wire_n(false); return wire_n(model, false);
else if(er && na && sa && wa) else if(er && na && sa && wa)
return wire_n(true); return wire_n(model, true);
else if(ea && na && sa && wr) else if(ea && na && sa && wr)
return wire_n(true); return wire_n(model, true);
else if(ea && nu && sa && wa) else if(ea && nu && sa && wa)
return wire_uns(false, ModelRotation.X0_Y0); return wire_uns(model, false, ModelRotation.X0_Y0);
else if(ea && na && su && wa) else if(ea && na && su && wa)
return wire_uns(true, ModelRotation.X0_Y180); return wire_uns(model, true, ModelRotation.X0_Y180);
else if(eu && na && sa && wa) else if(eu && na && sa && wa)
return wire_uew(false); return wire_uew(model, false);
else if(ea && na && sa && wu) else if(ea && na && sa && wu)
return wire_uew(true); return wire_uew(model, true);
else if(er && nr && sa && wa) else if(er && nr && sa && wa)
return wire_ne(ModelRotation.X0_Y0); return wire_ne(model, ModelRotation.X0_Y0);
else if(er && nu && sa && wa) else if(er && nu && sa && wa)
return wire_une(ModelRotation.X0_Y0); return wire_une(model, ModelRotation.X0_Y0);
else if(eu && nr && sa && wa) else if(eu && nr && sa && wa)
return wire_nue(ModelRotation.X0_Y0); return wire_nue(model, ModelRotation.X0_Y0);
else if(eu && nu && sa && wa) else if(eu && nu && sa && wa)
return wire_unue(ModelRotation.X0_Y0); return wire_unue(model, ModelRotation.X0_Y0);
else if(er && na && sr && wa) else if(er && na && sr && wa)
return wire_ne(ModelRotation.X0_Y90); return wire_ne(model, ModelRotation.X0_Y90);
else if(eu && na && sr && wa) else if(eu && na && sr && wa)
return wire_une(ModelRotation.X0_Y90); return wire_une(model, ModelRotation.X0_Y90);
else if(er && na && su && wa) else if(er && na && su && wa)
return wire_nue(ModelRotation.X0_Y90); return wire_nue(model, ModelRotation.X0_Y90);
else if(eu && na && su && wa) else if(eu && na && su && wa)
return wire_unue(ModelRotation.X0_Y90); return wire_unue(model, ModelRotation.X0_Y90);
else if(ea && na && sr && wr) else if(ea && na && sr && wr)
return wire_ne(ModelRotation.X0_Y180); return wire_ne(model, ModelRotation.X0_Y180);
else if(ea && na && su && wr) else if(ea && na && su && wr)
return wire_une(ModelRotation.X0_Y180); return wire_une(model, ModelRotation.X0_Y180);
else if(ea && na && sr && wu) else if(ea && na && sr && wu)
return wire_nue(ModelRotation.X0_Y180); return wire_nue(model, ModelRotation.X0_Y180);
else if(ea && na && su && wu) else if(ea && na && su && wu)
return wire_unue(ModelRotation.X0_Y180); return wire_unue(model, ModelRotation.X0_Y180);
else if(ea && nr && sa && wr) else if(ea && nr && sa && wr)
return wire_ne(ModelRotation.X0_Y270); return wire_ne(model, ModelRotation.X0_Y270);
else if(ea && nr && sa && wu) else if(ea && nr && sa && wu)
return wire_une(ModelRotation.X0_Y270); return wire_une(model, ModelRotation.X0_Y270);
else if(ea && nu && sa && wr) else if(ea && nu && sa && wr)
return wire_nue(ModelRotation.X0_Y270); return wire_nue(model, ModelRotation.X0_Y270);
else if(ea && nu && sa && wu) else if(ea && nu && sa && wu)
return wire_unue(ModelRotation.X0_Y270); return wire_unue(model, ModelRotation.X0_Y270);
else if(ea && nr && sr && wa) else if(ea && nr && sr && wa)
return wire_n(false); return wire_n(model, false);
else if(ea && nu && sr && wa) else if(ea && nu && sr && wa)
return wire_uns(false, ModelRotation.X0_Y0); return wire_uns(model, false, ModelRotation.X0_Y0);
else if(ea && nr && su && wa) else if(ea && nr && su && wa)
return wire_uns(false, ModelRotation.X0_Y180); return wire_uns(model, false, ModelRotation.X0_Y180);
else if(er && na && sa && wr) else if(er && na && sa && wr)
return wire_n(true); return wire_n(model, true);
else if(eu && na && sa && wr) else if(eu && na && sa && wr)
return wire_uns(false, ModelRotation.X0_Y90); return wire_uns(model, false, ModelRotation.X0_Y90);
else if(er && na && sa && wu) else if(er && na && sa && wu)
return wire_uns(false, ModelRotation.X0_Y270); return wire_uns(model, false, ModelRotation.X0_Y270);
else if(er && nr && sr && wa) else if(er && nr && sr && wa)
return wire_nse(ModelRotation.X0_Y0); return wire_nse(model, ModelRotation.X0_Y0);
else if(er && nu && sr && wa) else if(er && nu && sr && wa)
return wire_unse(ModelRotation.X0_Y0); return wire_unse(model, ModelRotation.X0_Y0);
else if(er && nr && su && wa) else if(er && nr && su && wa)
return wire_nuse(ModelRotation.X0_Y0); return wire_nuse(model, ModelRotation.X0_Y0);
else if(eu && nr && sr && wa) else if(eu && nr && sr && wa)
return wire_nsue(ModelRotation.X0_Y0); return wire_nsue(model, ModelRotation.X0_Y0);
else if(eu && nr && su && wa) else if(eu && nr && su && wa)
return wire_nusue(ModelRotation.X0_Y0); return wire_nusue(model, ModelRotation.X0_Y0);
else if(er && nu && su && wa) else if(er && nu && su && wa)
return wire_unuse(ModelRotation.X0_Y0); return wire_unuse(model, ModelRotation.X0_Y0);
else if(eu && nu && sr && wa) else if(eu && nu && sr && wa)
return wire_unsue(ModelRotation.X0_Y0); return wire_unsue(model, ModelRotation.X0_Y0);
else if(eu && nu && su && wa) else if(eu && nu && su && wa)
return wire_unusue(ModelRotation.X0_Y0); return wire_unusue(model, ModelRotation.X0_Y0);
else if(er && na && sr && wr) else if(er && na && sr && wr)
return wire_nse(ModelRotation.X0_Y90); return wire_nse(model, ModelRotation.X0_Y90);
else if(eu && na && sr && wr) else if(eu && na && sr && wr)
return wire_unse(ModelRotation.X0_Y90); return wire_unse(model, ModelRotation.X0_Y90);
else if(er && na && sr && wu) else if(er && na && sr && wu)
return wire_nuse(ModelRotation.X0_Y90); return wire_nuse(model, ModelRotation.X0_Y90);
else if(er && na && su && wr) else if(er && na && su && wr)
return wire_nsue(ModelRotation.X0_Y90); return wire_nsue(model, ModelRotation.X0_Y90);
else if(er && na && su && wu) else if(er && na && su && wu)
return wire_nusue(ModelRotation.X0_Y90); return wire_nusue(model, ModelRotation.X0_Y90);
else if(eu && na && sr && wu) else if(eu && na && sr && wu)
return wire_unuse(ModelRotation.X0_Y90); return wire_unuse(model, ModelRotation.X0_Y90);
else if(eu && na && su && wr) else if(eu && na && su && wr)
return wire_unsue(ModelRotation.X0_Y90); return wire_unsue(model, ModelRotation.X0_Y90);
else if(eu && na && su && wu) else if(eu && na && su && wu)
return wire_unusue(ModelRotation.X0_Y90); return wire_unusue(model, ModelRotation.X0_Y90);
else if(ea && nr && sr && wr) else if(ea && nr && sr && wr)
return wire_nse(ModelRotation.X0_Y180); return wire_nse(model, ModelRotation.X0_Y180);
else if(ea && nr && su && wr) else if(ea && nr && su && wr)
return wire_unse(ModelRotation.X0_Y180); return wire_unse(model, ModelRotation.X0_Y180);
else if(ea && nu && sr && wr) else if(ea && nu && sr && wr)
return wire_nuse(ModelRotation.X0_Y180); return wire_nuse(model, ModelRotation.X0_Y180);
else if(ea && nr && sr && wu) else if(ea && nr && sr && wu)
return wire_nsue(ModelRotation.X0_Y180); return wire_nsue(model, ModelRotation.X0_Y180);
else if(ea && nu && sr && wu) else if(ea && nu && sr && wu)
return wire_nusue(ModelRotation.X0_Y180); return wire_nusue(model, ModelRotation.X0_Y180);
else if(ea && nu && su && wr) else if(ea && nu && su && wr)
return wire_unuse(ModelRotation.X0_Y180); return wire_unuse(model, ModelRotation.X0_Y180);
else if(ea && nr && su && wu) else if(ea && nr && su && wu)
return wire_unsue(ModelRotation.X0_Y180); return wire_unsue(model, ModelRotation.X0_Y180);
else if(ea && nu && su && wu) else if(ea && nu && su && wu)
return wire_unusue(ModelRotation.X0_Y180); return wire_unusue(model, ModelRotation.X0_Y180);
else if(er && nr && sa && wr) else if(er && nr && sa && wr)
return wire_nse(ModelRotation.X0_Y270); return wire_nse(model, ModelRotation.X0_Y270);
else if(er && nr && sa && wu) else if(er && nr && sa && wu)
return wire_unse(ModelRotation.X0_Y270); return wire_unse(model, ModelRotation.X0_Y270);
else if(eu && nr && sa && wr) else if(eu && nr && sa && wr)
return wire_nuse(ModelRotation.X0_Y270); return wire_nuse(model, ModelRotation.X0_Y270);
else if(er && nu && sa && wr) else if(er && nu && sa && wr)
return wire_nsue(ModelRotation.X0_Y270); return wire_nsue(model, ModelRotation.X0_Y270);
else if(eu && nu && sa && wr) else if(eu && nu && sa && wr)
return wire_nusue(ModelRotation.X0_Y270); return wire_nusue(model, ModelRotation.X0_Y270);
else if(eu && nr && sa && wu) else if(eu && nr && sa && wu)
return wire_unuse(ModelRotation.X0_Y270); return wire_unuse(model, ModelRotation.X0_Y270);
else if(er && nu && sa && wu) else if(er && nu && sa && wu)
return wire_unsue(ModelRotation.X0_Y270); return wire_unsue(model, ModelRotation.X0_Y270);
else if(eu && nu && sa && wu) else if(eu && nu && sa && wu)
return wire_unusue(ModelRotation.X0_Y270); return wire_unusue(model, ModelRotation.X0_Y270);
else if(er && nu && sr && wr) else if(er && nu && sr && wr)
return wire_unsew(ModelRotation.X0_Y0); return wire_unsew(model, ModelRotation.X0_Y0);
else if(er && nr && su && wr) else if(er && nr && su && wr)
return wire_unsew(ModelRotation.X0_Y180); return wire_unsew(model, ModelRotation.X0_Y180);
else if(eu && nr && sr && wr) else if(eu && nr && sr && wr)
return wire_unsew(ModelRotation.X0_Y90); return wire_unsew(model, ModelRotation.X0_Y90);
else if(er && nr && sr && wu) else if(er && nr && sr && wu)
return wire_unsew(ModelRotation.X0_Y270); return wire_unsew(model, ModelRotation.X0_Y270);
else if(er && nu && su && wr) else if(er && nu && su && wr)
return wire_unusew(false); return wire_unusew(model, false);
else if(eu && nr && sr && wu) else if(eu && nr && sr && wu)
return wire_unusew(true); return wire_unusew(model, true);
else if(eu && nu && sr && wr) else if(eu && nu && sr && wr)
return wire_unsuew(ModelRotation.X0_Y0); return wire_unsuew(model, ModelRotation.X0_Y0);
else if(eu && nr && su && wr) else if(eu && nr && su && wr)
return wire_unsuew(ModelRotation.X0_Y90); return wire_unsuew(model, ModelRotation.X0_Y90);
else if(er && nr && su && wu) else if(er && nr && su && wu)
return wire_unsuew(ModelRotation.X0_Y180); return wire_unsuew(model, ModelRotation.X0_Y180);
else if(er && nu && sr && wu) else if(er && nu && sr && wu)
return wire_unsuew(ModelRotation.X0_Y270); return wire_unsuew(model, ModelRotation.X0_Y270);
else if(eu && nu && su && wr) else if(eu && nu && su && wr)
return wire_unusuew(ModelRotation.X0_Y0); return wire_unusuew(model, ModelRotation.X0_Y0);
else if(eu && nr && su && wu) else if(eu && nr && su && wu)
return wire_unusuew(ModelRotation.X0_Y90); return wire_unusuew(model, ModelRotation.X0_Y90);
else if(er && nu && su && wu) else if(er && nu && su && wu)
return wire_unusuew(ModelRotation.X0_Y180); return wire_unusuew(model, ModelRotation.X0_Y180);
else if(eu && nu && sr && wu) else if(eu && nu && sr && wu)
return wire_unusuew(ModelRotation.X0_Y270); return wire_unusuew(model, ModelRotation.X0_Y270);
else else
return wire_none; return model
.add(2, 0.25f, 2, 14, 0.25f, 14).noShade()
.u("wire_line").uv(2, 2, 14, 14).noCull();
} }
public StackSize getMaxAmount() { public StackSize getMaxAmount() {

View file

@ -8,7 +8,7 @@ import common.inventory.ContainerWorkbench;
import common.inventory.InventoryPlayer; import common.inventory.InventoryPlayer;
import common.item.CheatTab; import common.item.CheatTab;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.util.BlockPos; import common.util.BlockPos;
import common.util.Facing; import common.util.Facing;
import common.world.State; import common.world.State;

View file

@ -12,7 +12,7 @@ import common.entity.npc.EntityNPC;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
import common.entity.types.IProjectile; import common.entity.types.IProjectile;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -12,7 +12,7 @@ import common.item.CheatTab;
import common.item.Item; import common.item.Item;
import common.item.ItemStack; import common.item.ItemStack;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.Model.ModelProvider;
import common.model.GuiPosition; import common.model.GuiPosition;
import common.tileentity.TileEntity; import common.tileentity.TileEntity;
import common.util.BlockPos; import common.util.BlockPos;

View file

@ -3,6 +3,10 @@ package common.model;
import common.util.Facing; import common.util.Facing;
public abstract class Model { public abstract class Model {
public static interface ModelProvider {
Model getModel(String primary);
}
public abstract Model uvLock(); public abstract Model uvLock();
public abstract Model rotate(ModelRotation rot); public abstract Model rotate(ModelRotation rot);
public abstract Model add(float x1, float y1, float z1, float x2, float y2, float z2); public abstract Model add(float x1, float y1, float z1, float x2, float y2, float z2);

View file

@ -1,67 +0,0 @@
package common.model;
import common.util.Facing;
import common.util.Facing.Axis;
public interface ModelProvider {
Model getModel(String primary);
public static class DummyModel extends Model {
public Model uvLock() {
return this;
}
public Model rotate(ModelRotation rot) {
return this;
}
public Model add(float x1, float y1, float z1, float x2, float y2, float z2) {
return this;
}
public Model noShade() {
return this;
}
public Model rotate(float x, float y, float z, Axis axisIn, float angleIn, boolean rescaleIn) {
return this;
}
public Model face(String texture, Facing... faces) {
return this;
}
public Model cull(Facing cull) {
return this;
}
public Model rot(int rot) {
return this;
}
public Model uv(float x1, float y1, float x2, float y2) {
return this;
}
public String getPrimary() {
return "";
}
}
public static class BlockModelProvider {
private static ModelProvider provider = new ModelProvider() {
public Model getModel(String primary) {
return new DummyModel();
}
};
}
public static void setProvider(ModelProvider provider) {
BlockModelProvider.provider = provider;
}
public static ModelProvider getModelProvider() {
return BlockModelProvider.provider;
}
}

View file

@ -1,9 +1,7 @@
package common.tileentity; package common.tileentity;
import java.util.Arrays;
import java.util.List; import java.util.List;
import common.block.tech.BlockBrewingStand;
import common.collect.Lists; import common.collect.Lists;
import common.effect.StatusEffect; import common.effect.StatusEffect;
import common.entity.npc.EntityNPC; import common.entity.npc.EntityNPC;
@ -18,7 +16,6 @@ import common.item.ItemStack;
import common.item.consumable.ItemPotion; import common.item.consumable.ItemPotion;
import common.tags.TagObject; import common.tags.TagObject;
import common.util.Facing; import common.util.Facing;
import common.world.State;
public class TileEntityBrewingStand extends TileEntityInventory implements ITickable, ISidedInventory public class TileEntityBrewingStand extends TileEntityInventory implements ITickable, ISidedInventory
{ {
@ -32,11 +29,6 @@ public class TileEntityBrewingStand extends TileEntityInventory implements ITick
private ItemStack[] brewingItemStacks = new ItemStack[4]; private ItemStack[] brewingItemStacks = new ItemStack[4];
private int brewTime; private int brewTime;
/**
* an integer with each bit specifying whether that slot of the stand contains a potion
*/
private boolean[] filledSlots;
/** /**
* used to check if the current ingredient has been removed from the brewing stand during brewing * used to check if the current ingredient has been removed from the brewing stand during brewing
*/ */
@ -80,29 +72,6 @@ public class TileEntityBrewingStand extends TileEntityInventory implements ITick
this.brewTime = 400; this.brewTime = 400;
this.ingredientID = this.brewingItemStacks[3].getItem(); this.ingredientID = this.brewingItemStacks[3].getItem();
} }
if (!this.worldObj.client)
{
boolean[] aboolean = this.func_174902_m();
if (!Arrays.equals(aboolean, this.filledSlots))
{
this.filledSlots = aboolean;
State iblockstate = this.worldObj.getState(this.getPos());
if (!(iblockstate.getBlock() instanceof BlockBrewingStand))
{
return;
}
for (int i = 0; i < BlockBrewingStand.HAS_BOTTLE.length; ++i)
{
iblockstate = iblockstate.withProperty(BlockBrewingStand.HAS_BOTTLE[i], Boolean.valueOf(aboolean[i]));
}
this.worldObj.setState(this.pos, iblockstate, 2);
}
}
} }
private boolean canBrew() private boolean canBrew()
@ -313,21 +282,6 @@ public class TileEntityBrewingStand extends TileEntityInventory implements ITick
return index == 3 ? BrewingRegistry.isIngredient(stack) : stack.getItem() instanceof ItemPotion || stack.getItem() == Items.bottle; return index == 3 ? BrewingRegistry.isIngredient(stack) : stack.getItem() instanceof ItemPotion || stack.getItem() == Items.bottle;
} }
public boolean[] func_174902_m()
{
boolean[] aboolean = new boolean[3];
for (int i = 0; i < 3; ++i)
{
if (this.brewingItemStacks[i] != null)
{
aboolean[i] = true;
}
}
return aboolean;
}
public int[] getSlotsForFace(Facing side) public int[] getSlotsForFace(Facing side)
{ {
return side == Facing.UP ? inputSlots : outputSlots; return side == Facing.UP ? inputSlots : outputSlots;

View file

@ -20,7 +20,6 @@ import java.util.zip.InflaterInputStream;
import common.block.Block; import common.block.Block;
import common.block.artificial.BlockBed; import common.block.artificial.BlockBed;
import common.block.artificial.BlockBed.EnumPartType; import common.block.artificial.BlockBed.EnumPartType;
import common.block.artificial.BlockCake;
import common.block.artificial.BlockCarpet; import common.block.artificial.BlockCarpet;
import common.block.artificial.BlockDoor; import common.block.artificial.BlockDoor;
import common.block.artificial.BlockFenceGate; import common.block.artificial.BlockFenceGate;
@ -56,7 +55,6 @@ import common.block.natural.BlockColoredClay;
import common.block.natural.BlockFire; import common.block.natural.BlockFire;
import common.block.natural.BlockSnow; import common.block.natural.BlockSnow;
import common.block.tech.BlockAnvil; import common.block.tech.BlockAnvil;
import common.block.tech.BlockBrewingStand;
import common.block.tech.BlockButton; import common.block.tech.BlockButton;
import common.block.tech.BlockCauldron; import common.block.tech.BlockCauldron;
import common.block.tech.BlockChest; import common.block.tech.BlockChest;
@ -803,13 +801,7 @@ public abstract class Converter {
mapBlock(Blocks.glowstone, 89); mapBlock(Blocks.glowstone, 89);
mapBlock(Blocks.purple_glass_pane, 90); mapBlock(Blocks.purple_glass_pane, 90);
mapBlock(Blocks.lit_lamp, 91); mapBlock(Blocks.lit_lamp, 91);
mapBlock(Blocks.cake.getState().withProperty(BlockCake.BITES, 0), 92); mapBlock(Blocks.cake, 92);
mapBlock(Blocks.cake.getState().withProperty(BlockCake.BITES, 1), 92, 1);
mapBlock(Blocks.cake.getState().withProperty(BlockCake.BITES, 2), 92, 2);
mapBlock(Blocks.cake.getState().withProperty(BlockCake.BITES, 3), 92, 3);
mapBlock(Blocks.cake.getState().withProperty(BlockCake.BITES, 4), 92, 4);
mapBlock(Blocks.cake.getState().withProperty(BlockCake.BITES, 5), 92, 5);
mapBlock(Blocks.cake.getState().withProperty(BlockCake.BITES, 6), 92, 6);
mapBlock(new BlockFunction() { mapBlock(new BlockFunction() {
public State getState(int id, int data) { public State getState(int id, int data) {
return BlockStainedGlass.getByColor(COLOR_LOOKUP[data]).getState(); return BlockStainedGlass.getByColor(COLOR_LOOKUP[data]).getState();
@ -951,14 +943,7 @@ public abstract class Converter {
mapBlock(Blocks.soul_warts.getState().withProperty(BlockWart.AGE, 2), 115, 2); mapBlock(Blocks.soul_warts.getState().withProperty(BlockWart.AGE, 2), 115, 2);
mapBlock(Blocks.soul_warts.getState().withProperty(BlockWart.AGE, 3), 115, 3); mapBlock(Blocks.soul_warts.getState().withProperty(BlockWart.AGE, 3), 115, 3);
mapBlock(Blocks.enchanting_table, 116); mapBlock(Blocks.enchanting_table, 116);
mapBlock(Blocks.brewing_stand.getState().withProperty(BlockBrewingStand.HAS_BOTTLE_0, false).withProperty(BlockBrewingStand.HAS_BOTTLE_1, false).withProperty(BlockBrewingStand.HAS_BOTTLE_2, false), 117, 0, 8); mapBlock(Blocks.brewing_stand, 117);
mapBlock(Blocks.brewing_stand.getState().withProperty(BlockBrewingStand.HAS_BOTTLE_0, true).withProperty(BlockBrewingStand.HAS_BOTTLE_1, false).withProperty(BlockBrewingStand.HAS_BOTTLE_2, false), 117, 1, 9);
mapBlock(Blocks.brewing_stand.getState().withProperty(BlockBrewingStand.HAS_BOTTLE_0, false).withProperty(BlockBrewingStand.HAS_BOTTLE_1, true).withProperty(BlockBrewingStand.HAS_BOTTLE_2, false), 117, 2, 10);
mapBlock(Blocks.brewing_stand.getState().withProperty(BlockBrewingStand.HAS_BOTTLE_0, true).withProperty(BlockBrewingStand.HAS_BOTTLE_1, true).withProperty(BlockBrewingStand.HAS_BOTTLE_2, false), 117, 3, 11);
mapBlock(Blocks.brewing_stand.getState().withProperty(BlockBrewingStand.HAS_BOTTLE_0, false).withProperty(BlockBrewingStand.HAS_BOTTLE_1, false).withProperty(BlockBrewingStand.HAS_BOTTLE_2, true), 117, 4, 12);
mapBlock(Blocks.brewing_stand.getState().withProperty(BlockBrewingStand.HAS_BOTTLE_0, true).withProperty(BlockBrewingStand.HAS_BOTTLE_1, false).withProperty(BlockBrewingStand.HAS_BOTTLE_2, true), 117, 5, 13);
mapBlock(Blocks.brewing_stand.getState().withProperty(BlockBrewingStand.HAS_BOTTLE_0, false).withProperty(BlockBrewingStand.HAS_BOTTLE_1, true).withProperty(BlockBrewingStand.HAS_BOTTLE_2, true), 117, 6, 14);
mapBlock(Blocks.brewing_stand.getState().withProperty(BlockBrewingStand.HAS_BOTTLE_0, true).withProperty(BlockBrewingStand.HAS_BOTTLE_1, true).withProperty(BlockBrewingStand.HAS_BOTTLE_2, true), 117, 7, 15);
mapBlock(Blocks.cauldron.getState().withProperty(BlockCauldron.LEVEL, 0), 118); mapBlock(Blocks.cauldron.getState().withProperty(BlockCauldron.LEVEL, 0), 118);
mapBlock(Blocks.cauldron.getState().withProperty(BlockCauldron.LEVEL, 1), 118, 1); mapBlock(Blocks.cauldron.getState().withProperty(BlockCauldron.LEVEL, 1), 118, 1);
mapBlock(Blocks.cauldron.getState().withProperty(BlockCauldron.LEVEL, 2), 118, 2); mapBlock(Blocks.cauldron.getState().withProperty(BlockCauldron.LEVEL, 2), 118, 2);