diff --git a/.gitignore b/.gitignore index a2db5a4..6d22088 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ src/main/resources/assets/minecraft .gimp *.xcf desktop.ini +/*.txt diff --git a/1.12/.gitignore b/1.12/.gitignore index a2db5a4..6d22088 100644 --- a/1.12/.gitignore +++ b/1.12/.gitignore @@ -30,3 +30,4 @@ src/main/resources/assets/minecraft .gimp *.xcf desktop.ini +/*.txt diff --git a/1.12/Makefile b/1.12/Makefile index afbe832..4a2d37b 100644 --- a/1.12/Makefile +++ b/1.12/Makefile @@ -67,7 +67,8 @@ install: $(MOD_JAR) | @rm -f "$(SERVER_INSTALL_DIR)/mods/${MOD_JAR_PREFIX}"*.jar @[ -d "$(SERVER_INSTALL_DIR)/mods" ] && cp -f "$(MOD_JAR)" "$(SERVER_INSTALL_DIR)/mods/" -start-server: install +start-server: + -@make -s install @echo "[1.12] Starting local dedicated server ..." @cd "$(SERVER_INSTALL_DIR)" && java -jar forge-1.12.2-14.23.5.2768-universal.jar nogui diff --git a/1.12/gradle.properties b/1.12/gradle.properties index 403a916..e9ef3b2 100644 --- a/1.12/gradle.properties +++ b/1.12/gradle.properties @@ -3,7 +3,7 @@ org.gradle.daemon=false org.gradle.jvmargs=-Xmx8G version_minecraft=1.12.2 version_forge=14.23.5.2768 -version_engineersdecor=1.0.1 +version_engineersdecor=1.0.2 # # jar signing data loaded from signing.properties in the project root. # diff --git a/1.12/meta/update.json b/1.12/meta/update.json index 7f25851..8058153 100644 --- a/1.12/meta/update.json +++ b/1.12/meta/update.json @@ -1,6 +1,10 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.12.2": { + "1.0.2": "[R] Release based on v1.0.2-b3 * Fixes: Spawning. * Crafting table: Shift-click. * Ladders: Faster climbing/descending. * Concrete: Rebar tiles, tile stairs. * Treated wood: window, windowsill. * Slag brick: wall. * Panzer glass: added. * Recipes: Adaptions, added decompositions.", + "1.0.2-b3": "[A] Added slag brick wall.\n[A] Added wall decomposition recipes.\n[A] Added treated wood window.\n[M] Climbing/descending mod ladders is faster when looking up or down and not sneaking.\n[M] Panzer glass material definition changed.\n[M] Explicitly preventing spawning in and on \"non-full\" blocks of the mod.", + "1.0.2-b2": "[A] Added rebar concrete tile stairs.\n[A] Added treated wood window sill.\n[A] Added decomposition recipes for stairs and tiles.\n[M] Changed stair recipe yield quantity from 9 to 6.", + "1.0.2-b1": "[A] Added rebar concrete tile.\n[A] Added panzer glass (explosion-resistant reinforced glass).\n[M] Treated wood crafting table supports shift-click to transfer stacks between player inventory and crafting table storage (thanks majijn for the hint).", "1.0.1": "[R] Release based on v1.0.1-b4 * Treated wood crafting table * Clinker brick wall * Treated wood stool * Inset spot light * Recipe fixes * Logo updated", "1.0.1-b4": "[M] Crafting table keeps inventory and has eight storage slots.\n[M] Adapted inset light strength and harvest tool.\n[M] Crafting table recipe adapted.", "1.0.1-b3": "[A] Added inset light (glowstone-metal, light level like torch, can be used as floor/ceiling/wall light).\n[M] Crafting table model updated (issue #7, thanks majijn).\n[M] Logo image updated.", @@ -13,7 +17,7 @@ "1.0.0-b1": "[A] Initial structure.\n[A] Added clinker bricks and clinker brick stairs.\n[A] Added slag bricks and slag brick stairs.\n[A] Added metal rung ladder.\n[A] Added staggered metal steps ladder.\n[A] Added treated wood ladder.\n[A] Added treated wood pole.\n[A] Added treated wood table." }, "promos": { - "1.12.2-recommended": "1.0.1", - "1.12.2-latest": "1.0.1" + "1.12.2-recommended": "1.0.2", + "1.12.2-latest": "1.0.2" } } \ No newline at end of file diff --git a/1.12/readme.md b/1.12/readme.md index 1bccf07..59b5316 100644 --- a/1.12/readme.md +++ b/1.12/readme.md @@ -10,6 +10,38 @@ Mod sources for Minecraft version 1.12.2. ---- ## Revision history + ------------------------------------------------------------------- + - v1.0.2 [R] Release based on v1.0.2-b3 + * Fixes: Spawning. + * Crafting table: Shift-click. + * Ladders: Faster climbing/descending. + * Concrete: Rebar tiles, tile stairs. + * Treated wood: window, windowsill. + * Slag brick: wall. + * Panzer glass: added. + * Recipes: Adaptions, added decompositions. + ------------------------------------------------------------------- + + - v1.0.2-b3 [A] Added slag brick wall. + [A] Added wall decomposition recipes. + [A] Added treated wood window. + [M] Climbing/descending mod ladders is faster when + looking up or down and not sneaking. + [M] Panzer glass material definition changed. + [M] Explicitly preventing spawning in and on "non-full" + blocks of the mod. + + - v1.0.2-b2 [A] Added rebar concrete tile stairs. + [A] Added treated wood window sill. + [A] Added decomposition recipes for stairs and tiles. + [M] Changed stair recipe yield quantity from 9 to 6. + + - v1.0.2-b1 [A] Added rebar concrete tile. + [A] Added panzer glass (explosion-resistant reinforced glass). + [M] Treated wood crafting table supports shift-click to transfer + stacks between player inventory and crafting table storage + (thanks majijn for the hint). + ------------------------------------------------------------------- - v1.0.1 [R] Release based on v1.0.1-b4 * Treated wood crafting table diff --git a/1.12/src/main/java/wile/engineersdecor/ModEngineersDecor.java b/1.12/src/main/java/wile/engineersdecor/ModEngineersDecor.java index 2f57c24..f91ddae 100644 --- a/1.12/src/main/java/wile/engineersdecor/ModEngineersDecor.java +++ b/1.12/src/main/java/wile/engineersdecor/ModEngineersDecor.java @@ -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 event) + public static void registerBlocks(final RegistryEvent.Register event) { ModBlocks.registerBlocks(event); } @SubscribeEvent - public static void registerItems(RegistryEvent.Register event) + public static void registerItems(final RegistryEvent.Register 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); + } + } + } diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecor.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecor.java index 9166e91..0c81304 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecor.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecor.java @@ -41,13 +41,15 @@ public class BlockDecor extends Block // The config combines some aspects of blocks, allowing to define different behaviour at construction time, without excessive polymorphy. // It's an old school flag set as it is used internally only and shall not have as littlt impact on performance as possible. public final long config; - public static final long CFG_DEFAULT = 0x0000000000000000L; // no special config - public static final long CFG_CUTOUT = 0x0000000000000001L; // cutout rendering - public static final long CFG_HORIZIONTAL = 0x0000000000000002L; // horizontal block, affects bounding box calculation at construction time - public static final long CFG_HORIZIONTAL_PLACEMENT = 0x0000000000000004L; // placed in the horizontzal direction the player is looking when placing. - public static final long CFG_OPPOSITE_PLACEMENT = 0x0000000000000008L; // placed placed in the opposite direction of the face the player clicked. - public static final long CFG_LIGHT_VALUE_MASK = 0x00000000000000f0L; // fixed value for getLightValue() - public static final long CFG_LIGHT_VALUE_SHIFT = 4L; + public static final long CFG_DEFAULT = 0x0000000000000000L; // no special config + public static final long CFG_CUTOUT = 0x0000000000000001L; // cutout rendering + public static final long CFG_HORIZIONTAL = 0x0000000000000002L; // horizontal block, affects bounding box calculation at construction time and placement + 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; public BlockDecor(@Nonnull String registryName, long config, @Nullable Material material, float hardness, float resistance, @Nullable SoundType sound) { @@ -77,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") @@ -87,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) @@ -164,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; } } diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorCraftingTable.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorCraftingTable.java index 0fab5dd..97b8b63 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorCraftingTable.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorCraftingTable.java @@ -158,10 +158,6 @@ public class BlockDecorCraftingTable extends BlockDecorDirected renderHoveredToolTip(mouseX, mouseY); } - @Override - protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) - {} - @Override protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { @@ -251,19 +247,18 @@ public class BlockDecorCraftingTable extends BlockDecorDirected @Override public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) { - ItemStack stack = ItemStack.EMPTY; Slot slot = this.inventorySlots.get(index); - if((slot == null) || (!slot.getHasStack())) return stack; + if((slot == null) || (!slot.getHasStack())) return ItemStack.EMPTY; ItemStack slotstack = slot.getStack(); - stack = slotstack.copy(); + ItemStack stack = slotstack.copy(); if(index == 0) { slotstack.getItem().onCreated(slotstack, this.world, playerIn); if(!this.mergeItemStack(slotstack, 10, 46, true)) return ItemStack.EMPTY; slot.onSlotChange(slotstack, stack); - } else if (index >= 10 && (index < 37)) { - if(!this.mergeItemStack(slotstack, 37, 46, false)) return ItemStack.EMPTY; - } else if((index >= 37) && (index < 46)) { - if(!this.mergeItemStack(slotstack, 10, 37, false)) return ItemStack.EMPTY; + } else if(index >= 10 && (index < 46)) { + if(!this.mergeItemStack(slotstack, 46, 54, false)) return ItemStack.EMPTY; + } else if((index >= 46) && (index < 54)) { + if(!this.mergeItemStack(slotstack, 10, 46, false)) return ItemStack.EMPTY; } else if(!this.mergeItemStack(slotstack, 10, 46, false)) { return ItemStack.EMPTY; } @@ -374,18 +369,6 @@ public class BlockDecorCraftingTable extends BlockDecorDirected public NBTTagCompound writeToNBT(NBTTagCompound compound) { super.writeToNBT(compound); writenbt(compound); return compound; } - //@Override - //public NBTTagCompound getUpdateTag() - //{ return writeToNBT(new NBTTagCompound()); } - - //@Override - //public SPacketUpdateTileEntity getUpdatePacket() - //{ return new SPacketUpdateTileEntity(getPos(), 0x1, getUpdateTag()); } - // - //@Override - //public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) - //{ readFromNBT(pkt.getNbtCompound()); super.onDataPacket(net, pkt); } - // IWorldNamable --------------------------------------------------------------------------- @Override diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorDirected.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorDirected.java index 7b7f647..95bea2d 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorDirected.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorDirected.java @@ -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)); } @@ -105,16 +101,31 @@ public class BlockDecorDirected extends BlockDecor public IBlockState withMirror(IBlockState state, Mirror mirrorIn) { return state.withRotation(mirrorIn.toRotation((EnumFacing)state.getValue(FACING))); } + @Override + @SuppressWarnings("deprecation") + public boolean canPlaceBlockOnSide(World world, BlockPos pos, EnumFacing side) + { + if(!super.canPlaceBlockOnSide(world, pos, side)) return false; + return !(((config & (CFG_HORIZIONTAL|CFG_LOOK_PLACEMENT))==(CFG_HORIZIONTAL)) && ((side==EnumFacing.UP)||(side==EnumFacing.DOWN))); + } + @Override @SuppressWarnings("deprecation") public IBlockState getStateForPlacement(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) { - if((config & CFG_HORIZIONTAL_PLACEMENT)!=0) { - // placement in direction the player is facing - return getDefaultState().withProperty(FACING, placer.getHorizontalFacing()); + if((config & (CFG_HORIZIONTAL|CFG_LOOK_PLACEMENT)) == (CFG_HORIZIONTAL|CFG_LOOK_PLACEMENT)) { + // horizontal placement in direction the player is looking + facing = placer.getHorizontalFacing(); + } else if((config & (CFG_HORIZIONTAL|CFG_LOOK_PLACEMENT)) == (CFG_HORIZIONTAL)) { + // horizontal placement on a face + facing = ((facing==EnumFacing.UP)||(facing==EnumFacing.DOWN)) ? (EnumFacing.NORTH) : facing; + } else if((config & CFG_LOOK_PLACEMENT)!=0) { + // placement in direction the player is looking, with up and down + facing = EnumFacing.getDirectionFromEntityLiving(pos, placer); } else { // default: placement on the face the player clicking - return getDefaultState().withProperty(FACING, ((config & CFG_OPPOSITE_PLACEMENT)==0) ? facing : facing.getOpposite()); } + if((config & CFG_OPPOSITE_PLACEMENT)!=0) facing = facing.getOpposite(); + return getDefaultState().withProperty(FACING, facing); } } diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorGlassBlock.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorGlassBlock.java new file mode 100644 index 0000000..3a5ede5 --- /dev/null +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorGlassBlock.java @@ -0,0 +1,88 @@ +/* + * @file BlockDecorFull.java + * @author Stefan Wilhelm (wile) + * @copyright (C) 2019 Stefan Wilhelm + * @license MIT (see https://opensource.org/licenses/MIT) + * + * Full block characteristics class. + */ +package wile.engineersdecor.blocks; + +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.BlockFaceShape; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.BlockRenderLayer; +import net.minecraft.world.IBlockAccess; +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; + + +public class BlockDecorGlassBlock extends BlockDecor +{ + public BlockDecorGlassBlock(@Nonnull String registryName, long config, @Nullable Material material, float hardness, float resistance, @Nullable SoundType sound) + { + super(registryName, config, material, hardness, resistance, sound); + setLightOpacity(0); + } + + @Override + @SideOnly(Side.CLIENT) + public BlockRenderLayer getRenderLayer() + { return BlockRenderLayer.TRANSLUCENT; } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings("deprecation") + public boolean shouldSideBeRendered(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) + { + final IBlockState neighbourState = world.getBlockState(pos.offset(side)); + return ((neighbourState==null) || (!(neighbourState.getBlock() instanceof BlockDecorGlassBlock))); + } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings("deprecation") + public float getAmbientOcclusionLightValue(IBlockState state) + { return 1.0F; } + + @Override + 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) + { return BlockFaceShape.SOLID; } + + @Override + @SuppressWarnings("deprecation") + public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) + { return FULL_BLOCK_AABB; } + + @Override + @Nullable + public AxisAlignedBB getCollisionBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) + { return FULL_BLOCK_AABB; } + + @Override + @SuppressWarnings("deprecation") + public boolean isFullCube(IBlockState state) + { return false; } + + @Override + @SuppressWarnings("deprecation") + public boolean isNormalCube(IBlockState state) + { return false; } + +} diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorLadder.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorLadder.java index 5233523..49a35f3 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorLadder.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorLadder.java @@ -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); + } } diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorStairs.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorStairs.java index af107b4..b30705a 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorStairs.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorStairs.java @@ -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; } + } diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorWall.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorWall.java index d63d694..3b6082d 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorWall.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorWall.java @@ -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); diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/ModBlocks.java b/1.12/src/main/java/wile/engineersdecor/blocks/ModBlocks.java index 84bf152..41832bf 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/ModBlocks.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/ModBlocks.java @@ -16,7 +16,6 @@ import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraftforge.client.model.ModelLoader; -import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.registry.GameRegistry; import wile.engineersdecor.ModEngineersDecor; import wile.engineersdecor.detail.ModAuxiliaries; @@ -38,45 +37,49 @@ public class ModBlocks { public static final BlockDecorFull CLINKER_BRICK_BLOCK = new BlockDecorFull("clinker_brick_block", 0, Material.ROCK, 2f, 50f, SoundType.STONE); public static final BlockDecorStairs CLINKER_BRICK_STAIRS = new BlockDecorStairs("clinker_brick_stairs", CLINKER_BRICK_BLOCK.getDefaultState()); + public static final BlockDecorWall CLINKER_BRICK_WALL = new BlockDecorWall("clinker_brick_wall", BlockDecor.CFG_DEFAULT, Material.ROCK, 8f, 50f, SoundType.STONE); 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 IRON_SHEET_ROOF_FULLBLOCK = new BlockDecorFull("iron_sheet_roof_block", 0, Material.IRON, 1.8f, 25f, SoundType.METAL); + 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()); + public static final BlockDecorWall REBAR_CONCRETE_WALL = new BlockDecorWall("rebar_concrete_wall", BlockDecor.CFG_DEFAULT, Material.ROCK, 8f, 2000f, SoundType.STONE); + public static final BlockDecorFull REBAR_CONCRETE_TILE = new BlockDecorFull("rebar_concrete_tile", 0, Material.ROCK, 8f, 2000f, SoundType.STONE); + public static final BlockDecorStairs REBAR_CONCRETE_TILE_STAIRS = new BlockDecorStairs("rebar_concrete_tile_stairs", REBAR_CONCRETE_TILE.getDefaultState()); + + public static final BlockDecorWall CONCRETE_WALL = new BlockDecorWall("concrete_wall", BlockDecor.CFG_DEFAULT, Material.ROCK, 8f, 50f, SoundType.STONE); public static final BlockDecorLadder METAL_RUNG_LADDER = new BlockDecorLadder("metal_rung_ladder", 0, Material.IRON, 1.0f, 25f, SoundType.METAL); 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 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()); - public static final BlockDecorWall REBAR_CONCRETE_WALL = new BlockDecorWall("rebar_concrete_wall", BlockDecor.CFG_DEFAULT, Material.ROCK, 8f, 2000f, SoundType.STONE); - - public static final BlockDecorWall CONCRETE_WALL = new BlockDecorWall("concrete_wall", BlockDecor.CFG_DEFAULT, Material.ROCK, 8f, 50f, SoundType.STONE); - public static final BlockDecorWall CLINKER_BRICK_WALL = new BlockDecorWall("clinker_brick_wall", BlockDecor.CFG_DEFAULT, Material.ROCK, 8f, 50f, SoundType.STONE); + 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", - BlockDecor.CFG_CUTOUT, + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT, Material.WOOD, 1.0f, 15f, SoundType.WOOD, ModAuxiliaries.getPixeledAABB(5.8,5.8,0, 10.2,10.2,16) ); public static final BlockDecor TREATED_WOOD_TABLE = new BlockDecor( "treated_wood_table", - BlockDecor.CFG_CUTOUT, + 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_PLACEMENT|BlockDecor.CFG_HORIZIONTAL, + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT, Material.WOOD, 1.0f, 15f, SoundType.WOOD, ModAuxiliaries.getPixeledAABB(4.1,0,4.1, 11.8,8.8,11.8) ); public static final BlockDecorCraftingTable TREATED_WOOD_CRAFTING_TABLE = new BlockDecorCraftingTable( "treated_wood_crafting_table", - BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL_PLACEMENT|BlockDecor.CFG_HORIZIONTAL, + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT, Material.WOOD, 1.0f, 15f, SoundType.WOOD, ModAuxiliaries.getPixeledAABB(0.0,0,0, 16,15.9,16) ); @@ -88,31 +91,49 @@ public class ModBlocks ModAuxiliaries.getPixeledAABB(5.2,5.2,15.7, 10.8,10.8,16.0) ); + public static final BlockDecorDirected TREATED_WOOD_WINDOWSILL = new BlockDecorDirected( + "treated_wood_windowsill", + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_FACING_PLACEMENT, + Material.WOOD, 1.0f, 15f, SoundType.WOOD, + 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()); private static final Block modBlocks[] = { - SLAG_BRICK_BLOCK, + TREATED_WOOD_CRAFTING_TABLE, CLINKER_BRICK_BLOCK, - METAL_RUNG_LADDER, - METAL_RUNG_STEPS, - TREATED_WOOD_LADDER, CLINKER_BRICK_STAIRS, + CLINKER_BRICK_WALL, + SLAG_BRICK_BLOCK, SLAG_BRICK_STAIRS, - TREATED_WOOD_POLE, - TREATED_WOOD_TABLE, + SLAG_BRICK_WALL, REBAR_CONCRETE_BLOCK, REBAR_CONCRETE_STAIRS, REBAR_CONCRETE_WALL, - CLINKER_BRICK_WALL, + REBAR_CONCRETE_TILE, + REBAR_CONCRETE_TILE_STAIRS, + CONCRETE_WALL, + PANZERGLASS_BLOCK, + METAL_RUNG_LADDER, + METAL_RUNG_STEPS, + TREATED_WOOD_LADDER, + TREATED_WOOD_POLE, + TREATED_WOOD_TABLE, TREATED_WOOD_STOOL, - TREATED_WOOD_CRAFTING_TABLE, + TREATED_WOOD_WINDOW, + TREATED_WOOD_WINDOWSILL, INSET_LIGHT_IRON, }; - private static final Block ieDependentBlocks[] = { - CONCRETE_WALL - }; - private static final Block devBlocks[] = { IRON_SHEET_ROOF, // model looks not good enough yet }; @@ -129,10 +150,7 @@ public class ModBlocks // Config based registry selection ArrayList allBlocks = new ArrayList<>(); Collections.addAll(allBlocks, modBlocks); - if(Loader.isModLoaded("immersiveengineering")) { - ModEngineersDecor.logger.info("Immersive Engineering installed, registering dependent blocks..."); - Collections.addAll(allBlocks, ieDependentBlocks); - } + //if(Loader.isModLoaded("immersiveengineering")){} if(ModConfig.zmisc.with_experimental) Collections.addAll(allBlocks, devBlocks); for(Block e:allBlocks) registeredBlocks.add(e); for(Block e:registeredBlocks) event.getRegistry().register(e); diff --git a/1.12/src/main/resources/assets/engineersdecor/blockstates/panzerglass_block.json b/1.12/src/main/resources/assets/engineersdecor/blockstates/panzerglass_block.json new file mode 100644 index 0000000..22d8e53 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/blockstates/panzerglass_block.json @@ -0,0 +1,19 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "engineersdecor:glass/panzerglass_block_model", + "textures": { "all": "engineersdecor:blocks/glass/panzerglass_block_texture0" } + }, + "variants": { + "normal": [ + { "textures": { "all": "engineersdecor:blocks/glass/panzerglass_block_texture0" } }, + { "textures": { "all": "engineersdecor:blocks/glass/panzerglass_block_texture1" } }, + { "textures": { "all": "engineersdecor:blocks/glass/panzerglass_block_texture2" } }, + { "textures": { "all": "engineersdecor:blocks/glass/panzerglass_block_texture3" } } + ], + "inventory": { + "model": "engineersdecor:glass/panzerglass_block_model", + "textures": { "all": "engineersdecor:blocks/glass/panzerglass_block_texture_inventory" } + } + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_tile.json b/1.12/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_tile.json new file mode 100644 index 0000000..037468a --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_tile.json @@ -0,0 +1,20 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "engineersdecor:decor_full_block_model", + "textures": { "all": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture0" } + }, + "variants": { + "normal": [ + { "textures": { "all": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture0" } }, + { "textures": { "all": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture1" } }, + { "textures": { "all": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture2" } }, + { "textures": { "all": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture3" } }, + { "textures": { "all": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture4" } }, + { "textures": { "all": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture5" } }, + { "textures": { "all": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture6" } }, + { "textures": { "all": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture7" } } + ], + "inventory": [{}] + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_tile_stairs.json b/1.12/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_tile_stairs.json new file mode 100644 index 0000000..08dfcfd --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_tile_stairs.json @@ -0,0 +1,56 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "engineersdecor:stairs/decor_straight_stairs_model", + "textures": { + "particle": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture0", + "bottom": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture0", + "top": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture0", + "side": "engineersdecor:blocks/concrete/rebar_concrete_tile_texture0" + } + }, + "variants": { + "normal": [{}], + "inventory": [{}], + "facing=east,half=bottom,shape=straight": { "model": "engineersdecor:stairs/decor_straight_stairs_model" }, + "facing=west,half=bottom,shape=straight": { "model": "engineersdecor:stairs/decor_straight_stairs_model", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "engineersdecor:stairs/decor_straight_stairs_model", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "engineersdecor:stairs/decor_straight_stairs_model", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:stairs/decor_outer_stairs_model" }, + "facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:stairs/decor_outer_stairs_model" }, + "facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:stairs/decor_inner_stairs_model" }, + "facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:stairs/decor_inner_stairs_model" }, + "facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "engineersdecor:stairs/decor_straight_stairs_model", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "engineersdecor:stairs/decor_straight_stairs_model", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "engineersdecor:stairs/decor_straight_stairs_model", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "engineersdecor:stairs/decor_straight_stairs_model", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "engineersdecor:stairs/decor_outer_stairs_model", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "engineersdecor:stairs/decor_inner_stairs_model", "x": 180, "y": 270, "uvlock": true } + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/blockstates/slag_brick_wall.json b/1.12/src/main/resources/assets/engineersdecor/blockstates/slag_brick_wall.json new file mode 100644 index 0000000..1c10bc2 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/blockstates/slag_brick_wall.json @@ -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 }}} } + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/blockstates/treated_wood_window.json b/1.12/src/main/resources/assets/engineersdecor/blockstates/treated_wood_window.json new file mode 100644 index 0000000..2fa2dc7 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/blockstates/treated_wood_window.json @@ -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": [{}] + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/blockstates/treated_wood_windowsill.json b/1.12/src/main/resources/assets/engineersdecor/blockstates/treated_wood_windowsill.json new file mode 100644 index 0000000..81b5ae4 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/blockstates/treated_wood_windowsill.json @@ -0,0 +1,11 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "engineersdecor:furniture/treated_wood_windowsill_model" + }, + "variants": { + "normal": [{}], + "inventory": [{}], + "facing": { "north": {"y":0}, "south": {"y":180}, "west": {"y":-90}, "east": {"y":90}, "up":{}, "down":{} } + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/lang/en_us.lang b/1.12/src/main/resources/assets/engineersdecor/lang/en_us.lang index c2b29f5..f3e36a0 100644 --- a/1.12/src/main/resources/assets/engineersdecor/lang/en_us.lang +++ b/1.12/src/main/resources/assets/engineersdecor/lang/en_us.lang @@ -18,25 +18,26 @@ tile.engineersdecor.slag_brick_block.name=Slag brick tile.engineersdecor.slag_brick_block.help=§6A gray-brown brick block with position dependent texture variations. tile.engineersdecor.rebar_concrete.name=Rebar concrete tile.engineersdecor.rebar_concrete.help=§6Steel reinforced concrete block.§r Expensive but Creeper-proof like obsidian. +tile.engineersdecor.panzerglass_block.name=Panzer glass +tile.engineersdecor.panzerglass_block.help=§6Reinforced glass block.§r Expensive, explosion-proof. Dark gray tint, faint structural lines visible, multi texture for seemless look. +tile.engineersdecor.rebar_concrete_tile.name=Rebar concrete tile +tile.engineersdecor.rebar_concrete_tile.help=§6Steel reinforced concrete tile.§r Expensive but Creeper-proof like obsidian. +#----------------------------------------------------------------------------------------------------------- tile.engineersdecor.rebar_concrete_wall.name=Rebar concrete wall tile.engineersdecor.rebar_concrete_wall.help=§6Steel reinforced concrete wall.§r Expensive but Creeper-proof like obsidian. 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. - -#----------------------------------------------------------------------------------------------------------- -# Ladder blocks +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. - -#----------------------------------------------------------------------------------------------------------- -# Stairs and roofs +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. @@ -44,31 +45,31 @@ tile.engineersdecor.slag_brick_stairs.name=Clinker brick stairs tile.engineersdecor.slag_brick_stairs.help=§6Looks slightly darker and more color intensive than the vanilla brick block. tile.engineersdecor.rebar_concrete_stairs.name=Rebar concrete stairs tile.engineersdecor.rebar_concrete_stairs.help=§6Steel reinforced concrete stairs.§r Expensive but Creeper-proof like obsidian. - -tile.engineersdecor.iron_sheet_roof.name=Iron sheet metal roof -tile.engineersdecor.iron_sheet_roof.help=§6Well, it's a roof. - -#----------------------------------------------------------------------------------------------------------- -# Poles and supports +tile.engineersdecor.rebar_concrete_tile_stairs.name=Rebar concrete tile stairs +tile.engineersdecor.rebar_concrete_tile_stairs.help=§6Steel reinforced concrete tile stairs.§r Expensive but Creeper-proof like obsidian. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.treated_wood_pole.name=Straight treated wood pole tile.engineersdecor.treated_wood_pole.help=§6Straight pole fragment with the diameter of a wire relay.§r\n\ Can be useful as alternative to the wire posts if special special lengths are needed, \ or as support for structures. - -#----------------------------------------------------------------------------------------------------------- -# Furniture #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.treated_wood_table.name=Treated wood table tile.engineersdecor.treated_wood_table.help=§6Robust four-legged wood table.§r Indoor and outdoor use. tile.engineersdecor.treated_wood_stool.name=Treated wood stool tile.engineersdecor.treated_wood_stool.help=§6Robust wood stool.§r Indoor and outdoor use. tile.engineersdecor.treated_wood_crafting_table.name=Treated wood crafting table -tile.engineersdecor.treated_wood_crafting_table.help=§6Robust and weather-proof. +tile.engineersdecor.treated_wood_crafting_table.help=§6Robust and weather-proof. Eight storage slots. Keeps inventory. 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. +#----------------------------------------------------------------------------------------------------------- +tile.engineersdecor.iron_sheet_roof.name=Iron sheet metal roof +tile.engineersdecor.iron_sheet_roof.help=§6Well, it's a roof. +#----------------------------------------------------------------------------------------------------------- # EOF #----------------------------------------------------------------------------------------------------------- diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_stool_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_stool_model.json index e41d0d9..4b5f794 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_stool_model.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_stool_model.json @@ -1,5 +1,4 @@ { - "credit": "I made this with the Blockbench", "parent": "block/cube", "textures": { "o": "engineersdecor:blocks/iestyle/treated_wood_framed_texture", diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_table_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_table_model.json index 04b7880..2f38c70 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_table_model.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_table_model.json @@ -1,5 +1,4 @@ { - "credit": "I made this with the Blockbench", "parent": "block/cube", "textures": { "o": "engineersdecor:blocks/iestyle/treated_wood_framed_texture", diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_window_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_window_model.json new file mode 100644 index 0000000..fd65b3a --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_window_model.json @@ -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] + } + } +} \ No newline at end of file diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_windowsill_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_windowsill_model.json new file mode 100644 index 0000000..0eff379 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_windowsill_model.json @@ -0,0 +1,78 @@ +{ + "parent": "block/cube", + "textures": { + "o": "engineersdecor:blocks/iestyle/treated_wood_rough_texture", + "particle": "engineersdecor:blocks/iestyle/treated_wood_rough_texture" + }, + "elements": [ + { + "from": [2, 11.75, 14.375], + "to": [3, 15.75, 15.375], + "rotation": {"angle": -45, "axis": "x", "origin": [2.5, 13, 14.125]}, + "faces": { + "north": {"uv": [6, 3, 7, 7], "texture": "#o"}, + "east": {"uv": [1.375, 3, 2.375, 7], "texture": "#o"}, + "south": {"uv": [9, 3, 10, 7], "texture": "#o"}, + "west": {"uv": [13.625, 3, 14.625, 7], "texture": "#o"} + } + }, + { + "from": [13, 11.75, 14.375], + "to": [14, 15.75, 15.375], + "rotation": {"angle": -45, "axis": "x", "origin": [13.5, 13, 14.125]}, + "faces": { + "north": {"uv": [4, 3, 5, 7], "texture": "#o"}, + "east": {"uv": [1.375, 3, 2.375, 7], "texture": "#o"}, + "south": {"uv": [11, 3, 12, 7], "texture": "#o"}, + "west": {"uv": [13.625, 3, 14.625, 7], "texture": "#o"} + } + }, + { + "from": [0.5, 15, 10.5], + "to": [15.5, 16, 16], + "faces": { + "north": {"uv": [0.5, 0, 15.5, 1], "texture": "#o"}, + "east": {"uv": [0, 0, 5.5, 1], "texture": "#o"}, + "south": {"uv": [0.5, 0, 15.5, 1], "texture": "#o"}, + "west": {"uv": [10.5, 0, 16, 1], "texture": "#o"}, + "up": {"uv": [0.5, 10.5, 15.5, 16], "texture": "#o"}, + "down": {"uv": [0.5, 0, 15.5, 5.5], "texture": "#o"} + } + }, + { + "from": [1.875, 12, 15], + "to": [3.125, 15, 16], + "faces": { + "north": {"uv": [14, 1, 15, 4], "texture": "#o"}, + "east": {"uv": [0, 1, 1, 4], "texture": "#o"}, + "south": {"uv": [1, 1, 2, 4], "texture": "#o"}, + "west": {"uv": [15, 1, 16, 4], "texture": "#o"}, + "down": {"uv": [1, 0, 2, 1], "texture": "#o"} + } + }, + { + "from": [12.875, 12, 15], + "to": [14.125, 15, 16], + "faces": { + "north": {"uv": [2, 1, 3, 4], "texture": "#o"}, + "east": {"uv": [0, 1, 1, 4], "texture": "#o"}, + "south": {"uv": [13, 1, 14, 4], "texture": "#o"}, + "west": {"uv": [15, 1, 16, 4], "texture": "#o"}, + "down": {"uv": [13, 0, 14, 1], "texture": "#o"} + } + } + ], + "display": { + "ground": { + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.9, 0.9, 0.9], + "translation": [ 3, -8, -3] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/glass/panzerglass_block_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/glass/panzerglass_block_model.json new file mode 100644 index 0000000..098b583 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/glass/panzerglass_block_model.json @@ -0,0 +1 @@ +{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:blocks/glass/panzerglass_block_texture0" } } \ No newline at end of file diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_ladder_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_ladder_model.json index a982c45..f6fdc44 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_ladder_model.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_ladder_model.json @@ -1,5 +1,4 @@ { - "credit": "I made this with the Blockbench", "parent": "block/cube", "textures": { "particle": "engineersdecor:blocks/iestyle/steel_texture", diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_steps_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_steps_model.json index 9b90fda..07e76ef 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_steps_model.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_steps_model.json @@ -1,5 +1,4 @@ { - "credit": "I made this with the Blockbench", "parent": "block/cube", "textures": { "o": "engineersdecor:blocks/iestyle/steel_texture", diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_inner_roof_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_inner_roof_model.json index 13d1f42..2b31fd9 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_inner_roof_model.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_inner_roof_model.json @@ -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", diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_outer_roof_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_outer_roof_model.json index d4c6b36..d479b3f 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_outer_roof_model.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_outer_roof_model.json @@ -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", diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_straight_roof_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_straight_roof_model.json index e29ff83..4017adc 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_straight_roof_model.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/stairs/decor_straight_roof_model.json @@ -1,5 +1,5 @@ { - "credit": "I made this with the Blockbench", + "ambientocclusion": false, "parent": "block/block", "textures": { "side": "engineersdecor:blocks/iestyle/ironsheet_roof", diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/wall/clinker_brick_wall_inventory.json b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/clinker_brick_wall_inventory.json index e4d523c..c9c5869 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/wall/clinker_brick_wall_inventory.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/clinker_brick_wall_inventory.json @@ -1,5 +1,4 @@ { - "credit": "I made this with the Blockbench", "parent": "block/block", "ambientocclusion": false, "textures": { diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/wall/concrete_wall_inventory.json b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/concrete_wall_inventory.json index dea042b..b63a535 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/wall/concrete_wall_inventory.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/concrete_wall_inventory.json @@ -1,5 +1,4 @@ { - "credit": "I made this with the Blockbench", "parent": "block/block", "ambientocclusion": false, "textures": { diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_default.json b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_default.json new file mode 100644 index 0000000..5d3916f --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_default.json @@ -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"} } + }] +} diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_inventory.json b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_inventory.json new file mode 100644 index 0000000..3a0dd3f --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_inventory.json @@ -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] + } + } +} \ No newline at end of file diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_post.json b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_post.json new file mode 100644 index 0000000..a3309be --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_post.json @@ -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"} + } + } + ] +} \ No newline at end of file diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_side.json b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_side.json new file mode 100644 index 0000000..127af1c --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/wall/slag_brick_wall_side.json @@ -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"} + } + } + ] +} \ No newline at end of file diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/_constants.json b/1.12/src/main/resources/assets/engineersdecor/recipes/_constants.json index 1227574..fd1155a 100644 --- a/1.12/src/main/resources/assets/engineersdecor/recipes/_constants.json +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/_constants.json @@ -184,7 +184,20 @@ }, "name": "paneGlass" }, - + { + "ingredient": { + "type": "forge:ore_dict", + "ore": "blockGlass" + }, + "name": "blockGlass" + }, + { + "ingredient": { + "item": "minecraft:diamond", + "data": 0 + }, + "name": "itemDiamond" + }, { "ingredient": { "item": "minecraft:crafting_table", @@ -192,7 +205,6 @@ }, "name": "itemCraftingTable" }, - { "ingredient": [ { diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_stairs_recipe.json b/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_stairs_recipe.json index f94e31a..17125d4 100644 --- a/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_stairs_recipe.json +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_stairs_recipe.json @@ -19,6 +19,6 @@ }, "result": { "item": "engineersdecor:clinker_brick_stairs", - "count": 9 + "count": 6 } } diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_stairs_recipe_decompose.json b/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_stairs_recipe_decompose.json index afb32ae..6d8ceab 100644 --- a/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_stairs_recipe_decompose.json +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_stairs_recipe_decompose.json @@ -18,6 +18,6 @@ }, "result": { "item": "engineersdecor:clinker_brick_block", - "count": 3 + "count": 4 } } diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_wall_recipe_decompose.json b/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_wall_recipe_decompose.json new file mode 100644 index 0000000..d146f3c --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/clinker_brick_wall_recipe_decompose.json @@ -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 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/panzerglass_block_recipe.json b/1.12/src/main/resources/assets/engineersdecor/recipes/panzerglass_block_recipe.json new file mode 100644 index 0000000..cc8197b --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/panzerglass_block_recipe.json @@ -0,0 +1,33 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:panzerglass_block", + "required": ["immersiveengineering:stone_decoration"] + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "SGS", + "GDG", + "SGS" + ], + "key": { + "G": { + "item": "#blockGlass", + "data": 0 + }, + "S": { + "item": "#stickSteel", + "data": 0 + }, + "D": { + "item": "#itemDiamond", + "data": 0 + } + }, + "result": { + "item": "engineersdecor:panzerglass_block", + "count": 8 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_stairs_recipe.json b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_stairs_recipe.json index 532ed8b..fc4f8c8 100644 --- a/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_stairs_recipe.json +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_stairs_recipe.json @@ -19,6 +19,6 @@ }, "result": { "item": "engineersdecor:rebar_concrete_stairs", - "count": 9 + "count": 6 } } diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_stairs_recipe_decompose.json b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_stairs_recipe_decompose.json new file mode 100644 index 0000000..13718e7 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_stairs_recipe_decompose.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:rebar_concrete" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "SS", + "SS" + ], + "key": { + "S": { + "item": "engineersdecor:rebar_concrete_stairs", + "data": 0 + } + }, + "result": { + "item": "engineersdecor:rebar_concrete", + "count": 4 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_recipe.json b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_recipe.json new file mode 100644 index 0000000..4eb6034 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_recipe.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:rebar_concrete_tile" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "CC", + "CC" + ], + "key": { + "C": { + "item": "engineersdecor:rebar_concrete", + "data": 0 + } + }, + "result": { + "item": "engineersdecor:rebar_concrete_tile", + "count": 4 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_recipe_decompose.json b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_recipe_decompose.json new file mode 100644 index 0000000..5635ec7 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_recipe_decompose.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:rebar_concrete" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "CC", + "CC" + ], + "key": { + "C": { + "item": "engineersdecor:rebar_concrete_tile", + "data": 0 + } + }, + "result": { + "item": "engineersdecor:rebar_concrete", + "count": 4 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_stairs_recipe.json b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_stairs_recipe.json new file mode 100644 index 0000000..e3da4f1 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_stairs_recipe.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:rebar_concrete_tile_stairs" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "C ", + "CC ", + "CCC" + ], + "key": { + "C": { + "item": "engineersdecor:rebar_concrete_tile", + "data": 0 + } + }, + "result": { + "item": "engineersdecor:rebar_concrete_tile_stairs", + "count": 6 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_stairs_recipe_decompose.json b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_stairs_recipe_decompose.json new file mode 100644 index 0000000..fb6666e --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_tile_stairs_recipe_decompose.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:rebar_concrete_tile" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "SS", + "SS" + ], + "key": { + "S": { + "item": "engineersdecor:rebar_concrete_tile_stairs", + "data": 0 + } + }, + "result": { + "item": "engineersdecor:rebar_concrete_tile", + "count": 4 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_wall_recipe_decompose.json b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_wall_recipe_decompose.json new file mode 100644 index 0000000..cb12d06 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/rebar_concrete_wall_recipe_decompose.json @@ -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 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_stairs_recipe.json b/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_stairs_recipe.json index 5b8e69e..7f1019e 100644 --- a/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_stairs_recipe.json +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_stairs_recipe.json @@ -19,6 +19,6 @@ }, "result": { "item": "engineersdecor:slag_brick_stairs", - "count": 9 + "count": 6 } } diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_stairs_recipe_decompose.json b/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_stairs_recipe_decompose.json new file mode 100644 index 0000000..7c8f171 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_stairs_recipe_decompose.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:slag_brick_block" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "SS", + "SS" + ], + "key": { + "S": { + "item": "engineersdecor:slag_brick_stairs", + "data": 0 + } + }, + "result": { + "item": "engineersdecor:slag_brick_block", + "count": 4 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_wall_recipe.json b/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_wall_recipe.json new file mode 100644 index 0000000..d5f3e25 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_wall_recipe.json @@ -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 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_wall_recipe_decompose.json b/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_wall_recipe_decompose.json new file mode 100644 index 0000000..db1b40d --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/slag_brick_wall_recipe_decompose.json @@ -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 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/treated_wood_window_recipe.json b/1.12/src/main/resources/assets/engineersdecor/recipes/treated_wood_window_recipe.json new file mode 100644 index 0000000..fc7c32a --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/treated_wood_window_recipe.json @@ -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 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/treated_wood_windowsill_recipe.json b/1.12/src/main/resources/assets/engineersdecor/recipes/treated_wood_windowsill_recipe.json new file mode 100644 index 0000000..15a9277 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/treated_wood_windowsill_recipe.json @@ -0,0 +1,29 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:treated_wood_windowsill", + "required": ["immersiveengineering:material"] + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "WWW", + "S S", + " " + ], + "key": { + "W": { + "item": "#slabTreatedWood", + "data": 0 + }, + "S": { + "item": "#stickTreatedWood", + "data": 0 + } + }, + "result": { + "item": "engineersdecor:treated_wood_windowsill", + "count": 2 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/clinker_brick/clinker_brick_top.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/clinker_brick/clinker_brick_top.png index cfe3f37..506f11b 100644 Binary files a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/clinker_brick/clinker_brick_top.png and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/clinker_brick/clinker_brick_top.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture0.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture0.png new file mode 100644 index 0000000..e70797d Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture0.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture1.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture1.png new file mode 100644 index 0000000..3874a07 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture1.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture2.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture2.png new file mode 100644 index 0000000..6d45199 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture2.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture3.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture3.png new file mode 100644 index 0000000..86b03a8 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture3.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture4.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture4.png new file mode 100644 index 0000000..c701052 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture4.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture5.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture5.png new file mode 100644 index 0000000..1d343e1 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture5.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture6.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture6.png new file mode 100644 index 0000000..e2663d5 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture6.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture7.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture7.png new file mode 100644 index 0000000..7de4144 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/concrete/rebar_concrete_tile_texture7.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture0.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture0.png new file mode 100644 index 0000000..da6c6f1 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture0.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture1.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture1.png new file mode 100644 index 0000000..4ef0dcc Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture1.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture2.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture2.png new file mode 100644 index 0000000..b76fa99 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture2.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture3.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture3.png new file mode 100644 index 0000000..952253a Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture3.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture_inventory.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture_inventory.png new file mode 100644 index 0000000..7e71cf3 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/glass/panzerglass_block_texture_inventory.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/iestyle/treated_wood_rough_texture.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/iestyle/treated_wood_rough_texture.png index fccfc82..983efd3 100644 Binary files a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/iestyle/treated_wood_rough_texture.png and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/iestyle/treated_wood_rough_texture.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/slag_brick/slag_brick_pole_side.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/slag_brick/slag_brick_pole_side.png new file mode 100644 index 0000000..ee90d83 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/slag_brick/slag_brick_pole_side.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/slag_brick/slag_brick_top.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/slag_brick/slag_brick_top.png new file mode 100644 index 0000000..ed6bf0d Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/slag_brick/slag_brick_top.png differ diff --git a/1.12/src/main/resources/assets/engineersdecor/textures/blocks/slag_brick/slag_brick_wall.png b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/slag_brick/slag_brick_wall.png new file mode 100644 index 0000000..0e4c306 Binary files /dev/null and b/1.12/src/main/resources/assets/engineersdecor/textures/blocks/slag_brick/slag_brick_wall.png differ diff --git a/1.12/tasks.js b/1.12/tasks.js index aad3211..1a7fd29 100644 --- a/1.12/tasks.js +++ b/1.12/tasks.js @@ -26,9 +26,9 @@ tasks["dist-check"] = function() { if(git_remote.replace(/[\s]/g,"").indexOf("git@github.com:stfwi/engineers-decor.git(push)") < 0) fails.push("Not the reference repository."); if((git_branch != "develop") && (git_branch != "master")) { fails.push("No valid branch for dist. (branch:'"+git_branch+"')"); - } else if((git_branch == "develop") && (version_engineersdecor.replace(/[^\w\.-]/g,"")=="")) { + } else if((git_branch == "develop") && (version_engineersdecor.replace(/[^ab]/g,"")=="")) { fails.push("Cannot make release dist on develop branch."); - } else if((git_branch == "master") && (version_engineersdecor.replace(/[^\w\.-]/g,"")!="")) { + } else if((git_branch == "master") && (version_engineersdecor.replace(/[^ab]/g,"")!="")) { fails.push("Cannot make beta dist on master branch."); } if(git_diff !== "") fails.push("Not everything committed to the GIT repository."); @@ -305,7 +305,7 @@ tasks["update-json"] = function() { // Condense log entries sepatated with newlines to one line for each version for(var i=readme.length-1; i>0; --i) { var line = readme[i].replace(/^\s+/,""); - if(line.search(/^-/) < 0) { + if(line.search(/^[-~]/) < 0) { readme[i-1] += "\n" + line; readme[i] = ""; } @@ -317,6 +317,7 @@ tasks["update-json"] = function() { var line = readme[i].replace(/^[\sv-]+/g,"").trim(); var ver = line.substr(0, line.search(" ")).trim().toLowerCase(); var txt = line.substr(line.search(" ")).trim(); + if(ver.search("~")===0) continue; if(history[ver] !== undefined) throw new Error("Double definition of version '" + ver + "' in the readme revision history."); history[ver] = txt; } diff --git a/documentation/engineers-decor-v100a-summary.png b/documentation/engineers-decor-v100a-summary.png index 4a3cd83..f4624aa 100644 Binary files a/documentation/engineers-decor-v100a-summary.png and b/documentation/engineers-decor-v100a-summary.png differ diff --git a/documentation/engineers-decor-v101a-craftinggui.png b/documentation/engineers-decor-v101a-craftinggui.png index a213d36..117c70e 100644 Binary files a/documentation/engineers-decor-v101a-craftinggui.png and b/documentation/engineers-decor-v101a-craftinggui.png differ diff --git a/documentation/panzerglass.png b/documentation/panzerglass.png new file mode 100644 index 0000000..4eda196 Binary files /dev/null and b/documentation/panzerglass.png differ diff --git a/meta/update.json b/meta/update.json index a68e0e6..4336490 100644 --- a/meta/update.json +++ b/meta/update.json @@ -1,6 +1,10 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.12.2": { + "1.0.2": "[R] Release based on v1.0.2-b3 * Fixes: Spawning. * Crafting table: Shift-click. * Ladders: Faster climbing/descending. * Concrete: Rebar tiles, tile stairs. * Treated wood: window, windowsill. * Slag brick: wall. * Panzer glass: added. * Recipes: Adaptions, added decompositions.", + "1.0.2-b3": "[A] Added slag brick wall.\n[A] Added wall decomposition recipes.\n[A] Added treated wood window.\n[M] Climbing/descending mod ladders is faster when looking up or down and not sneaking.\n[M] Panzer glass material definition changed.\n[M] Explicitly preventing spawning in and on \"non-full\" blocks of the mod.", + "1.0.2-b2": "[A] Added rebar concrete tile stairs.\n[A] Added treated wood window sill.\n[A] Added decomposition recipes for stairs and tiles.\n[M] Changed stair recipe yield quantity from 9 to 6.", + "1.0.2-b1": "[A] Added rebar concrete tile.\n[A] Added panzer glass (explosion-resistant reinforced glass).\n[M] Treated wood crafting table supports shift-click to transfer stacks between player inventory and crafting table storage (thanks majijn for the hint).", "1.0.1": "[R] Release based on v1.0.1-b4 * Treated wood crafting table * Clinker brick wall * Treated wood stool * Inset spot light * Recipe fixes * Logo updated", "1.0.1-b4": "[M] Crafting table keeps inventory and has eight storage slots.\n[M] Adapted inset light strength and harvest tool.\n[M] Crafting table recipe adapted.", "1.0.1-b3": "[A] Added inset light (glowstone-metal, light level like torch, can be used as floor/ceiling/wall light).\n[M] Crafting table model updated (issue #7, thanks majijn).\n[M] Logo image updated.", @@ -13,12 +17,16 @@ "1.0.0-b1": "[A] Initial structure.\n[A] Added clinker bricks and clinker brick stairs.\n[A] Added slag bricks and slag brick stairs.\n[A] Added metal rung ladder.\n[A] Added staggered metal steps ladder.\n[A] Added treated wood ladder.\n[A] Added treated wood pole.\n[A] Added treated wood table." }, "1.13.2": { + "1.0.2-b2": "[A] Added wall decomposition recipes.\n[A] Added slag brick wall.\n[M] Climbing/descending mod ladders is faster when looking up or down and not sneaking.\n[M] Panzer glass material definition changed.", + "1.0.2-b1": "[A] Added Treated wood crafting table.\n[A] Added decomposition recipes for stairs and tiles.\n[N] Note: All v1.0.2-b1-mc1.12.2 blocks are ported to 1.13.2 (alpha -^ beta version).\n[N] Note: Until IE is out for 1.13.2, the recipes are temporary with vanilla items.", + "1.0.0-a3": "[A] Added iron inset light.\n[A] Added rebar concrete tile.\n[A] Added rebar concrete tile stairs.\n[A] Added clinker brick wall.\n[A] Added treated wood stool.\n[A] Added treated window sill.", + "1.0.0-a2": "[A] Added panzer glass.", "1.0.0-a1": "[A] Initial port to 1.13.2 with Forge beta." }, "promos": { - "1.12.2-recommended": "1.0.1", - "1.12.2-latest": "1.0.1", + "1.12.2-recommended": "1.0.2", + "1.12.2-latest": "1.0.2", "1.13.2-recommended": "", - "1.13.2-latest": "1.0.0-a1" + "1.13.2-latest": "1.0.2-b2" } } \ No newline at end of file diff --git a/readme.md b/readme.md index 90baf15..acd36d9 100644 --- a/readme.md +++ b/readme.md @@ -23,7 +23,9 @@ no tile entities or user interactions are used. Current feature set: - Rebar (steel) reinforced concrete: Expensive but creeper-proof. Crafted 3x3 from four concrete blocks and five steel rods. Texture design oriented at the IE concrete, slightly darker, eight (position dependent) random texture variations with rust - traces. Also creaftable in form of *stairs* and *walls*. + traces. Also creaftable in form of *stairs* and *walls*. Like the IE contrete tiles, + you can craft rebar concrete tiles with corresponding stairs. Reverse recipes + available for all blocks crafted from rebar concrete. - Concrete wall: Solid concrete wall (not the vanilla wall design), crafted 3x3 from six IE concrete blocks (normal wall recipe). @@ -33,13 +35,13 @@ no tile entities or user interactions are used. Current feature set: wall look more "alive". Crafted 3x3 with a brick block in the centre and any combination of bricks and nether bricks around (actually, anything where the ore dictionary says it's a "brick ingot"). Higher explosion resistance than the - vanilla brick wall. Also available as stairs and wall, crafted as usual. There - is a reverse recipe to get three clinker brick blocks back from four stairs. + vanilla bricks. Also available as stairs and wall, crafted as usual. There + is a reverse recipe to get three clinker brick blocks back from stairs or walls. - *Slag bricks*: Gray-brownish brick, also eight texture variations. Crafted 3x3 from slag in the centre and any kind of bricks ("brick ingot") around. Has a higher - explosion resistance than the vanilla brick wall. Also available as stairs, also - with reverse recipe. + explosion resistance than bricks. Also available as stairs and wall, also with + reverse recipes. - *Treated wood crafting table*: 3x3 crafting table with IE style GUI and a model fitting better in the engineer's workshop. Keeps its inventory, has eight additional @@ -47,13 +49,15 @@ no tile entities or user interactions are used. Current feature set: treated wood planks and one vanilla crafting table. - *Treated wood ladder*: Crafted 3x3 with the known ladder pattern, items are - treated wood sticks. + treated wood sticks. Climbing is faster if looking up/down and not sneaking. - *Metal rung ladder*: Industrial wall-fixed ladder with horizontal bent rods. - Crafted 3x3 with five iron or steel rods in a "U" pattern. + Crafted 3x3 with five iron or steel rods in a "U" pattern. Climbing is faster + if looking up/down and not sneaking. - *Staggered metal steps*: Industrial wall-fixed sparse ladder with steps in a - zip pattern. Crafted 3x3 with six iron or steel rods in a zip pattern. + zip pattern. Crafted 3x3 with six iron or steel rods in a zip pattern. Climbing + is faster when looking up/down and not sneaking. - *Treated wood table*: Four leg table made out of treated wood. Crafted 3x3 with three treated wood slabs and four treated wood poles. Guess the pattern. @@ -66,6 +70,10 @@ no tile entities or user interactions are used. Current feature set: Can be used e.g. for structural support or wire relay post, where the height of the IE wire posts does not match. +- *Panzer glass*: Reinforced, dark gray tinted glass block. Explosion-proof. + Faint structural lines are visible, multiple texture variations for seemless + look. Crafted 3x3 with four metal rods, four glass blocks, and one diamond. + More to come slowly but steadily. ---- diff --git a/tasks.js b/tasks.js index 19c866d..e00bd93 100644 --- a/tasks.js +++ b/tasks.js @@ -48,16 +48,17 @@ tasks["sync-main-repository"] = function() { sys.shell("rm -rf documentation meta"); sys.shell("rm -f .gitignore credits.md license Makefile readme.md tasks.js"); cd_main("1.12"); sys.shell("rm -rf meta src gradle"); - cd_main("1.13"); sys.shell("rm -rf meta src gradle"); + //cd_main("1.13"); sys.shell("rm -rf meta src gradle"); cd_dev(); sys.shell("cp -f .gitignore credits.md license Makefile readme.md tasks.js \"" + main_repo_local + "/\"") sys.shell("cp -r documentation meta \"" + main_repo_local + "/\"") cd_dev("1.12"); - sys.shell("cp -f build.gradle gradle.properties gradlew gradlew.bat Makefile readme.md tasks.js signing.* \"" + main_repo_local + "/1.12/\"") + sys.shell("cp -f .gitignore build.gradle gradle.properties gradlew gradlew.bat Makefile readme.md tasks.js signing.* \"" + main_repo_local + "/1.12/\"") sys.shell("cp -r src gradle meta \"" + main_repo_local + "/1.12/\"") - cd_dev("1.13"); - sys.shell("cp -f build.gradle gradle.properties gradlew gradlew.bat Makefile readme.md tasks.js signing.* \"" + main_repo_local + "/1.13/\"") - sys.shell("cp -r src gradle meta \"" + main_repo_local + "/1.13/\"") + //@todo uncomment after alpha code cleanup. + //cd_dev("1.13"); + //sys.shell("cp -f .gitignore build.gradle gradle.properties gradlew gradlew.bat Makefile readme.md tasks.js signing.* \"" + main_repo_local + "/1.13/\"") + //sys.shell("cp -r src gradle meta \"" + main_repo_local + "/1.13/\"") cd_main(); print("Main repository changes:"); print(sys.shell("git status -s"))