1.12.2: Treated wood window added. Model files auto-sanatized. Explicit spwan-in-block prevention.
|
@ -13,9 +13,12 @@ import net.minecraft.entity.player.EntityPlayer;
|
|||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.entity.living.LivingEvent;
|
||||
import net.minecraftforge.fml.common.network.IGuiHandler;
|
||||
import net.minecraftforge.fml.common.network.NetworkRegistry;
|
||||
import wile.engineersdecor.blocks.BlockDecorCraftingTable;
|
||||
import wile.engineersdecor.blocks.BlockDecorLadder;
|
||||
import wile.engineersdecor.detail.ModConfig;
|
||||
import wile.engineersdecor.blocks.ModBlocks;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
@ -63,13 +66,13 @@ public class ModEngineersDecor
|
|||
|
||||
public interface IProxy
|
||||
{
|
||||
default void preInit(FMLPreInitializationEvent e) {}
|
||||
default void init(FMLInitializationEvent e) {}
|
||||
default void postInit(FMLPostInitializationEvent e) {}
|
||||
default void preInit(final FMLPreInitializationEvent e) {}
|
||||
default void init(final FMLInitializationEvent e) {}
|
||||
default void postInit(final FMLPostInitializationEvent e) {}
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void preInit(FMLPreInitializationEvent event)
|
||||
public void preInit(final FMLPreInitializationEvent event)
|
||||
{
|
||||
logger = event.getModLog();
|
||||
logger.info(MODNAME + ": Version " + MODMCVERSION + "-" + MODVERSION + ( (MODBUILDID=="@"+"MOD_BUILDID"+"@") ? "" : (" "+MODBUILDID) ) + ".");
|
||||
|
@ -79,33 +82,34 @@ public class ModEngineersDecor
|
|||
logger.info(MODNAME + ": Found valid fingerprint " + MODFINGERPRINT + ".");
|
||||
}
|
||||
proxy.preInit(event);
|
||||
MinecraftForge.EVENT_BUS.register(new PlayerEventHandler());
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void init(FMLInitializationEvent event)
|
||||
public void init(final FMLInitializationEvent event)
|
||||
{
|
||||
proxy.init(event);
|
||||
NetworkRegistry.INSTANCE.registerGuiHandler(this, new ModEngineersDecor.GuiHandler());
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void postInit(FMLPostInitializationEvent event)
|
||||
public void postInit(final FMLPostInitializationEvent event)
|
||||
{ ModConfig.onPostInit(event); proxy.postInit(event); }
|
||||
|
||||
@Mod.EventBusSubscriber
|
||||
public static final class RegistrationSubscriptions
|
||||
{
|
||||
@SubscribeEvent
|
||||
public static void registerBlocks(RegistryEvent.Register<Block> event)
|
||||
public static void registerBlocks(final RegistryEvent.Register<Block> event)
|
||||
{ ModBlocks.registerBlocks(event); }
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerItems(RegistryEvent.Register<Item> event)
|
||||
public static void registerItems(final RegistryEvent.Register<Item> event)
|
||||
{ ModBlocks.registerItemBlocks(event); }
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public static void registerModels(ModelRegistryEvent event)
|
||||
public static void registerModels(final ModelRegistryEvent event)
|
||||
{ ModBlocks.initModels(); }
|
||||
}
|
||||
|
||||
|
@ -145,4 +149,17 @@ public class ModEngineersDecor
|
|||
|
||||
}
|
||||
|
||||
@Mod.EventBusSubscriber
|
||||
public static class PlayerEventHandler
|
||||
{
|
||||
@SubscribeEvent
|
||||
public void update(final LivingEvent.LivingUpdateEvent event)
|
||||
{
|
||||
if(!(event.getEntity() instanceof EntityPlayer)) return;
|
||||
final EntityPlayer player = (EntityPlayer)event.getEntity();
|
||||
if(player.world == null) return;
|
||||
if(player.isOnLadder()) BlockDecorLadder.onPlayerUpdateEvent(player);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ public class BlockDecor extends Block
|
|||
public static final long CFG_LOOK_PLACEMENT = 0x0000000000000004L; // placed in direction the player is looking when placing.
|
||||
public static final long CFG_FACING_PLACEMENT = 0x0000000000000008L; // placed on the facing the player has clicked.
|
||||
public static final long CFG_OPPOSITE_PLACEMENT = 0x0000000000000020L; // placed placed in the opposite direction of the face the player clicked.
|
||||
|
||||
public static final long CFG_TRANSLUCENT = 0x0000000000000040L; // indicates a block/pane is glass like (transparent, etc)
|
||||
public static final long CFG_LIGHT_VALUE_MASK = 0x0000000000000f00L; // fixed value for getLightValue()
|
||||
public static final long CFG_LIGHT_VALUE_SHIFT = 8L;
|
||||
|
||||
|
@ -79,7 +79,13 @@ public class BlockDecor extends Block
|
|||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public BlockRenderLayer getRenderLayer()
|
||||
{ return ((config & CFG_CUTOUT)!=0) ? BlockRenderLayer.CUTOUT : BlockRenderLayer.SOLID; }
|
||||
{ return ((config & CFG_CUTOUT)!=0) ? (BlockRenderLayer.CUTOUT) : ( ((config & CFG_TRANSLUCENT)!=0) ? (BlockRenderLayer.TRANSLUCENT) : (BlockRenderLayer.SOLID)); }
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean shouldSideBeRendered(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side)
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
|
@ -89,17 +95,21 @@ public class BlockDecor extends Block
|
|||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean isNormalCube(IBlockState state)
|
||||
{ return ((config & CFG_CUTOUT)==0); }
|
||||
{ return ((config & (CFG_CUTOUT|CFG_TRANSLUCENT))==0); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean isOpaqueCube(IBlockState state)
|
||||
{ return ((config & CFG_CUTOUT)==0); }
|
||||
{ return ((config & (CFG_CUTOUT|CFG_TRANSLUCENT))==0); }
|
||||
|
||||
@Override
|
||||
public boolean canSpawnInBlock()
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canHarvestBlock(IBlockAccess world, BlockPos pos, EntityPlayer player)
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public EnumPushReaction getPushReaction(IBlockState state)
|
||||
|
@ -166,7 +176,4 @@ public class BlockDecor extends Block
|
|||
public IBlockState getStateForPlacement(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer, EnumHand hand)
|
||||
{ return super.getStateForPlacement(world, pos, facing, hitX, hitY, hitZ, meta, placer, hand); }
|
||||
|
||||
@Override
|
||||
public boolean canHarvestBlock(IBlockAccess world, BlockPos pos, EntityPlayer player)
|
||||
{ return true; }
|
||||
}
|
||||
|
|
|
@ -21,12 +21,9 @@ import net.minecraft.world.World;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.Mirror;
|
||||
import net.minecraft.util.Rotation;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
|
@ -65,6 +62,10 @@ public class BlockDecorDirected extends BlockDecor
|
|||
public boolean isNormalCube(IBlockState state)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canCreatureSpawn(IBlockState state, IBlockAccess world, BlockPos pos, net.minecraft.entity.EntityLiving.SpawnPlacementType type)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing face)
|
||||
|
@ -80,11 +81,6 @@ public class BlockDecorDirected extends BlockDecor
|
|||
public AxisAlignedBB getCollisionBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{ return getBoundingBox(state, world, pos); }
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public BlockRenderLayer getRenderLayer()
|
||||
{ return BlockRenderLayer.CUTOUT; }
|
||||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta)
|
||||
{ return this.getDefaultState().withProperty(FACING, EnumFacing.byIndex(meta & 0x7)); }
|
||||
|
|
|
@ -56,6 +56,10 @@ public class BlockDecorGlassBlock extends BlockDecor
|
|||
public boolean isOpaqueCube(IBlockState state)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canCreatureSpawn(IBlockState state, IBlockAccess world, BlockPos pos, net.minecraft.entity.EntityLiving.SpawnPlacementType type)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing face)
|
||||
|
@ -74,11 +78,11 @@ public class BlockDecorGlassBlock extends BlockDecor
|
|||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean isFullCube(IBlockState state)
|
||||
{ return true; }
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean isNormalCube(IBlockState state)
|
||||
{ return true; }
|
||||
{ return false; }
|
||||
|
||||
}
|
||||
|
|
|
@ -16,7 +16,10 @@ import net.minecraft.block.BlockLadder;
|
|||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.MoverType;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import wile.engineersdecor.ModEngineersDecor;
|
||||
|
@ -77,6 +80,10 @@ public class BlockDecorLadder extends BlockLadder
|
|||
public boolean canSpawnInBlock()
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canCreatureSpawn(IBlockState state, IBlockAccess world, BlockPos pos, net.minecraft.entity.EntityLiving.SpawnPlacementType type)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public EnumPushReaction getPushReaction(IBlockState state)
|
||||
|
@ -103,4 +110,18 @@ public class BlockDecorLadder extends BlockLadder
|
|||
return (!isExceptBlockForAttachWithPiston(state.getBlock())) && (state.getBlockFaceShape(world, pos, side) == BlockFaceShape.SOLID);
|
||||
}
|
||||
|
||||
// Player update event, forwarded from the main mod instance.
|
||||
public static void onPlayerUpdateEvent(final EntityPlayer player)
|
||||
{
|
||||
if(!player.isOnLadder() || (player.isSneaking()) || (player.isSpectator())) return;
|
||||
if((Math.abs(player.motionY) < 0.1) || (Math.abs(player.motionY) > 0.7) || ((player.getLookVec().y > 0) != (player.motionY > 0))) return;
|
||||
if(Math.abs(player.getLookVec().y) < 0.9) return;
|
||||
final BlockPos pos = new BlockPos(player.posX, player.posY, player.posZ);
|
||||
if(!(player.world.getBlockState(pos).getBlock() instanceof BlockDecorLadder)) return;
|
||||
player.fallDistance = 0;
|
||||
player.motionY = (player.motionY < -0.25) ? (-0.7) : ((player.motionY > 0.25) ? (0.7) : (player.motionY));
|
||||
player.motionX = MathHelper.clamp(player.motionX, -0.15, 0.15);
|
||||
player.motionZ = MathHelper.clamp(player.motionX, -0.15, 0.15);
|
||||
player.move(MoverType.PLAYER, player.motionX, player.motionY, player.motionZ);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,4 +22,9 @@ public class BlockDecorStairs extends net.minecraft.block.BlockStairs
|
|||
setRegistryName(ModEngineersDecor.MODID, registryName);
|
||||
setTranslationKey(ModEngineersDecor.MODID + "." + registryName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSpawnInBlock()
|
||||
{ return false; }
|
||||
|
||||
}
|
||||
|
|
|
@ -118,6 +118,14 @@ public class BlockDecorWall extends BlockDecor
|
|||
public boolean isNormalCube(IBlockState state)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canCreatureSpawn(IBlockState state, IBlockAccess world, BlockPos pos, net.minecraft.entity.EntityLiving.SpawnPlacementType type)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canSpawnInBlock()
|
||||
{ return false; }
|
||||
|
||||
private boolean canConnectTo(IBlockAccess world, BlockPos pos, BlockPos other, EnumFacing facing)
|
||||
{
|
||||
final IBlockState state = world.getBlockState(other);
|
||||
|
|
|
@ -41,6 +41,7 @@ public class ModBlocks
|
|||
|
||||
public static final BlockDecorFull SLAG_BRICK_BLOCK = new BlockDecorFull("slag_brick_block", 0, Material.ROCK, 2f, 50f, SoundType.STONE);
|
||||
public static final BlockDecorStairs SLAG_BRICK_STAIRS = new BlockDecorStairs("slag_brick_stairs", SLAG_BRICK_BLOCK.getDefaultState());
|
||||
public static final BlockDecorWall SLAG_BRICK_WALL = new BlockDecorWall("slag_brick_wall", BlockDecor.CFG_DEFAULT, Material.ROCK, 8f, 50f, SoundType.STONE);
|
||||
|
||||
public static final BlockDecorFull REBAR_CONCRETE_BLOCK = new BlockDecorFull("rebar_concrete", 0, Material.ROCK, 8f, 2000f, SoundType.STONE);
|
||||
public static final BlockDecorStairs REBAR_CONCRETE_STAIRS = new BlockDecorStairs("rebar_concrete_stairs", REBAR_CONCRETE_BLOCK.getDefaultState());
|
||||
|
@ -54,7 +55,7 @@ public class ModBlocks
|
|||
public static final BlockDecorLadder METAL_RUNG_STEPS = new BlockDecorLadder("metal_rung_steps", 0, Material.IRON, 1.0f, 25f, SoundType.METAL);
|
||||
public static final BlockDecorLadder TREATED_WOOD_LADDER = new BlockDecorLadder("treated_wood_ladder", 0, Material.WOOD, 1.0f, 15f, SoundType.WOOD);
|
||||
|
||||
public static final BlockDecorGlassBlock PANZERGLASS_BLOCK = new BlockDecorGlassBlock("panzerglass_block", 0, Material.ROCK, 3f, 2000f, SoundType.GLASS);
|
||||
public static final BlockDecorGlassBlock PANZERGLASS_BLOCK = new BlockDecorGlassBlock("panzerglass_block", 0, Material.GLASS, 0.8f, 2000f, SoundType.GLASS);
|
||||
|
||||
public static final BlockDecorDirected TREATED_WOOD_POLE = new BlockDecorDirected(
|
||||
"treated_wood_pole",
|
||||
|
@ -68,6 +69,7 @@ public class ModBlocks
|
|||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
Material.WOOD, 1.0f, 15f, SoundType.WOOD
|
||||
);
|
||||
|
||||
public static final BlockDecorChair TREATED_WOOD_STOOL = new BlockDecorChair(
|
||||
"treated_wood_stool",
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
|
@ -96,6 +98,13 @@ public class ModBlocks
|
|||
ModAuxiliaries.getPixeledAABB(0.5,15,10.5, 15.5,16,16)
|
||||
);
|
||||
|
||||
public static final BlockDecorDirected TREATED_WOOD_WINDOW = new BlockDecorDirected(
|
||||
"treated_wood_window",
|
||||
BlockDecor.CFG_TRANSLUCENT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
Material.WOOD, 0.5f, 15f, SoundType.GLASS,
|
||||
ModAuxiliaries.getPixeledAABB(0,0,7, 16,16,9)
|
||||
);
|
||||
|
||||
public static final BlockDecorFull IRON_SHEET_ROOF_FULLBLOCK = new BlockDecorFull("iron_sheet_roof_block", 0, Material.IRON, 1.8f, 25f, SoundType.METAL);
|
||||
public static final BlockDecorStairs IRON_SHEET_ROOF = new BlockDecorStairs("iron_sheet_roof", IRON_SHEET_ROOF_FULLBLOCK.getDefaultState());
|
||||
|
||||
|
@ -106,6 +115,7 @@ public class ModBlocks
|
|||
CLINKER_BRICK_WALL,
|
||||
SLAG_BRICK_BLOCK,
|
||||
SLAG_BRICK_STAIRS,
|
||||
SLAG_BRICK_WALL,
|
||||
REBAR_CONCRETE_BLOCK,
|
||||
REBAR_CONCRETE_STAIRS,
|
||||
REBAR_CONCRETE_WALL,
|
||||
|
@ -119,6 +129,7 @@ public class ModBlocks
|
|||
TREATED_WOOD_POLE,
|
||||
TREATED_WOOD_TABLE,
|
||||
TREATED_WOOD_STOOL,
|
||||
TREATED_WOOD_WINDOW,
|
||||
TREATED_WOOD_WINDOWSILL,
|
||||
INSET_LIGHT_IRON,
|
||||
};
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "engineersdecor:wall/slag_brick_wall_default",
|
||||
"textures": {
|
||||
"wall": "engineersdecor:blocks/slag_brick/slag_brick_wall",
|
||||
"postside": "engineersdecor:blocks/slag_brick/slag_brick_pole_side",
|
||||
"top": "engineersdecor:blocks/slag_brick/slag_brick_top",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_top"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
"inventory": { "model": "engineersdecor:wall/slag_brick_wall_inventory" },
|
||||
"up" : { "false":{}, "true": {"submodel": {"clinker_wall_up" : {"model": "engineersdecor:wall/slag_brick_wall_post" }}} },
|
||||
"north": { "false":{}, "true": {"submodel": {"clinker_wall_north" : {"model": "engineersdecor:wall/slag_brick_wall_side", "uvlock": true, "y": 0 }}} },
|
||||
"east" : { "false":{}, "true": {"submodel": {"clinker_wall_east" : {"model": "engineersdecor:wall/slag_brick_wall_side", "uvlock": true, "y": 90 }}} },
|
||||
"south": { "false":{}, "true": {"submodel": {"clinker_wall_south" : {"model": "engineersdecor:wall/slag_brick_wall_side", "uvlock": true, "y": 180 }}} },
|
||||
"west" : { "false":{}, "true": {"submodel": {"clinker_wall_west" : {"model": "engineersdecor:wall/slag_brick_wall_side", "uvlock": true, "y": 270 }}} }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "engineersdecor:furniture/treated_wood_window_model"
|
||||
},
|
||||
"variants": {
|
||||
"normal": [{}],
|
||||
"facing": { "north": {"y":0}, "south": {"y":0}, "west": {"y":90}, "east": {"y":90}, "up": {"x":90}, "down": {"x":90} },
|
||||
"inventory": [{}]
|
||||
}
|
||||
}
|
|
@ -29,13 +29,15 @@ tile.engineersdecor.concrete_wall.name=Concrete wall
|
|||
tile.engineersdecor.concrete_wall.help=§6Wall made of solid concrete.
|
||||
tile.engineersdecor.clinker_brick_wall.name=Clinker brick wall
|
||||
tile.engineersdecor.clinker_brick_wall.help=§6Simplistic clinker brick wall.
|
||||
tile.engineersdecor.slag_brick_wall.name=Slag brick wall
|
||||
tile.engineersdecor.slag_brick_wall.help=§6Simplistic slag brick wall.
|
||||
#-----------------------------------------------------------------------------------------------------------
|
||||
tile.engineersdecor.metal_rung_ladder.name=Metal rung ladder
|
||||
tile.engineersdecor.metal_rung_ladder.help=§6Typical industrial wall ladder, consisting of horizontal metal rod rungs.
|
||||
tile.engineersdecor.metal_rung_ladder.help=§6Typical industrial wall ladder, consisting of horizontal metal rod rungs.§r Look up/down to climb faster.
|
||||
tile.engineersdecor.metal_rung_steps.name=Staggered metal steps
|
||||
tile.engineersdecor.metal_rung_steps.help=§6Staggered rod rungs affixed to a wall, allowing to climb up, fall down, and so on.
|
||||
tile.engineersdecor.metal_rung_steps.help=§6Staggered rod rungs affixed to a wall, allowing to climb up, fall down, and so on.§r Look up/down to climb faster.
|
||||
tile.engineersdecor.treated_wood_ladder.name=Treated wood ladder
|
||||
tile.engineersdecor.treated_wood_ladder.help=§6Weather-proof wooden ladder.
|
||||
tile.engineersdecor.treated_wood_ladder.help=§6Weather-proof wooden ladder.§r Look up/down to climb faster.
|
||||
#-----------------------------------------------------------------------------------------------------------
|
||||
tile.engineersdecor.clinker_brick_stairs.name=Clinker brick stairs
|
||||
tile.engineersdecor.clinker_brick_stairs.help=§6Looks slightly darker and more color intensive than the vanilla brick block.
|
||||
|
@ -61,6 +63,8 @@ tile.engineersdecor.iron_inset_light.name=Inset light
|
|||
tile.engineersdecor.iron_inset_light.help=§6Small glowstone light source, sunk into the floor, ceiling or wall.§r\n\
|
||||
Useful to light up places where electrical light installations are problematic.\
|
||||
Light level like a torch.
|
||||
tile.engineersdecor.treated_wood_window.name=Treated wood window
|
||||
tile.engineersdecor.treated_wood_window.help=§6Wood framed tripple glazed window. Well insulating.
|
||||
tile.engineersdecor.treated_wood_windowsill.name=Treated wood window sill
|
||||
tile.engineersdecor.treated_wood_windowsill.help=§6Simple window decoration.
|
||||
#-----------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"o": "engineersdecor:blocks/iestyle/treated_wood_framed_texture",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"o": "engineersdecor:blocks/iestyle/treated_wood_framed_texture",
|
||||
|
|
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
"parent": "block/cube",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"glass": "engineersdecor:blocks/glass/panzerglass_block_texture0",
|
||||
"frame": "engineersdecor:blocks/iestyle/treated_wood_rough_texture",
|
||||
"particle": "engineersdecor:blocks/iestyle/treated_wood_rough_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [1, 1, 7.25],
|
||||
"to": [15, 15, 8.75],
|
||||
"faces": {
|
||||
"north": {"uv": [1, 1, 15, 15], "texture": "#glass"},
|
||||
"south": {"uv": [1, 1, 15, 15], "texture": "#glass"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 1, 6.5],
|
||||
"to": [1, 15, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [15, 1, 16, 15], "texture": "#frame"},
|
||||
"east": {"uv": [6.5, 1, 9.5, 15], "texture": "#frame"},
|
||||
"south": {"uv": [0, 1, 1, 15], "texture": "#frame"},
|
||||
"west": {"uv": [6.5, 1, 9.5, 15], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15, 1, 6.5],
|
||||
"to": [16, 15, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 1, 1, 15], "texture": "#frame"},
|
||||
"east": {"uv": [6.5, 1, 9.5, 15], "texture": "#frame"},
|
||||
"south": {"uv": [15, 1, 16, 15], "texture": "#frame"},
|
||||
"west": {"uv": [6.5, 1, 9.5, 15], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 15, 6.5],
|
||||
"to": [15, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [1, 0, 15, 1], "texture": "#frame"},
|
||||
"south": {"uv": [1, 0, 15, 1], "texture": "#frame"},
|
||||
"up": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"},
|
||||
"down": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 0, 6.5],
|
||||
"to": [15, 1, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [1, 15, 15, 16], "texture": "#frame"},
|
||||
"south": {"uv": [1, 15, 15, 16], "texture": "#frame"},
|
||||
"up": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"},
|
||||
"down": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 6.5],
|
||||
"to": [1, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [15, 0, 16, 1], "texture": "#frame"},
|
||||
"south": {"uv": [0, 0, 1, 1], "texture": "#frame"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 1], "texture": "#frame"},
|
||||
"up": {"uv": [0, 6.5, 1, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15, 15, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 1, 1], "texture": "#frame"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 1], "texture": "#frame"},
|
||||
"south": {"uv": [15, 0, 16, 1], "texture": "#frame"},
|
||||
"up": {"uv": [15, 6.5, 16, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15, 0, 6.5],
|
||||
"to": [16, 1, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 15, 1, 16], "texture": "#frame"},
|
||||
"east": {"uv": [6.5, 15, 9.5, 16], "texture": "#frame"},
|
||||
"south": {"uv": [15, 15, 16, 16], "texture": "#frame"},
|
||||
"down": {"uv": [15, 6.5, 16, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [1, 1, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [15, 15, 16, 16], "texture": "#frame"},
|
||||
"south": {"uv": [0, 15, 1, 16], "texture": "#frame"},
|
||||
"west": {"uv": [6.5, 15, 9.5, 16], "texture": "#frame"},
|
||||
"down": {"uv": [0, 6.5, 1, 9.5], "texture": "#frame"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"ground": {
|
||||
"scale": [0.2, 0.2, 0.2]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 225, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"particle": "engineersdecor:blocks/iestyle/steel_texture",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"o": "engineersdecor:blocks/iestyle/steel_texture",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"side": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
"particle": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"particle": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
"side": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"ambientocclusion": false,
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"side": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/block",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/block",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"textures": {
|
||||
"wall": "engineersdecor:blocks/slag_brick/slag_brick_texture0",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_texture0"
|
||||
},
|
||||
"elements": [{
|
||||
"from": [7.9, 7.9, 7.9], "to": [8, 8, 8], "faces": { "down": {"texture": "#wall"} }
|
||||
}]
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"wall": "engineersdecor:blocks/slag_brick/slag_brick_wall",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_wall",
|
||||
"top": "engineersdecor:blocks/slag_brick/slag_brick_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [4.5, 0, 0],
|
||||
"to": [11.5, 12, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [3.97, 4, 10.97, 16], "texture": "#wall", "cullface": "north"},
|
||||
"east": {"uv": [0, 4, 16, 16], "texture": "#wall"},
|
||||
"south": {"uv": [4, 4, 11, 16], "texture": "#wall", "cullface": "south"},
|
||||
"west": {"uv": [0, 4, 16, 16], "texture": "#wall"},
|
||||
"up": {"uv": [4.5, 0, 11.5, 16], "texture": "#top"},
|
||||
"down": {"uv": [4.5, 0, 11.5, 16], "texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [4.5, 12, 0],
|
||||
"to": [11.5, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [4.5, 0, 11.5, 4], "texture": "#wall", "cullface": "north"},
|
||||
"east": {"uv": [0, 0, 16, 4], "texture": "#wall"},
|
||||
"south": {"uv": [4.5, 0, 11.5, 4], "texture": "#wall", "cullface": "south"},
|
||||
"west": {"uv": [0, 0, 16, 4], "texture": "#wall"},
|
||||
"up": {"uv": [4.5, 0, 11.5, 16], "texture": "#top"},
|
||||
"down": {"uv": [4.5, 0, 11.5, 16], "texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"gui": {
|
||||
"rotation": [30, 135, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [0, 90, 0],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"textures": {
|
||||
"postside": "engineersdecor:blocks/slag_brick/slag_brick_pole_side",
|
||||
"top": "engineersdecor:blocks/slag_brick/slag_brick_top",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Center post",
|
||||
"from": [4, 0, 4],
|
||||
"to": [12, 16, 12],
|
||||
"faces": {
|
||||
"north": {"texture": "#postside"},
|
||||
"east": {"texture": "#postside"},
|
||||
"south": {"texture": "#postside"},
|
||||
"west": {"texture": "#postside"},
|
||||
"up": {"texture": "#top", "cullface": "up"},
|
||||
"down": {"texture": "#top"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"textures": {
|
||||
"wall": "engineersdecor:blocks/slag_brick/slag_brick_wall",
|
||||
"top": "engineersdecor:blocks/slag_brick/slag_brick_top",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [4.125, 0, 0],
|
||||
"to": [11.875, 15.98, 8],
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#top"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:grc",
|
||||
"result": "engineersdecor:clinker_brick_block"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"WW",
|
||||
"WW"
|
||||
],
|
||||
"key": {
|
||||
"W": {
|
||||
"item": "engineersdecor:clinker_brick_wall",
|
||||
"data": 0
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:clinker_brick_block",
|
||||
"count": 4
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:grc",
|
||||
"result": "engineersdecor:rebar_concrete"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"WW",
|
||||
"WW"
|
||||
],
|
||||
"key": {
|
||||
"W": {
|
||||
"item": "engineersdecor:rebar_concrete_wall",
|
||||
"data": 0
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:rebar_concrete",
|
||||
"count": 4
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:grc",
|
||||
"result": "engineersdecor:slag_brick_wall"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
" ",
|
||||
"BBB",
|
||||
"BBB"
|
||||
],
|
||||
"key": {
|
||||
"B": {
|
||||
"item": "engineersdecor:slag_brick_block",
|
||||
"data": 0
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:slag_brick_wall",
|
||||
"count": 6
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:grc",
|
||||
"result": "engineersdecor:slag_brick_block"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"WW",
|
||||
"WW"
|
||||
],
|
||||
"key": {
|
||||
"W": {
|
||||
"item": "engineersdecor:slag_brick_wall",
|
||||
"data": 0
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:slag_brick_block",
|
||||
"count": 4
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:grc",
|
||||
"result": "engineersdecor:treated_wood_window",
|
||||
"required": ["immersiveengineering:material"]
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"WGW",
|
||||
"GGG",
|
||||
"WGW"
|
||||
],
|
||||
"key": {
|
||||
"W": {
|
||||
"item": "#slabTreatedWood",
|
||||
"data": 0
|
||||
},
|
||||
"G": {
|
||||
"item": "#paneGlass",
|
||||
"data": 0
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:treated_wood_window",
|
||||
"count": 9
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 501 B After Width: | Height: | Size: 521 B |
Before Width: | Height: | Size: 565 B After Width: | Height: | Size: 508 B |
After Width: | Height: | Size: 450 B |
After Width: | Height: | Size: 506 B |
After Width: | Height: | Size: 692 B |