v1.0.2-mc1.12.2 release merge.
1
.gitignore
vendored
|
@ -30,3 +30,4 @@ src/main/resources/assets/minecraft
|
|||
.gimp
|
||||
*.xcf
|
||||
desktop.ini
|
||||
/*.txt
|
||||
|
|
1
1.12/.gitignore
vendored
|
@ -30,3 +30,4 @@ src/main/resources/assets/minecraft
|
|||
.gimp
|
||||
*.xcf
|
||||
desktop.ini
|
||||
/*.txt
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
#
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -13,9 +13,12 @@ import net.minecraft.entity.player.EntityPlayer;
|
|||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.entity.living.LivingEvent;
|
||||
import net.minecraftforge.fml.common.network.IGuiHandler;
|
||||
import net.minecraftforge.fml.common.network.NetworkRegistry;
|
||||
import wile.engineersdecor.blocks.BlockDecorCraftingTable;
|
||||
import wile.engineersdecor.blocks.BlockDecorLadder;
|
||||
import wile.engineersdecor.detail.ModConfig;
|
||||
import wile.engineersdecor.blocks.ModBlocks;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
@ -63,13 +66,13 @@ public class ModEngineersDecor
|
|||
|
||||
public interface IProxy
|
||||
{
|
||||
default void preInit(FMLPreInitializationEvent e) {}
|
||||
default void init(FMLInitializationEvent e) {}
|
||||
default void postInit(FMLPostInitializationEvent e) {}
|
||||
default void preInit(final FMLPreInitializationEvent e) {}
|
||||
default void init(final FMLInitializationEvent e) {}
|
||||
default void postInit(final FMLPostInitializationEvent e) {}
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void preInit(FMLPreInitializationEvent event)
|
||||
public void preInit(final FMLPreInitializationEvent event)
|
||||
{
|
||||
logger = event.getModLog();
|
||||
logger.info(MODNAME + ": Version " + MODMCVERSION + "-" + MODVERSION + ( (MODBUILDID=="@"+"MOD_BUILDID"+"@") ? "" : (" "+MODBUILDID) ) + ".");
|
||||
|
@ -79,33 +82,34 @@ public class ModEngineersDecor
|
|||
logger.info(MODNAME + ": Found valid fingerprint " + MODFINGERPRINT + ".");
|
||||
}
|
||||
proxy.preInit(event);
|
||||
MinecraftForge.EVENT_BUS.register(new PlayerEventHandler());
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void init(FMLInitializationEvent event)
|
||||
public void init(final FMLInitializationEvent event)
|
||||
{
|
||||
proxy.init(event);
|
||||
NetworkRegistry.INSTANCE.registerGuiHandler(this, new ModEngineersDecor.GuiHandler());
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void postInit(FMLPostInitializationEvent event)
|
||||
public void postInit(final FMLPostInitializationEvent event)
|
||||
{ ModConfig.onPostInit(event); proxy.postInit(event); }
|
||||
|
||||
@Mod.EventBusSubscriber
|
||||
public static final class RegistrationSubscriptions
|
||||
{
|
||||
@SubscribeEvent
|
||||
public static void registerBlocks(RegistryEvent.Register<Block> event)
|
||||
public static void registerBlocks(final RegistryEvent.Register<Block> event)
|
||||
{ ModBlocks.registerBlocks(event); }
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerItems(RegistryEvent.Register<Item> event)
|
||||
public static void registerItems(final RegistryEvent.Register<Item> event)
|
||||
{ ModBlocks.registerItemBlocks(event); }
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public static void registerModels(ModelRegistryEvent event)
|
||||
public static void registerModels(final ModelRegistryEvent event)
|
||||
{ ModBlocks.initModels(); }
|
||||
}
|
||||
|
||||
|
@ -145,4 +149,17 @@ public class ModEngineersDecor
|
|||
|
||||
}
|
||||
|
||||
@Mod.EventBusSubscriber
|
||||
public static class PlayerEventHandler
|
||||
{
|
||||
@SubscribeEvent
|
||||
public void update(final LivingEvent.LivingUpdateEvent event)
|
||||
{
|
||||
if(!(event.getEntity() instanceof EntityPlayer)) return;
|
||||
final EntityPlayer player = (EntityPlayer)event.getEntity();
|
||||
if(player.world == null) return;
|
||||
if(player.isOnLadder()) BlockDecorLadder.onPlayerUpdateEvent(player);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
}
|
|
@ -16,7 +16,10 @@ import net.minecraft.block.BlockLadder;
|
|||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.MoverType;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import wile.engineersdecor.ModEngineersDecor;
|
||||
|
@ -77,6 +80,10 @@ public class BlockDecorLadder extends BlockLadder
|
|||
public boolean canSpawnInBlock()
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canCreatureSpawn(IBlockState state, IBlockAccess world, BlockPos pos, net.minecraft.entity.EntityLiving.SpawnPlacementType type)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public EnumPushReaction getPushReaction(IBlockState state)
|
||||
|
@ -103,4 +110,18 @@ public class BlockDecorLadder extends BlockLadder
|
|||
return (!isExceptBlockForAttachWithPiston(state.getBlock())) && (state.getBlockFaceShape(world, pos, side) == BlockFaceShape.SOLID);
|
||||
}
|
||||
|
||||
// Player update event, forwarded from the main mod instance.
|
||||
public static void onPlayerUpdateEvent(final EntityPlayer player)
|
||||
{
|
||||
if(!player.isOnLadder() || (player.isSneaking()) || (player.isSpectator())) return;
|
||||
if((Math.abs(player.motionY) < 0.1) || (Math.abs(player.motionY) > 0.7) || ((player.getLookVec().y > 0) != (player.motionY > 0))) return;
|
||||
if(Math.abs(player.getLookVec().y) < 0.9) return;
|
||||
final BlockPos pos = new BlockPos(player.posX, player.posY, player.posZ);
|
||||
if(!(player.world.getBlockState(pos).getBlock() instanceof BlockDecorLadder)) return;
|
||||
player.fallDistance = 0;
|
||||
player.motionY = (player.motionY < -0.25) ? (-0.7) : ((player.motionY > 0.25) ? (0.7) : (player.motionY));
|
||||
player.motionX = MathHelper.clamp(player.motionX, -0.15, 0.15);
|
||||
player.motionZ = MathHelper.clamp(player.motionX, -0.15, 0.15);
|
||||
player.move(MoverType.PLAYER, player.motionX, player.motionY, player.motionZ);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,4 +22,9 @@ public class BlockDecorStairs extends net.minecraft.block.BlockStairs
|
|||
setRegistryName(ModEngineersDecor.MODID, registryName);
|
||||
setTranslationKey(ModEngineersDecor.MODID + "." + registryName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSpawnInBlock()
|
||||
{ return false; }
|
||||
|
||||
}
|
||||
|
|
|
@ -118,6 +118,14 @@ public class BlockDecorWall extends BlockDecor
|
|||
public boolean isNormalCube(IBlockState state)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canCreatureSpawn(IBlockState state, IBlockAccess world, BlockPos pos, net.minecraft.entity.EntityLiving.SpawnPlacementType type)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canSpawnInBlock()
|
||||
{ return false; }
|
||||
|
||||
private boolean canConnectTo(IBlockAccess world, BlockPos pos, BlockPos other, EnumFacing facing)
|
||||
{
|
||||
final IBlockState state = world.getBlockState(other);
|
||||
|
|
|
@ -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<Block> 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);
|
||||
|
|
|
@ -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" }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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": [{}]
|
||||
}
|
||||
}
|
|
@ -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 }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "engineersdecor:wall/slag_brick_wall_default",
|
||||
"textures": {
|
||||
"wall": "engineersdecor:blocks/slag_brick/slag_brick_wall",
|
||||
"postside": "engineersdecor:blocks/slag_brick/slag_brick_pole_side",
|
||||
"top": "engineersdecor:blocks/slag_brick/slag_brick_top",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_top"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
"inventory": { "model": "engineersdecor:wall/slag_brick_wall_inventory" },
|
||||
"up" : { "false":{}, "true": {"submodel": {"clinker_wall_up" : {"model": "engineersdecor:wall/slag_brick_wall_post" }}} },
|
||||
"north": { "false":{}, "true": {"submodel": {"clinker_wall_north" : {"model": "engineersdecor:wall/slag_brick_wall_side", "uvlock": true, "y": 0 }}} },
|
||||
"east" : { "false":{}, "true": {"submodel": {"clinker_wall_east" : {"model": "engineersdecor:wall/slag_brick_wall_side", "uvlock": true, "y": 90 }}} },
|
||||
"south": { "false":{}, "true": {"submodel": {"clinker_wall_south" : {"model": "engineersdecor:wall/slag_brick_wall_side", "uvlock": true, "y": 180 }}} },
|
||||
"west" : { "false":{}, "true": {"submodel": {"clinker_wall_west" : {"model": "engineersdecor:wall/slag_brick_wall_side", "uvlock": true, "y": 270 }}} }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "engineersdecor:furniture/treated_wood_window_model"
|
||||
},
|
||||
"variants": {
|
||||
"normal": [{}],
|
||||
"facing": { "north": {"y":0}, "south": {"y":0}, "west": {"y":90}, "east": {"y":90}, "up": {"x":90}, "down": {"x":90} },
|
||||
"inventory": [{}]
|
||||
}
|
||||
}
|
|
@ -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":{} }
|
||||
}
|
||||
}
|
|
@ -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
|
||||
#-----------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"o": "engineersdecor:blocks/iestyle/treated_wood_framed_texture",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"o": "engineersdecor:blocks/iestyle/treated_wood_framed_texture",
|
||||
|
|
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
"parent": "block/cube",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"glass": "engineersdecor:blocks/glass/panzerglass_block_texture0",
|
||||
"frame": "engineersdecor:blocks/iestyle/treated_wood_rough_texture",
|
||||
"particle": "engineersdecor:blocks/iestyle/treated_wood_rough_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [1, 1, 7.25],
|
||||
"to": [15, 15, 8.75],
|
||||
"faces": {
|
||||
"north": {"uv": [1, 1, 15, 15], "texture": "#glass"},
|
||||
"south": {"uv": [1, 1, 15, 15], "texture": "#glass"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 1, 6.5],
|
||||
"to": [1, 15, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [15, 1, 16, 15], "texture": "#frame"},
|
||||
"east": {"uv": [6.5, 1, 9.5, 15], "texture": "#frame"},
|
||||
"south": {"uv": [0, 1, 1, 15], "texture": "#frame"},
|
||||
"west": {"uv": [6.5, 1, 9.5, 15], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15, 1, 6.5],
|
||||
"to": [16, 15, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 1, 1, 15], "texture": "#frame"},
|
||||
"east": {"uv": [6.5, 1, 9.5, 15], "texture": "#frame"},
|
||||
"south": {"uv": [15, 1, 16, 15], "texture": "#frame"},
|
||||
"west": {"uv": [6.5, 1, 9.5, 15], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 15, 6.5],
|
||||
"to": [15, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [1, 0, 15, 1], "texture": "#frame"},
|
||||
"south": {"uv": [1, 0, 15, 1], "texture": "#frame"},
|
||||
"up": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"},
|
||||
"down": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 0, 6.5],
|
||||
"to": [15, 1, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [1, 15, 15, 16], "texture": "#frame"},
|
||||
"south": {"uv": [1, 15, 15, 16], "texture": "#frame"},
|
||||
"up": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"},
|
||||
"down": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 6.5],
|
||||
"to": [1, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [15, 0, 16, 1], "texture": "#frame"},
|
||||
"south": {"uv": [0, 0, 1, 1], "texture": "#frame"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 1], "texture": "#frame"},
|
||||
"up": {"uv": [0, 6.5, 1, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15, 15, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 1, 1], "texture": "#frame"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 1], "texture": "#frame"},
|
||||
"south": {"uv": [15, 0, 16, 1], "texture": "#frame"},
|
||||
"up": {"uv": [15, 6.5, 16, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15, 0, 6.5],
|
||||
"to": [16, 1, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 15, 1, 16], "texture": "#frame"},
|
||||
"east": {"uv": [6.5, 15, 9.5, 16], "texture": "#frame"},
|
||||
"south": {"uv": [15, 15, 16, 16], "texture": "#frame"},
|
||||
"down": {"uv": [15, 6.5, 16, 9.5], "texture": "#frame"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [1, 1, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [15, 15, 16, 16], "texture": "#frame"},
|
||||
"south": {"uv": [0, 15, 1, 16], "texture": "#frame"},
|
||||
"west": {"uv": [6.5, 15, 9.5, 16], "texture": "#frame"},
|
||||
"down": {"uv": [0, 6.5, 1, 9.5], "texture": "#frame"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"ground": {
|
||||
"scale": [0.2, 0.2, 0.2]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 225, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:blocks/glass/panzerglass_block_texture0" } }
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"particle": "engineersdecor:blocks/iestyle/steel_texture",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"o": "engineersdecor:blocks/iestyle/steel_texture",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"side": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
"particle": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"particle": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
"side": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"ambientocclusion": false,
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"side": "engineersdecor:blocks/iestyle/ironsheet_roof",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/block",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"parent": "block/block",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"textures": {
|
||||
"wall": "engineersdecor:blocks/slag_brick/slag_brick_texture0",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_texture0"
|
||||
},
|
||||
"elements": [{
|
||||
"from": [7.9, 7.9, 7.9], "to": [8, 8, 8], "faces": { "down": {"texture": "#wall"} }
|
||||
}]
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"wall": "engineersdecor:blocks/slag_brick/slag_brick_wall",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_wall",
|
||||
"top": "engineersdecor:blocks/slag_brick/slag_brick_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [4.5, 0, 0],
|
||||
"to": [11.5, 12, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [3.97, 4, 10.97, 16], "texture": "#wall", "cullface": "north"},
|
||||
"east": {"uv": [0, 4, 16, 16], "texture": "#wall"},
|
||||
"south": {"uv": [4, 4, 11, 16], "texture": "#wall", "cullface": "south"},
|
||||
"west": {"uv": [0, 4, 16, 16], "texture": "#wall"},
|
||||
"up": {"uv": [4.5, 0, 11.5, 16], "texture": "#top"},
|
||||
"down": {"uv": [4.5, 0, 11.5, 16], "texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [4.5, 12, 0],
|
||||
"to": [11.5, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [4.5, 0, 11.5, 4], "texture": "#wall", "cullface": "north"},
|
||||
"east": {"uv": [0, 0, 16, 4], "texture": "#wall"},
|
||||
"south": {"uv": [4.5, 0, 11.5, 4], "texture": "#wall", "cullface": "south"},
|
||||
"west": {"uv": [0, 0, 16, 4], "texture": "#wall"},
|
||||
"up": {"uv": [4.5, 0, 11.5, 16], "texture": "#top"},
|
||||
"down": {"uv": [4.5, 0, 11.5, 16], "texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"gui": {
|
||||
"rotation": [30, 135, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [0, 90, 0],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"textures": {
|
||||
"postside": "engineersdecor:blocks/slag_brick/slag_brick_pole_side",
|
||||
"top": "engineersdecor:blocks/slag_brick/slag_brick_top",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Center post",
|
||||
"from": [4, 0, 4],
|
||||
"to": [12, 16, 12],
|
||||
"faces": {
|
||||
"north": {"texture": "#postside"},
|
||||
"east": {"texture": "#postside"},
|
||||
"south": {"texture": "#postside"},
|
||||
"west": {"texture": "#postside"},
|
||||
"up": {"texture": "#top", "cullface": "up"},
|
||||
"down": {"texture": "#top"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"credit": "I made this with the Blockbench",
|
||||
"textures": {
|
||||
"wall": "engineersdecor:blocks/slag_brick/slag_brick_wall",
|
||||
"top": "engineersdecor:blocks/slag_brick/slag_brick_top",
|
||||
"particle": "engineersdecor:blocks/slag_brick/slag_brick_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [4.125, 0, 0],
|
||||
"to": [11.875, 15.98, 8],
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#top"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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": [
|
||||
{
|
||||
|
|
|
@ -19,6 +19,6 @@
|
|||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:clinker_brick_stairs",
|
||||
"count": 9
|
||||
"count": 6
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,6 @@
|
|||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:clinker_brick_block",
|
||||
"count": 3
|
||||
"count": 4
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:grc",
|
||||
"result": "engineersdecor:clinker_brick_block"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"WW",
|
||||
"WW"
|
||||
],
|
||||
"key": {
|
||||
"W": {
|
||||
"item": "engineersdecor:clinker_brick_wall",
|
||||
"data": 0
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:clinker_brick_block",
|
||||
"count": 4
|
||||
}
|
||||
}
|
|
@ -0,0 +1,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
|
||||
}
|
||||
}
|
|
@ -19,6 +19,6 @@
|
|||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:rebar_concrete_stairs",
|
||||
"count": 9
|
||||
"count": 6
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -19,6 +19,6 @@
|
|||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:slag_brick_stairs",
|
||||
"count": 9
|
||||
"count": 6
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:grc",
|
||||
"result": "engineersdecor:slag_brick_wall"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
" ",
|
||||
"BBB",
|
||||
"BBB"
|
||||
],
|
||||
"key": {
|
||||
"B": {
|
||||
"item": "engineersdecor:slag_brick_block",
|
||||
"data": 0
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:slag_brick_wall",
|
||||
"count": 6
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:grc",
|
||||
"result": "engineersdecor:slag_brick_block"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"WW",
|
||||
"WW"
|
||||
],
|
||||
"key": {
|
||||
"W": {
|
||||
"item": "engineersdecor:slag_brick_wall",
|
||||
"data": 0
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:slag_brick_block",
|
||||
"count": 4
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:grc",
|
||||
"result": "engineersdecor:treated_wood_window",
|
||||
"required": ["immersiveengineering:material"]
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"WGW",
|
||||
"GGG",
|
||||
"WGW"
|
||||
],
|
||||
"key": {
|
||||
"W": {
|
||||
"item": "#slabTreatedWood",
|
||||
"data": 0
|
||||
},
|
||||
"G": {
|
||||
"item": "#paneGlass",
|
||||
"data": 0
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:treated_wood_window",
|
||||
"count": 9
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 501 B After Width: | Height: | Size: 521 B |
After Width: | Height: | Size: 510 B |
After Width: | Height: | Size: 521 B |
After Width: | Height: | Size: 532 B |
After Width: | Height: | Size: 529 B |
After Width: | Height: | Size: 515 B |
After Width: | Height: | Size: 534 B |
After Width: | Height: | Size: 518 B |
After Width: | Height: | Size: 534 B |
After Width: | Height: | Size: 591 B |
After Width: | Height: | Size: 614 B |
After Width: | Height: | Size: 616 B |
After Width: | Height: | Size: 585 B |
After Width: | Height: | Size: 658 B |
Before Width: | Height: | Size: 565 B After Width: | Height: | Size: 508 B |
After Width: | Height: | Size: 450 B |
After Width: | Height: | Size: 506 B |
After Width: | Height: | Size: 692 B |
|
@ -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;
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 346 KiB After Width: | Height: | Size: 307 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 284 KiB |
BIN
documentation/panzerglass.png
Normal file
After Width: | Height: | Size: 162 KiB |
|
@ -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"
|
||||
}
|
||||
}
|
24
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.
|
||||
|
||||
----
|
||||
|
|
11
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"))
|
||||
|
|