Began work on BaseDimDoor. Copied relevant json files for door blockstates and models.
This commit is contained in:
parent
4f94735c79
commit
e6cc4c292f
7 changed files with 140 additions and 168 deletions
|
@ -151,73 +151,52 @@ public class DimDoors {
|
||||||
MinecraftForge.EVENT_BUS.register(hooks);
|
MinecraftForge.EVENT_BUS.register(hooks);
|
||||||
MinecraftForge.TERRAIN_GEN_BUS.register(hooks);
|
MinecraftForge.TERRAIN_GEN_BUS.register(hooks);
|
||||||
|
|
||||||
proxy.registerSidedHooks();
|
// Initialize and register blocks and items
|
||||||
|
//TODO: Move this all to their own classes
|
||||||
|
transientDoor = new TransientDoor();
|
||||||
|
goldenDimensionalDoor = new BlockGoldDimDoor();
|
||||||
|
|
||||||
DimDoorsNetwork.init();
|
quartzDoor = new BlockDoorQuartz();
|
||||||
}
|
personalDimDoor = new PersonalDimDoor();
|
||||||
|
|
||||||
@Mod.EventHandler
|
goldenDoor = new BlockDoorGold();
|
||||||
public void onInitialization(FMLInitializationEvent event) {
|
blockDimWall = new BlockDimWall();
|
||||||
// Initialize ServerTickHandler instance
|
blockDimWallPerm = new BlockDimWallPerm();
|
||||||
serverTickHandler = new ServerTickHandler();
|
warpDoor = new WarpDoor();
|
||||||
MinecraftForge.EVENT_BUS.register(serverTickHandler);
|
blockLimbo = new BlockLimbo(limboDecay);
|
||||||
|
unstableDoor = new UnstableDoor();
|
||||||
// Initialize LimboDecay instance: required for BlockLimbo
|
dimensionalDoor = new DimensionalDoor();
|
||||||
limboDecay = new LimboDecay(properties);
|
transTrapdoor = new TransTrapdoor();
|
||||||
|
|
||||||
// Initialize blocks and items
|
|
||||||
transientDoor = new TransientDoor();
|
|
||||||
goldenDimensionalDoor = new BlockGoldDimDoor();
|
|
||||||
|
|
||||||
quartzDoor = new BlockDoorQuartz();
|
|
||||||
personalDimDoor = new PersonalDimDoor();
|
|
||||||
|
|
||||||
goldenDoor = new BlockDoorGold();
|
|
||||||
blockDimWall = new BlockDimWall();
|
|
||||||
blockDimWallPerm = new BlockDimWallPerm();
|
|
||||||
warpDoor = new WarpDoor();
|
|
||||||
blockLimbo = new BlockLimbo(limboDecay);
|
|
||||||
unstableDoor = new UnstableDoor();
|
|
||||||
dimensionalDoor = new DimensionalDoor();
|
|
||||||
transTrapdoor = new TransTrapdoor();
|
|
||||||
blockRift = new BlockRift();
|
blockRift = new BlockRift();
|
||||||
|
|
||||||
itemDDKey = new ItemDDKey();
|
itemDDKey = new ItemDDKey();
|
||||||
itemQuartzDoor = new ItemQuartzDoor();
|
itemQuartzDoor = new ItemQuartzDoor();
|
||||||
itemPersonalDoor = new ItemPersonalDoor();
|
itemPersonalDoor = new ItemPersonalDoor();
|
||||||
itemGoldenDoor = new ItemGoldDoor();
|
itemGoldenDoor = new ItemGoldDoor();
|
||||||
itemGoldenDimensionalDoor = new ItemGoldDimDoor();
|
itemGoldenDimensionalDoor = new ItemGoldDimDoor();
|
||||||
itemDimensionalDoor = new ItemDimensionalDoor();
|
itemDimensionalDoor = new ItemDimensionalDoor();
|
||||||
itemWarpDoor = new ItemWarpDoor();
|
itemWarpDoor = new ItemWarpDoor();
|
||||||
itemRiftSignature = new ItemRiftSignature();
|
itemRiftSignature = new ItemRiftSignature();
|
||||||
itemRiftRemover = new ItemRiftRemover();
|
itemRiftRemover = new ItemRiftRemover();
|
||||||
itemStableFabric = new ItemStableFabric();
|
itemStableFabric = new ItemStableFabric();
|
||||||
itemUnstableDoor = new ItemUnstableDoor();
|
itemUnstableDoor = new ItemUnstableDoor();
|
||||||
itemRiftBlade = new ItemRiftBlade();
|
itemRiftBlade = new ItemRiftBlade();
|
||||||
itemStabilizedRiftSignature = new ItemStabilizedRiftSignature();
|
itemStabilizedRiftSignature = new ItemStabilizedRiftSignature();
|
||||||
itemWorldThread = new ItemWorldThread();
|
itemWorldThread = new ItemWorldThread();
|
||||||
|
|
||||||
// Check if other biomes have been registered with the same IDs we want. If so, crash Minecraft
|
GameRegistry.registerBlock(quartzDoor, null, BlockDoorQuartz.ID);
|
||||||
// to notify the user instead of letting it pass and conflicting with Biomes o' Plenty.
|
GameRegistry.registerBlock(personalDimDoor, null, PersonalDimDoor.ID);
|
||||||
DDBiomeGenBase.checkBiomes(properties.LimboBiomeID, properties.PocketBiomeID);
|
GameRegistry.registerBlock(goldenDoor, null, BlockDoorGold.ID);
|
||||||
|
GameRegistry.registerBlock(goldenDimensionalDoor, null, BlockGoldDimDoor.ID);
|
||||||
// Initialize our biomes
|
GameRegistry.registerBlock(unstableDoor, null, UnstableDoor.ID);
|
||||||
DimDoors.limboBiome = (new BiomeGenLimbo(properties.LimboBiomeID));
|
GameRegistry.registerBlock(warpDoor, null, WarpDoor.ID);
|
||||||
DimDoors.pocketBiome = (new BiomeGenPocket(properties.PocketBiomeID));
|
GameRegistry.registerBlock(blockRift, BlockRift.ID);
|
||||||
|
GameRegistry.registerBlock(blockLimbo, BlockLimbo.ID);
|
||||||
GameRegistry.registerBlock(quartzDoor, null, BlockDoorQuartz.ID);
|
GameRegistry.registerBlock(dimensionalDoor, null, DimensionalDoor.ID);
|
||||||
GameRegistry.registerBlock(personalDimDoor, null, PersonalDimDoor.ID);
|
GameRegistry.registerBlock(transTrapdoor, TransTrapdoor.ID);
|
||||||
GameRegistry.registerBlock(goldenDoor, null, BlockDoorGold.ID);
|
|
||||||
GameRegistry.registerBlock(goldenDimensionalDoor, null, BlockGoldDimDoor.ID);
|
|
||||||
GameRegistry.registerBlock(unstableDoor, null, UnstableDoor.ID);
|
|
||||||
GameRegistry.registerBlock(warpDoor, null, WarpDoor.ID);
|
|
||||||
GameRegistry.registerBlock(blockRift, BlockRift.ID);
|
|
||||||
GameRegistry.registerBlock(blockLimbo, BlockLimbo.ID);
|
|
||||||
GameRegistry.registerBlock(dimensionalDoor, null, DimensionalDoor.ID);
|
|
||||||
GameRegistry.registerBlock(transTrapdoor, TransTrapdoor.ID);
|
|
||||||
GameRegistry.registerBlock(blockDimWall, ItemBlockDimWall.class, BlockDimWall.ID);
|
GameRegistry.registerBlock(blockDimWall, ItemBlockDimWall.class, BlockDimWall.ID);
|
||||||
GameRegistry.registerBlock(blockDimWallPerm, BlockDimWallPerm.ID);
|
GameRegistry.registerBlock(blockDimWallPerm, BlockDimWallPerm.ID);
|
||||||
GameRegistry.registerBlock(transientDoor, TransientDoor.ID);
|
GameRegistry.registerBlock(transientDoor, TransientDoor.ID);
|
||||||
GameRegistry.registerItem(itemDDKey, ItemDDKey.ID);
|
GameRegistry.registerItem(itemDDKey, ItemDDKey.ID);
|
||||||
GameRegistry.registerItem(itemQuartzDoor, ItemQuartzDoor.ID);
|
GameRegistry.registerItem(itemQuartzDoor, ItemQuartzDoor.ID);
|
||||||
GameRegistry.registerItem(itemPersonalDoor, ItemPersonalDoor.ID);
|
GameRegistry.registerItem(itemPersonalDoor, ItemPersonalDoor.ID);
|
||||||
|
@ -233,6 +212,39 @@ public class DimDoors {
|
||||||
GameRegistry.registerItem(itemStabilizedRiftSignature, ItemStabilizedRiftSignature.ID);
|
GameRegistry.registerItem(itemStabilizedRiftSignature, ItemStabilizedRiftSignature.ID);
|
||||||
GameRegistry.registerItem(itemWorldThread, ItemWorldThread.ID);
|
GameRegistry.registerItem(itemWorldThread, ItemWorldThread.ID);
|
||||||
|
|
||||||
|
GameRegistry.registerTileEntity(TileEntityDimDoor.class, "TileEntityDimDoor");
|
||||||
|
GameRegistry.registerTileEntity(TileEntityRift.class, "TileEntityRift");
|
||||||
|
GameRegistry.registerTileEntity(TileEntityTransTrapdoor.class, "TileEntityDimHatch");
|
||||||
|
GameRegistry.registerTileEntity(TileEntityDimDoorGold.class, "TileEntityDimDoorGold");
|
||||||
|
|
||||||
|
EntityRegistry.registerModEntity(MobMonolith.class, "Monolith", properties.MonolithEntityID, this, 70, 1, true);
|
||||||
|
EntityList.idToClassMapping.put(properties.MonolithEntityID, MobMonolith.class);
|
||||||
|
EntityList.entityEggs.put(properties.MonolithEntityID, new EntityList.EntityEggInfo(properties.MonolithEntityID, 0, 0xffffff));
|
||||||
|
|
||||||
|
proxy.registerRenderers();
|
||||||
|
|
||||||
|
proxy.registerSidedHooks();
|
||||||
|
|
||||||
|
DimDoorsNetwork.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Mod.EventHandler
|
||||||
|
public void onInitialization(FMLInitializationEvent event) {
|
||||||
|
// Initialize ServerTickHandler instance
|
||||||
|
serverTickHandler = new ServerTickHandler();
|
||||||
|
MinecraftForge.EVENT_BUS.register(serverTickHandler);
|
||||||
|
|
||||||
|
// Initialize LimboDecay instance: required for BlockLimbo
|
||||||
|
limboDecay = new LimboDecay(properties);
|
||||||
|
|
||||||
|
// Check if other biomes have been registered with the same IDs we want. If so, crash Minecraft
|
||||||
|
// to notify the user instead of letting it pass and conflicting with Biomes o' Plenty.
|
||||||
|
DDBiomeGenBase.checkBiomes(properties.LimboBiomeID, properties.PocketBiomeID);
|
||||||
|
|
||||||
|
// Initialize our biomes
|
||||||
|
DimDoors.limboBiome = (new BiomeGenLimbo(properties.LimboBiomeID));
|
||||||
|
DimDoors.pocketBiome = (new BiomeGenPocket(properties.PocketBiomeID));
|
||||||
|
|
||||||
BlockRotator.setupOrientations();
|
BlockRotator.setupOrientations();
|
||||||
|
|
||||||
if(!DimensionManager.registerProviderType(properties.PocketProviderID, PocketProvider.class, false))
|
if(!DimensionManager.registerProviderType(properties.PocketProviderID, PocketProvider.class, false))
|
||||||
|
@ -244,15 +256,6 @@ public class DimDoors {
|
||||||
|
|
||||||
DimensionManager.registerDimension(properties.LimboDimensionID, properties.LimboProviderID);
|
DimensionManager.registerDimension(properties.LimboDimensionID, properties.LimboProviderID);
|
||||||
|
|
||||||
GameRegistry.registerTileEntity(TileEntityDimDoor.class, "TileEntityDimDoor");
|
|
||||||
GameRegistry.registerTileEntity(TileEntityRift.class, "TileEntityRift");
|
|
||||||
GameRegistry.registerTileEntity(TileEntityTransTrapdoor.class, "TileEntityDimHatch");
|
|
||||||
GameRegistry.registerTileEntity(TileEntityDimDoorGold.class, "TileEntityDimDoorGold");
|
|
||||||
|
|
||||||
EntityRegistry.registerModEntity(MobMonolith.class, "Monolith", properties.MonolithEntityID, this, 70, 1, true);
|
|
||||||
EntityList.idToClassMapping.put(properties.MonolithEntityID, MobMonolith.class);
|
|
||||||
EntityList.entityEggs.put(properties.MonolithEntityID, new EntityList.EntityEggInfo(properties.MonolithEntityID, 0, 0xffffff));
|
|
||||||
|
|
||||||
CraftingManager.registerRecipes(properties);
|
CraftingManager.registerRecipes(properties);
|
||||||
CraftingManager.registerDispenserBehaviors();
|
CraftingManager.registerDispenserBehaviors();
|
||||||
MinecraftForge.EVENT_BUS.register(new CraftingManager());
|
MinecraftForge.EVENT_BUS.register(new CraftingManager());
|
||||||
|
|
|
@ -10,8 +10,6 @@ import net.minecraft.block.BlockDoor;
|
||||||
import net.minecraft.block.ITileEntityProvider;
|
import net.minecraft.block.ITileEntityProvider;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.client.renderer.IconFlipped;
|
|
||||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
@ -19,7 +17,6 @@ import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.BlockPos;
|
import net.minecraft.util.BlockPos;
|
||||||
import net.minecraft.util.IIcon;
|
|
||||||
import net.minecraft.util.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
import net.minecraft.util.MovingObjectPosition;
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
import net.minecraft.world.IBlockAccess;
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
@ -28,43 +25,16 @@ import com.zixiken.dimdoors.core.DDTeleporter;
|
||||||
import com.zixiken.dimdoors.core.PocketManager;
|
import com.zixiken.dimdoors.core.PocketManager;
|
||||||
import com.zixiken.dimdoors.items.ItemDDKey;
|
import com.zixiken.dimdoors.items.ItemDDKey;
|
||||||
import com.zixiken.dimdoors.tileentities.TileEntityDimDoor;
|
import com.zixiken.dimdoors.tileentities.TileEntityDimDoor;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public abstract class BaseDimDoor extends BlockDoor implements IDimDoor, ITileEntityProvider
|
public abstract class BaseDimDoor extends BlockDoor implements IDimDoor, ITileEntityProvider {
|
||||||
{
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
protected IIcon[] upperTextures;
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
protected IIcon[] lowerTextures;
|
|
||||||
|
|
||||||
public BaseDimDoor(Material material)
|
public BaseDimDoor(Material material)
|
||||||
{
|
{
|
||||||
super(material);
|
super(material);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
public void registerBlockIcons(IIconRegister iconRegister)
|
|
||||||
{
|
|
||||||
upperTextures = new IIcon[2];
|
|
||||||
lowerTextures = new IIcon[2];
|
|
||||||
upperTextures[0] = iconRegister.registerIcon(DimDoors.modid + ":" + this.getUnlocalizedName() + "_upper");
|
|
||||||
lowerTextures[0] = iconRegister.registerIcon(DimDoors.modid + ":" + this.getUnlocalizedName() + "_lower");
|
|
||||||
upperTextures[1] = new IconFlipped(upperTextures[0], true, false);
|
|
||||||
lowerTextures[1] = new IconFlipped(lowerTextures[0], true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
public IIcon getIcon(int side, int metadata)
|
|
||||||
{
|
|
||||||
return upperTextures[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity)
|
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity)
|
||||||
{
|
{
|
||||||
|
@ -113,71 +83,6 @@ public abstract class BaseDimDoor extends BlockDoor implements IDimDoor, ITileEn
|
||||||
this.updateAttachedTile(world, x, y, z);
|
this.updateAttachedTile(world, x, y, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
public IIcon getIcon(IBlockAccess blockAccess, int x, int y, int z, int side)
|
|
||||||
{
|
|
||||||
if (side != 1 && side != 0)
|
|
||||||
{
|
|
||||||
int fullMetadata = func_150012_g(blockAccess, x, y, z);
|
|
||||||
int orientation = fullMetadata & 3;
|
|
||||||
boolean reversed = false;
|
|
||||||
|
|
||||||
if (isDoorOpen(fullMetadata))
|
|
||||||
{
|
|
||||||
if (orientation == 0 && side == 2)
|
|
||||||
{
|
|
||||||
reversed = !reversed;
|
|
||||||
}
|
|
||||||
else if (orientation == 1 && side == 5)
|
|
||||||
{
|
|
||||||
reversed = !reversed;
|
|
||||||
}
|
|
||||||
else if (orientation == 2 && side == 3)
|
|
||||||
{
|
|
||||||
reversed = !reversed;
|
|
||||||
}
|
|
||||||
else if (orientation == 3 && side == 4)
|
|
||||||
{
|
|
||||||
reversed = !reversed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (orientation == 0 && side == 5)
|
|
||||||
{
|
|
||||||
reversed = !reversed;
|
|
||||||
}
|
|
||||||
else if (orientation == 1 && side == 3)
|
|
||||||
{
|
|
||||||
reversed = !reversed;
|
|
||||||
}
|
|
||||||
else if (orientation == 2 && side == 4)
|
|
||||||
{
|
|
||||||
reversed = !reversed;
|
|
||||||
}
|
|
||||||
else if (orientation == 3 && side == 2)
|
|
||||||
{
|
|
||||||
reversed = !reversed;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((fullMetadata & 16) != 0)
|
|
||||||
{
|
|
||||||
reversed = !reversed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (isUpperDoorBlock(fullMetadata))
|
|
||||||
{
|
|
||||||
return this.upperTextures[reversed ? 1 : 0];
|
|
||||||
}
|
|
||||||
return this.lowerTextures[reversed ? 1 : 0];
|
|
||||||
}
|
|
||||||
return this.lowerTextures[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called to update the render information on the tile entity. Could probably implement a data watcher,
|
//Called to update the render information on the tile entity. Could probably implement a data watcher,
|
||||||
//but this works fine and is more versatile I think.
|
//but this works fine and is more versatile I think.
|
||||||
public BaseDimDoor updateAttachedTile(World world, int x, int y, int z)
|
public BaseDimDoor updateAttachedTile(World world, int x, int y, int z)
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"facing=east,half=lower,hinge=left,open=false": { "model": "iron_door_bottom" },
|
||||||
|
"facing=south,half=lower,hinge=left,open=false": { "model": "iron_door_bottom", "y": 90 },
|
||||||
|
"facing=west,half=lower,hinge=left,open=false": { "model": "iron_door_bottom", "y": 180 },
|
||||||
|
"facing=north,half=lower,hinge=left,open=false": { "model": "iron_door_bottom", "y": 270 },
|
||||||
|
"facing=east,half=lower,hinge=right,open=false": { "model": "iron_door_bottom_rh" },
|
||||||
|
"facing=south,half=lower,hinge=right,open=false": { "model": "iron_door_bottom_rh", "y": 90 },
|
||||||
|
"facing=west,half=lower,hinge=right,open=false": { "model": "iron_door_bottom_rh", "y": 180 },
|
||||||
|
"facing=north,half=lower,hinge=right,open=false": { "model": "iron_door_bottom_rh", "y": 270 },
|
||||||
|
"facing=east,half=lower,hinge=left,open=true": { "model": "iron_door_bottom_rh", "y": 90 },
|
||||||
|
"facing=south,half=lower,hinge=left,open=true": { "model": "iron_door_bottom_rh", "y": 180 },
|
||||||
|
"facing=west,half=lower,hinge=left,open=true": { "model": "iron_door_bottom_rh", "y": 270 },
|
||||||
|
"facing=north,half=lower,hinge=left,open=true": { "model": "iron_door_bottom_rh" },
|
||||||
|
"facing=east,half=lower,hinge=right,open=true": { "model": "iron_door_bottom", "y": 270 },
|
||||||
|
"facing=south,half=lower,hinge=right,open=true": { "model": "iron_door_bottom" },
|
||||||
|
"facing=west,half=lower,hinge=right,open=true": { "model": "iron_door_bottom", "y": 90 },
|
||||||
|
"facing=north,half=lower,hinge=right,open=true": { "model": "iron_door_bottom", "y": 180 },
|
||||||
|
"facing=east,half=upper,hinge=left,open=false": { "model": "iron_door_top" },
|
||||||
|
"facing=south,half=upper,hinge=left,open=false": { "model": "iron_door_top", "y": 90 },
|
||||||
|
"facing=west,half=upper,hinge=left,open=false": { "model": "iron_door_top", "y": 180 },
|
||||||
|
"facing=north,half=upper,hinge=left,open=false": { "model": "iron_door_top", "y": 270 },
|
||||||
|
"facing=east,half=upper,hinge=right,open=false": { "model": "iron_door_top_rh" },
|
||||||
|
"facing=south,half=upper,hinge=right,open=false": { "model": "iron_door_top_rh", "y": 90 },
|
||||||
|
"facing=west,half=upper,hinge=right,open=false": { "model": "iron_door_top_rh", "y": 180 },
|
||||||
|
"facing=north,half=upper,hinge=right,open=false": { "model": "iron_door_top_rh", "y": 270 },
|
||||||
|
"facing=east,half=upper,hinge=left,open=true": { "model": "iron_door_top_rh", "y": 90 },
|
||||||
|
"facing=south,half=upper,hinge=left,open=true": { "model": "iron_door_top_rh", "y": 180 },
|
||||||
|
"facing=west,half=upper,hinge=left,open=true": { "model": "iron_door_top_rh", "y": 270 },
|
||||||
|
"facing=north,half=upper,hinge=left,open=true": { "model": "iron_door_top_rh" },
|
||||||
|
"facing=east,half=upper,hinge=right,open=true": { "model": "iron_door_top", "y": 270 },
|
||||||
|
"facing=south,half=upper,hinge=right,open=true": { "model": "iron_door_top" },
|
||||||
|
"facing=west,half=upper,hinge=right,open=true": { "model": "iron_door_top", "y": 90 },
|
||||||
|
"facing=north,half=upper,hinge=right,open=true": { "model": "iron_door_top", "y": 180 }
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"parent": "block/door_bottom",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "blocks/door_iron_lower",
|
||||||
|
"top": "blocks/door_iron_upper"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"parent": "block/door_bottom_rh",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "blocks/door_iron_lower",
|
||||||
|
"top": "blocks/door_iron_upper"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"parent": "block/door_top",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "blocks/door_iron_lower",
|
||||||
|
"top": "blocks/door_iron_upper"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"parent": "block/door_top_rh",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "blocks/door_iron_lower",
|
||||||
|
"top": "blocks/door_iron_upper"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue