Steel mesh fence added, Broad Windowsill added, Tree Cutter can chop DyncmicTrees (issue #52).
This commit is contained in:
parent
1eeaa1229e
commit
1b0a84ae7f
119 changed files with 3399 additions and 133 deletions
|
@ -24,18 +24,23 @@ wildcardr=$(foreach d,$(wildcard $1*),$(call wildcardr,$d/,$2) $(filter $(subst
|
|||
#
|
||||
# Targets
|
||||
#
|
||||
.PHONY: default mod init clean clean-all mrproper all run install sanatize dist-check dist start-server assets
|
||||
.PHONY: default mod data init clean clean-all mrproper all run install sanatize dist-check dist start-server assets
|
||||
|
||||
default: mod
|
||||
|
||||
all: clean clean-all mod | install
|
||||
|
||||
mod:
|
||||
mod: data
|
||||
@echo "[1.14] Building mod using gradle ..."
|
||||
@$(GRADLE) build $(GRADLE_OPTS)
|
||||
|
||||
data:
|
||||
@echo "[1.14] Running data generators ..."
|
||||
@djs tasks.js datagen
|
||||
|
||||
clean:
|
||||
@echo "[1.14] Cleaning ..."
|
||||
@rm -rf src/generated
|
||||
@rm -rf mcmodsrepo
|
||||
@rm -f build/libs/*
|
||||
@$(GRADLE) clean
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
org.gradle.daemon=false
|
||||
org.gradle.jvmargs=-Xmx8G
|
||||
version_minecraft=1.14.4
|
||||
version_forge_minecraft=1.14.4-28.0.105
|
||||
version_forge_minecraft=1.14.4-28.1.31
|
||||
version_fml_mappings=20190719-1.14.3
|
||||
version_jei=1.14.4:6.0.0.10
|
||||
version_engineersdecor=1.0.13-b1
|
||||
version_engineersdecor=1.0.13-b3
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
|
||||
"1.14.4": {
|
||||
"1.0.13-b2": "[A] Added Steel Mesh Fence.\n[A] Added Broad Window Sill.",
|
||||
"1.0.12-b3": "[U] Updated to Forge 1.14.4-28.1.10/20190719-1.14.3.\n[A] Crafting Table: Added recipe collision resolver, also applies to crafting history refabrication.\n[A] Crafting Table: Added rendering of placed items on the top surface of the table.\n[A] Waterlogging of non-full-blocks added.",
|
||||
"1.0.12-b2": "[U] Updated to Forge 1.14.4-28.0.105/20190719-1.14.3.\n[A] Small Solar Panel added.\n[M] Items fall through the Steel Floor Grating like in 1.12.2 version.\n[M] Factory Dropper: Added pulse/continuous mode in GUI (issue #51, thx Aristine for the CR).",
|
||||
"1.0.12-b1": "[U] Updated to Forge 1.14.4-28.0.93/20190719-1.14.3.\n[M] Logo location fixed.",
|
||||
|
@ -25,6 +26,6 @@
|
|||
},
|
||||
"promos": {
|
||||
"1.14.4-recommended": "",
|
||||
"1.14.4-latest": "1.0.12-b3"
|
||||
"1.14.4-latest": "1.0.13-b2"
|
||||
}
|
||||
}
|
|
@ -11,7 +11,11 @@ Mod sources for Minecraft version 1.14.4.
|
|||
|
||||
## Version history
|
||||
|
||||
~ v1.0.13-b1 [A]
|
||||
~ v1.0.13-b3 [U] Updated to Forge 1.14.4-28.1.31/20190719-1.14.3.
|
||||
[M] Switched to integrated loot table generation.
|
||||
|
||||
- v1.0.13-b2 [A] Added Steel Mesh Fence.
|
||||
[A] Added Broad Window Sill.
|
||||
|
||||
- v1.0.12-b3 [U] Updated to Forge 1.14.4-28.1.10/20190719-1.14.3.
|
||||
[A] Crafting Table: Added recipe collision resolver,
|
||||
|
|
|
@ -210,6 +210,12 @@ public class ModContent
|
|||
ModAuxiliaries.getPixeledAABB(0.5,15,10.5, 15.5,16,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_windowsill"));
|
||||
|
||||
public static final BlockDecorDirected.WaterLoggable TREATED_WOOD_BROAD_WINDOWSILL = (BlockDecorDirected.WaterLoggable)(new BlockDecorDirected.WaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_FACING_PLACEMENT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
ModAuxiliaries.getPixeledAABB(0,14.5,4, 16,16,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_broad_windowsill"));
|
||||
|
||||
public static final BlockDecorDirected.WaterLoggable INSET_LIGHT_IRON = (BlockDecorDirected.WaterLoggable)(new BlockDecorDirected.WaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).lightValue(15),
|
||||
|
@ -442,6 +448,13 @@ public class ModContent
|
|||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public static final BlockDecorFence STEEL_MESH_FENCE = (BlockDecorFence)(new BlockDecorFence(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_mesh_fence"));
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
private static final Block modBlocks[] = {
|
||||
TREATED_WOOD_CRAFTING_TABLE,
|
||||
SMALL_LAB_FURNACE,
|
||||
|
@ -486,11 +499,13 @@ public class ModContent
|
|||
TREATED_WOOD_STOOL,
|
||||
TREATED_WOOD_SIDE_TABLE,
|
||||
TREATED_WOOD_WINDOWSILL,
|
||||
TREATED_WOOD_BROAD_WINDOWSILL,
|
||||
TREATED_WOOD_WINDOW,
|
||||
STEEL_FRAMED_WINDOW,
|
||||
STEEL_TABLE,
|
||||
INSET_LIGHT_IRON,
|
||||
STEEL_FLOOR_GRATING,
|
||||
STEEL_MESH_FENCE,
|
||||
TREATED_WOOD_POLE,
|
||||
TREATED_WOOD_POLE_HEAD,
|
||||
TREATED_WOOD_POLE_SUPPORT,
|
||||
|
@ -631,6 +646,14 @@ public class ModContent
|
|||
|
||||
private static ArrayList<Block> registeredBlocks = new ArrayList<>();
|
||||
|
||||
public static ArrayList<Block> allBlocks()
|
||||
{
|
||||
ArrayList<Block> blocks = new ArrayList<>();
|
||||
Collections.addAll(blocks, modBlocks);
|
||||
Collections.addAll(blocks, devBlocks);
|
||||
return blocks;
|
||||
}
|
||||
|
||||
public static boolean isExperimentalBlock(Block block)
|
||||
{ return ArrayUtils.contains(devBlocks, block); }
|
||||
|
||||
|
@ -640,17 +663,13 @@ public class ModContent
|
|||
|
||||
public static final void registerBlocks(final RegistryEvent.Register<Block> event)
|
||||
{
|
||||
ArrayList<Block> allBlocks = new ArrayList<>();
|
||||
Collections.addAll(allBlocks, modBlocks);
|
||||
if(ModAuxiliaries.isModLoaded("immersiveengineering")) ModAuxiliaries.logInfo("Immersive Engineering also installed ...");
|
||||
// @todo: config not available yet, other registration control for experimental features needed.
|
||||
Collections.addAll(allBlocks, devBlocks);
|
||||
registeredBlocks.addAll(allBlocks);
|
||||
registeredBlocks.addAll(allBlocks());
|
||||
for(Block e:registeredBlocks) event.getRegistry().register(e);
|
||||
ModAuxiliaries.logInfo("Registered " + Integer.toString(registeredBlocks.size()) + " blocks.");
|
||||
}
|
||||
|
||||
public static final void registerItemBlocks(final RegistryEvent.Register<Item> event)
|
||||
public static final void registerBlockItems(final RegistryEvent.Register<Item> event)
|
||||
{
|
||||
int n = 0;
|
||||
for(Block e:registeredBlocks) {
|
||||
|
|
|
@ -4,6 +4,7 @@ import wile.engineersdecor.detail.ModConfig;
|
|||
import wile.engineersdecor.detail.Networking;
|
||||
import wile.engineersdecor.blocks.*;
|
||||
import wile.engineersdecor.detail.OptionalRecipeCondition.Serializer;
|
||||
import wile.engineersdecor.datagen.ModLootTables;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
|
@ -22,10 +23,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
|||
import net.minecraftforge.fml.DistExecutor;
|
||||
import net.minecraftforge.fml.ModLoadingContext;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.*;
|
||||
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
|
@ -85,7 +83,7 @@ public class ModEngineersDecor
|
|||
|
||||
@SubscribeEvent
|
||||
public static void onItemRegistry(final RegistryEvent.Register<Item> event)
|
||||
{ ModContent.registerItemBlocks(event); }
|
||||
{ ModContent.registerBlockItems(event); }
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onTileEntityRegistry(final RegistryEvent.Register<TileEntityType<?>> event)
|
||||
|
@ -124,6 +122,13 @@ public class ModEngineersDecor
|
|||
ModEngineersDecor.logger().error("Failed to load changed config: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onDataGeneration(GatherDataEvent event)
|
||||
{
|
||||
event.getGenerator().addProvider(new ModLootTables(event.getGenerator()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -140,16 +140,16 @@ public class BlockDecor extends Block implements IDecorBlock
|
|||
|
||||
@Override
|
||||
public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest, IFluidState fluid)
|
||||
{ return dropBlock(state, world, pos, false); }
|
||||
{ return hasDynamicDropList() ? dropBlock(state, world, pos, false) : super.removedByPlayer(state, world,pos , player, willHarvest, fluid); }
|
||||
|
||||
@Override
|
||||
public void onExplosionDestroy(World world, BlockPos pos, Explosion explosion)
|
||||
{ dropBlock(world.getBlockState(pos), world, pos, false); }
|
||||
{ if(hasDynamicDropList()) dropBlock(world.getBlockState(pos), world, pos, true); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public List<ItemStack> getDrops(BlockState state, LootContext.Builder builder)
|
||||
{ return Collections.singletonList(ItemStack.EMPTY); } // { return Collections.singletonList(new ItemStack(this.asItem())); } //
|
||||
{ return hasDynamicDropList() ? Collections.singletonList(ItemStack.EMPTY) : super.getDrops(state, builder); }
|
||||
|
||||
@Override
|
||||
public boolean propagatesSkylightDown(BlockState state, IBlockReader reader, BlockPos pos)
|
||||
|
|
|
@ -108,6 +108,10 @@ public class BlockDecorCraftingTable extends BlockDecorDirected.WaterLoggable
|
|||
((BTileEntity)te).markDirty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasDynamicDropList()
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, boolean explosion)
|
||||
{
|
||||
|
|
|
@ -113,6 +113,10 @@ public class BlockDecorDropper extends BlockDecorDirected
|
|||
((BlockDecorDropper.BTileEntity)te).markDirty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasDynamicDropList()
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, boolean explosion)
|
||||
{
|
||||
|
|
|
@ -0,0 +1,115 @@
|
|||
/*
|
||||
* @file BlockDecorWall.java
|
||||
* @author Stefan Wilhelm (wile)
|
||||
* @copyright (C) 2019 Stefan Wilhelm
|
||||
* @license MIT (see https://opensource.org/licenses/MIT)
|
||||
*
|
||||
* Wall blocks.
|
||||
*/
|
||||
package wile.engineersdecor.blocks;
|
||||
|
||||
import wile.engineersdecor.detail.ModAuxiliaries;
|
||||
import net.minecraft.world.*;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.fluid.IFluidState;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.state.StateContainer;
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.block.material.PushReaction;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.fluid.Fluids;
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class BlockDecorFence extends WallBlock implements IDecorBlock
|
||||
{
|
||||
private final VoxelShape[] shape_voxels;
|
||||
private final VoxelShape[] collision_shape_voxels;
|
||||
|
||||
public BlockDecorFence(long config, Block.Properties builder)
|
||||
{
|
||||
super(builder);
|
||||
this.shape_voxels = buildWallShapes(1.5f, 1.5f, 16f, 0f, 16f);
|
||||
this.collision_shape_voxels = buildWallShapes(1.5f, 1.5f, 24f, 0f, 24f);
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void addInformation(ItemStack stack, @Nullable IBlockReader world, List<ITextComponent> tooltip, ITooltipFlag flag)
|
||||
{ ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); }
|
||||
|
||||
protected VoxelShape[] buildWallShapes(float pole_width_x, float pole_width_z, float pole_height, float side_min_y, float side_max_y)
|
||||
{ return super.makeShapes(pole_width_x, pole_width_z, pole_height, side_min_y, side_max_y); }
|
||||
|
||||
@Override
|
||||
public VoxelShape getShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext selectionContext)
|
||||
{ return shape_voxels[this.getIndex(state)]; }
|
||||
|
||||
@Override
|
||||
public VoxelShape getCollisionShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext selectionContext)
|
||||
{ return collision_shape_voxels[this.getIndex(state)]; }
|
||||
|
||||
@Override
|
||||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
|
||||
{ super.fillStateContainer(builder); }
|
||||
|
||||
private boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||
{
|
||||
final Block block = facingState.getBlock();
|
||||
if((block instanceof FenceGateBlock) || (block instanceof BlockDecorFence) || (block instanceof BlockDecorWall)) return true;
|
||||
final BlockState oppositeState = world.getBlockState(facingPos.offset(side, 2));
|
||||
if(!(oppositeState.getBlock() instanceof BlockDecorFence)) return false;
|
||||
return facingState.isNormalCube(world, facingPos) && hasSolidSide(facingState, world, facingPos, side);
|
||||
}
|
||||
|
||||
public BlockState getStateForPlacement(BlockItemUseContext context)
|
||||
{
|
||||
IWorldReader world = context.getWorld();
|
||||
BlockPos pos = context.getPos();
|
||||
IFluidState fs = context.getWorld().getFluidState(context.getPos());
|
||||
boolean n = attachesTo(world.getBlockState(pos.north()), world, pos.north(), Direction.SOUTH);
|
||||
boolean e = attachesTo(world.getBlockState(pos.east()), world, pos.east(), Direction.WEST);
|
||||
boolean s = attachesTo(world.getBlockState(pos.south()), world, pos.south(), Direction.NORTH);
|
||||
boolean w = attachesTo(world.getBlockState(pos.west()), world, pos.west(), Direction.EAST);
|
||||
boolean not_straight = (!n || !s || e || w) && (n || s || !e || !w);
|
||||
return getDefaultState().with(UP, not_straight).with(NORTH, n).with(EAST, e).with(SOUTH, s).with(WEST, w).with(WATERLOGGED, fs.getFluid() == Fluids.WATER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState updatePostPlacement(BlockState state, Direction side, BlockState facingState, IWorld world, BlockPos currentPos, BlockPos facingPos)
|
||||
{
|
||||
if(state.get(WATERLOGGED)) world.getPendingFluidTicks().scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickRate(world));
|
||||
if(side == Direction.DOWN) return super.updatePostPlacement(state, side, facingState, world, currentPos, facingPos);
|
||||
boolean n = (side==Direction.NORTH) ? attachesTo(facingState, world, facingPos, side) : state.get(NORTH);
|
||||
boolean e = (side==Direction.EAST) ? attachesTo(facingState, world, facingPos, side) : state.get(EAST);
|
||||
boolean s = (side==Direction.SOUTH) ? attachesTo(facingState, world, facingPos, side) : state.get(SOUTH);
|
||||
boolean w = (side==Direction.WEST) ? attachesTo(facingState, world, facingPos, side) : state.get(WEST);
|
||||
boolean not_straight = (!n || !s || e || w) && (n || s || !e || !w);
|
||||
return state.with(UP, not_straight).with(NORTH, n).with(EAST, e).with(SOUTH, s).with(WEST, w);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean canEntitySpawn(BlockState state, IBlockReader world, BlockPos pos, EntityType<?> entityType)
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
public boolean canSpawnInBlock()
|
||||
{ return false; }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public PushReaction getPushReaction(BlockState state)
|
||||
{ return PushReaction.NORMAL; }
|
||||
}
|
|
@ -121,6 +121,10 @@ public class BlockDecorFurnace extends BlockDecorDirected
|
|||
world.setBlockState(pos, state.with(LIT, bte.burning()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasDynamicDropList()
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, boolean explosion) {
|
||||
final List<ItemStack> stacks = new ArrayList<ItemStack>();
|
||||
|
|
|
@ -124,6 +124,10 @@ public class BlockDecorHalfSlab extends BlockDecor implements IWaterLoggable
|
|||
public BlockState mirror(BlockState state, Mirror mirrorIn)
|
||||
{ return state; }
|
||||
|
||||
@Override
|
||||
public boolean hasDynamicDropList()
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, boolean explosion)
|
||||
{ return new ArrayList<ItemStack>(Collections.singletonList(new ItemStack(this.asItem(), num_slabs_contained_in_parts_[state.get(PARTS) & 0xf]))); }
|
||||
|
|
|
@ -95,11 +95,4 @@ public class BlockDecorLadder extends LadderBlock implements IDecorBlock
|
|||
player.setMotionMultiplier(state, new Vec3d(0.2, (lvy>0)?(3):(6), 0.2));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest, IFluidState fluid)
|
||||
{ return BlockDecor.dropBlock(state, world, pos, false); }
|
||||
|
||||
@Override
|
||||
public void onExplosionDestroy(World world, BlockPos pos, Explosion explosion)
|
||||
{ BlockDecor.dropBlock(world.getBlockState(pos), world, pos, true); }
|
||||
}
|
||||
|
|
|
@ -93,6 +93,10 @@ public class BlockDecorMineralSmelter extends BlockDecorDirectedHorizontal
|
|||
public void onBlockPlacedBy(World world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack)
|
||||
{}
|
||||
|
||||
@Override
|
||||
public boolean hasDynamicDropList()
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, boolean explosion)
|
||||
{
|
||||
|
|
|
@ -109,6 +109,10 @@ public class BlockDecorSlab extends BlockDecor
|
|||
public BlockState mirror(BlockState state, Mirror mirrorIn)
|
||||
{ return state; }
|
||||
|
||||
@Override
|
||||
public boolean hasDynamicDropList()
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, boolean explosion)
|
||||
{ return new ArrayList<ItemStack>(Collections.singletonList(new ItemStack(this.asItem(), num_slabs_contained_in_parts_[state.get(PARTS) & 0x3]))); }
|
||||
|
|
|
@ -53,11 +53,4 @@ public class BlockDecorStairs extends StairsBlock implements IDecorBlock
|
|||
public PushReaction getPushReaction(BlockState state)
|
||||
{ return PushReaction.NORMAL; }
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest, IFluidState fluid)
|
||||
{ return BlockDecor.dropBlock(state, world, pos, false); }
|
||||
|
||||
@Override
|
||||
public void onExplosionDestroy(World world, BlockPos pos, Explosion explosion)
|
||||
{ BlockDecor.dropBlock(world.getBlockState(pos), world, pos, true); }
|
||||
}
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
*/
|
||||
package wile.engineersdecor.blocks;
|
||||
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.world.*;
|
||||
import wile.engineersdecor.detail.ModAuxiliaries;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.fluid.IFluidState;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.state.StateContainer;
|
||||
|
@ -28,8 +28,6 @@ import net.minecraft.util.Direction;
|
|||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.IWorld;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import javax.annotation.Nullable;
|
||||
|
@ -69,13 +67,26 @@ public class BlockDecorWall extends WallBlock implements IDecorBlock
|
|||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
|
||||
{ super.fillStateContainer(builder); builder.add(TEXTURE_VARIANT); }
|
||||
|
||||
private boolean attachesTo(BlockState facingState, IWorld world, BlockPos facingPos, Direction side)
|
||||
private boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||
{
|
||||
final Block block = facingState.getBlock();
|
||||
if((block instanceof FenceGateBlock) || (block instanceof WallBlock)) return true;
|
||||
// return this.func_220113_a(facingState, Block.func_220056_d(facingState, world, facingPos, side), side);
|
||||
// @todo: CHANGE HERE WHEN DEOBF METHOD IS AVAILABLE
|
||||
return false;
|
||||
final BlockState oppositeState = world.getBlockState(facingPos.offset(side, 2));
|
||||
if(!(oppositeState.getBlock() instanceof BlockDecorWall)) return false;
|
||||
return facingState.isNormalCube(world, facingPos) && hasSolidSide(facingState, world, facingPos, side);
|
||||
}
|
||||
|
||||
public BlockState getStateForPlacement(BlockItemUseContext context)
|
||||
{
|
||||
IWorldReader world = context.getWorld();
|
||||
BlockPos pos = context.getPos();
|
||||
IFluidState fs = context.getWorld().getFluidState(context.getPos());
|
||||
boolean n = attachesTo(world.getBlockState(pos.north()), world, pos.north(), Direction.SOUTH);
|
||||
boolean e = attachesTo(world.getBlockState(pos.east()), world, pos.east(), Direction.WEST);
|
||||
boolean s = attachesTo(world.getBlockState(pos.south()), world, pos.south(), Direction.NORTH);
|
||||
boolean w = attachesTo(world.getBlockState(pos.west()), world, pos.west(), Direction.EAST);
|
||||
boolean not_straight = (!n || !s || e || w) && (n || s || !e || !w);
|
||||
return getDefaultState().with(UP, not_straight).with(NORTH, n).with(EAST, e).with(SOUTH, s).with(WEST, w).with(WATERLOGGED, fs.getFluid() == Fluids.WATER);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -105,11 +116,4 @@ public class BlockDecorWall extends WallBlock implements IDecorBlock
|
|||
public PushReaction getPushReaction(BlockState state)
|
||||
{ return PushReaction.NORMAL; }
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest, IFluidState fluid)
|
||||
{ return BlockDecor.dropBlock(state, world, pos, false); }
|
||||
|
||||
@Override
|
||||
public void onExplosionDestroy(World world, BlockPos pos, Explosion explosion)
|
||||
{ BlockDecor.dropBlock(world.getBlockState(pos), world, pos, true); }
|
||||
}
|
||||
|
|
|
@ -110,6 +110,10 @@ public class BlockDecorWasteIncinerator extends BlockDecor
|
|||
((BlockDecorWasteIncinerator.BTileEntity)te).markDirty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasDynamicDropList()
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, boolean explosion)
|
||||
{
|
||||
|
|
|
@ -16,9 +16,12 @@ import java.util.Collections;
|
|||
import java.util.List;
|
||||
|
||||
|
||||
interface IDecorBlock
|
||||
public interface IDecorBlock
|
||||
{
|
||||
|
||||
default boolean hasDynamicDropList()
|
||||
{ return false; }
|
||||
|
||||
default List<ItemStack> dropList(BlockState state, World world, BlockPos pos, boolean explosion)
|
||||
{ return Collections.singletonList((!world.isRemote()) ? (new ItemStack(state.getBlock().asItem())) : (ItemStack.EMPTY)); }
|
||||
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* @file ModLootTables.java
|
||||
* @author Stefan Wilhelm (wile)
|
||||
* @copyright (C) 2019 Stefan Wilhelm
|
||||
* @license MIT (see https://opensource.org/licenses/MIT)
|
||||
*
|
||||
* Loot table generator.
|
||||
*/
|
||||
package wile.engineersdecor.datagen;
|
||||
|
||||
import wile.engineersdecor.ModContent;
|
||||
import wile.engineersdecor.blocks.IDecorBlock;
|
||||
import wile.engineersdecor.detail.ModAuxiliaries;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.data.*;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.storage.loot.*;
|
||||
import net.minecraft.world.storage.loot.functions.CopyName;
|
||||
import net.minecraft.world.storage.loot.functions.CopyName.Source;
|
||||
import net.minecraft.world.storage.loot.functions.CopyNbt;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import java.nio.file.Path;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
public class ModLootTables extends LootTableProvider
|
||||
{
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
private static final Gson GSON = (new GsonBuilder()).setPrettyPrinting().disableHtmlEscaping().create();
|
||||
private final DataGenerator generator;
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public ModLootTables(DataGenerator gen)
|
||||
{ super(gen); generator=gen; }
|
||||
|
||||
//-- LootTableProvider -----------------------------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{ return ModAuxiliaries.MODID + " Loot Tables"; }
|
||||
|
||||
@Override
|
||||
public void act(DirectoryCache cache)
|
||||
{ save(cache, generate()); }
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
private Map<ResourceLocation, LootTable> generate()
|
||||
{
|
||||
final HashMap<ResourceLocation, LootTable> tables = new HashMap<ResourceLocation, LootTable>();
|
||||
final List<Block> blocks = ModContent.allBlocks();
|
||||
blocks.forEach((block)->{
|
||||
if((!(block instanceof IDecorBlock)) || (!(((IDecorBlock)block).hasDynamicDropList()))) {
|
||||
tables.put(
|
||||
block.getLootTable(),
|
||||
defaultBlockDrops(block.getRegistryName().getPath() + "_dlt", block)
|
||||
.setParameterSet(LootParameterSets.BLOCK).build());
|
||||
}
|
||||
});
|
||||
return tables;
|
||||
}
|
||||
|
||||
private void save(DirectoryCache cache, Map<ResourceLocation, LootTable> tables)
|
||||
{
|
||||
final Path root = generator.getOutputFolder();
|
||||
tables.forEach((rl,tab)->{
|
||||
Path fp = root.resolve("data/" + rl.getNamespace() + "/loot_tables/" + rl.getPath() + ".json");
|
||||
try {
|
||||
IDataProvider.save(GSON, cache, LootTableManager.toJson(tab), fp);
|
||||
} catch(Exception e) {
|
||||
LOGGER.error("Failed to save loottable '"+fp+"', exception: " + e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private LootTable.Builder defaultBlockDrops(String rl_path, Block block)
|
||||
{
|
||||
ItemLootEntry.Builder iltb = ItemLootEntry.builder(block);
|
||||
iltb.acceptFunction(CopyName.func_215893_a(Source.BLOCK_ENTITY));
|
||||
if(block.hasTileEntity(block.getDefaultState())) {
|
||||
iltb.acceptFunction(CopyNbt.func_215881_a(CopyNbt.Source.BLOCK_ENTITY));
|
||||
}
|
||||
return LootTable.builder().addLootPool(LootPool.builder().name(rl_path).rolls(ConstantRange.of(1)).addEntry(iltb));
|
||||
}
|
||||
|
||||
}
|
|
@ -34,6 +34,8 @@ import java.util.regex.Pattern;
|
|||
|
||||
public class ModAuxiliaries
|
||||
{
|
||||
public static final String MODID = ModEngineersDecor.MODID;
|
||||
|
||||
/**
|
||||
* Text localisation wrapper, implicitly prepends `ModEngineersDecor.MODID` to the
|
||||
* translation keys. Forces formatting argument, nullable if no special formatting shall be applied..
|
||||
|
|
|
@ -10,7 +10,7 @@ version="${file.jarVersion}"
|
|||
displayName="Engineer's Decor"
|
||||
description="Adds cosmetic blocks for the engineer's workshop, factory and home."
|
||||
authors="wilechaote"
|
||||
credits="BluSunrize, malte0811, et al., the Forge Smiths, the Modders of the World."
|
||||
credits="BluSunrize, Damien Hazard, malte0811, et al., the Forge Smiths, the Modders of the World."
|
||||
updateJSONURL="https://raw.githubusercontent.com/stfwi/engineers-decor/develop/meta/update.json"
|
||||
displayURL="https://github.com/stfwi/engineers-decor/"
|
||||
logoFile="logo.png"
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"multipart": [
|
||||
{ "when": { "up": "true" }, "apply": { "model": "engineersdecor:block/fence/steel_mesh_fence_post" } },
|
||||
{ "when": { "north": "true" }, "apply": { "model": "engineersdecor:block/fence/steel_mesh_fence_side", "uvlock": true } },
|
||||
{ "when": { "east": "true" }, "apply": { "model": "engineersdecor:block/fence/steel_mesh_fence_side", "y": 90, "uvlock": true } },
|
||||
{ "when": { "south": "true" }, "apply": { "model": "engineersdecor:block/fence/steel_mesh_fence_side", "y": 180, "uvlock": true } },
|
||||
{ "when": { "west": "true" }, "apply": { "model": "engineersdecor:block/fence/steel_mesh_fence_side", "y": 270, "uvlock": true } }
|
||||
]
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": { "model": "engineersdecor:block/furniture/treated_wood_windowsill_broad_model" },
|
||||
"variants": {
|
||||
"facing": { "north": {"y":0}, "south": {"y":180}, "west": {"y":-90}, "east": {"y":90}, "up":{}, "down":{} }
|
||||
}
|
||||
}
|
|
@ -73,6 +73,8 @@
|
|||
"block.engineersdecor.rebar_concrete_tile_slab.help": "§6Steel reinforced concrete tile slab.§r Expensive but Creeper-proof like obsidian.",
|
||||
"block.engineersdecor.panzerglass_slab": "Panzer Glass Slab",
|
||||
"block.engineersdecor.panzerglass_slab.help": "§6Reinforced glass slab.§r Expensive, explosion-proof. Dark gray tint, faint structural lines visible.",
|
||||
"block.engineersdecor.treated_wood_floor": "Treated Wood Floor",
|
||||
"block.engineersdecor.treated_wood_floor.help": "§6Decorative floor tiles with texture variations.§r",
|
||||
"block.engineersdecor.rebar_concrete_wall": "Rebar Concrete Wall",
|
||||
"block.engineersdecor.rebar_concrete_wall.help": "§6Steel reinforced concrete wall.§r Expensive but Creeper-proof like obsidian.",
|
||||
"block.engineersdecor.concrete_wall": "Concrete Wall",
|
||||
|
@ -131,8 +133,12 @@
|
|||
"block.engineersdecor.treated_wood_window.help": "§6Wood framed triple glazed window. Well insulating.§r Does not connect to adjacent blocks like glass panes.",
|
||||
"block.engineersdecor.treated_wood_windowsill": "Treated Wood Window Sill",
|
||||
"block.engineersdecor.treated_wood_windowsill.help": "§6Simple window decoration.",
|
||||
"block.engineersdecor.treated_wood_broad_windowsill": "Broad Treated Wood Window Sill",
|
||||
"block.engineersdecor.treated_wood_broad_windowsill.help": "§6Simple window decoration.",
|
||||
"block.engineersdecor.steel_framed_window": "Steel Framed Window",
|
||||
"block.engineersdecor.steel_framed_window.help": "§6Steel framed triple glazed window. Well insulating. §r Does not connect to adjacent blocks like glass panes.",
|
||||
"block.engineersdecor.steel_mesh_fence": "Steel Mesh Fence",
|
||||
"block.engineersdecor.steel_mesh_fence.help": "§6Industrial style fence.§r\nDoes not connect do regular fences.",
|
||||
"block.engineersdecor.small_lab_furnace": "Small Laboratory Furnace",
|
||||
"block.engineersdecor.small_lab_furnace.help": "§6Small metal cased lab kiln.§r Solid fuel consuming, updraught. Slightly hotter and better isolated than a cobblestone furnace, therefore more efficient. Two auxiliary slots e.g. for storage. Two stack internal hopper fifos for input, output, and fuel. Place an external heater into a aux slot and connect power for electrical smelting speed boost.",
|
||||
"block.engineersdecor.small_electrical_furnace": "Small Electrical Furnace",
|
||||
|
@ -153,6 +159,8 @@
|
|||
"block.engineersdecor.small_mineral_smelter.help": "§6High temperature, high insulation electrical stone melting furnace.§r\n Heats up mineral blocks to magma blocks, and finally to lava. Due to the miniturized device size the process is rather inefficient - much time and energy is needed to liquefy a stone block.",
|
||||
"block.engineersdecor.small_solar_panel": "Small Solar Panel",
|
||||
"block.engineersdecor.small_solar_panel.help": "§6Produces a small amount of power when exposed to sunlight.§r\n Useful for charging LF capacitors in remote systems with low consumption. The internal charge pump circuit accumulates and frequently transfers RF. Production depends on day time and the weather.",
|
||||
"block.engineersdecor.small_tree_cutter": "Small Tree Cutter",
|
||||
"block.engineersdecor.small_tree_cutter.help": "§6Chops grown trees in front of it.§r\n Does not collect the lumbers. Deactivate with a redstone signal. Provide RF power to boost the cutting speed (takes a long time without power).",
|
||||
"block.engineersdecor.sign_decor": "Sign Plate (Engineer's decor)",
|
||||
"block.engineersdecor.sign_decor.help": "§6This should not be craftable or visible in JEI. Used for creative tab and screenshots.",
|
||||
"block.engineersdecor.sign_hotwire": "Sign \"Caution Hot Wire\"",
|
||||
|
@ -181,5 +189,7 @@
|
|||
"block.engineersdecor.halfslab_sheetmetal_gold": "Gold Sheet Metal Slice",
|
||||
"block.engineersdecor.halfslab_sheetmetal_gold.help": "§6Vertically stackable slice.§r Right/left click with the slice stack on the top or bottom surface to add/remove slices.",
|
||||
"block.engineersdecor.halfslab_sheetmetal_aluminum": "Aluminum Sheet Metal Slice",
|
||||
"block.engineersdecor.halfslab_sheetmetal_aluminum.help": "§6Vertically stackable slice.§r Right/left click with the slice stack on the top or bottom surface to add/remove slices."
|
||||
"block.engineersdecor.halfslab_sheetmetal_aluminum.help": "§6Vertically stackable slice.§r Right/left click with the slice stack on the top or bottom surface to add/remove slices.",
|
||||
"block.engineersdecor.testblock": "ED Test Block (do NOT use)",
|
||||
"block.engineersdecor.testblock.help": "§6Uncraftable mod testing block with changing experimental functionality. DO NOT USE, may even cause a crash in the worst case!!"
|
||||
}
|
|
@ -73,6 +73,7 @@
|
|||
"block.engineersdecor.rebar_concrete_tile_slab.help": "§6Бетонная плитка, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан.",
|
||||
"block.engineersdecor.panzerglass_slab": "Плита из бронированного стекла",
|
||||
"block.engineersdecor.panzerglass_slab.help": "§6Усиленная стеклянная плита.§r Дорогая, взрывоустойчивая. Имеет тёмно-серый оттенок, слегка видны структурные линии.",
|
||||
"block.engineersdecor.treated_wood_floor": "Treated Wood Floor",
|
||||
"block.engineersdecor.rebar_concrete_wall": "Железобетонная стена",
|
||||
"block.engineersdecor.rebar_concrete_wall.help": "§6Стальная железобетонная стена.§r Дорогая, но взрывоустойчивая, как обсидиан.",
|
||||
"block.engineersdecor.concrete_wall": "Бетонная стена",
|
||||
|
@ -131,8 +132,10 @@
|
|||
"block.engineersdecor.treated_wood_window.help": "§6Деревянный каркас окна с тройным остеклением. Ну и шумоизоляция.",
|
||||
"block.engineersdecor.treated_wood_windowsill": "Обработанный деревянный подоконник",
|
||||
"block.engineersdecor.treated_wood_windowsill.help": "§6Простое оформление окон.",
|
||||
"block.engineersdecor.treated_wood_broad_windowsill": "Broad Treated Wood Window Sill",
|
||||
"block.engineersdecor.steel_framed_window": "Окно со стальной рамой",
|
||||
"block.engineersdecor.steel_framed_window.help": "§6Стальной каркас окна с тройным остеклением. Хорошо изолирует. §r Не подключается к смежным блокам, таким как стеклянные панели.",
|
||||
"block.engineersdecor.steel_mesh_fence": "Steel Mesh Fence",
|
||||
"block.engineersdecor.small_lab_furnace": "Компактная лабораторная печь",
|
||||
"block.engineersdecor.small_lab_furnace.help": "§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива сверху. Немного горячее, чем каменная, поэтому быстрее. Два внутренних слота для ввода, выхода и топлива.",
|
||||
"block.engineersdecor.small_electrical_furnace": "Компактная конвейерная электрическая печь",
|
||||
|
@ -151,6 +154,7 @@
|
|||
"block.engineersdecor.factory_dropper.help": "§6Выбрасыватель подходит для продвинутой автоматизации производства.§r Имеет 12 выборочных слотов. Сила броска, угол, размер стопки и задержка настраиваются в GUI. 3 слота сравнения стека с логическим И или ИЛИ могут использоваться в качестве внутреннего источника запуска. Внутренний триггер может быть И или ИЛИ с внешним триггерным сигналом красного камня. Триггерные кнопки симуляции для тестирования. Предварительно открывает дверцу затвора, когда выполняются условия внутреннего запуска. Сбрасывает все соответствующие стеки одновременно. Нажмите на все элементы в GUI, чтобы увидеть, как это работает.",
|
||||
"block.engineersdecor.small_mineral_smelter": "Small Mineral Melting Furnace",
|
||||
"block.engineersdecor.small_solar_panel": "Small Solar Panel",
|
||||
"block.engineersdecor.small_tree_cutter": "Small Tree Cutter",
|
||||
"block.engineersdecor.sign_decor": "Табличка с надписью (Логотип Engineer's decor)",
|
||||
"block.engineersdecor.sign_decor.help": "§Это не должно быть крафтовым или видимым в JEI. Используется для творческой вкладки и скриншотов.",
|
||||
"block.engineersdecor.sign_hotwire": "Знак «Осторожно, под напряжением»",
|
||||
|
@ -179,5 +183,6 @@
|
|||
"block.engineersdecor.halfslab_sheetmetal_gold": "Часть золотого листового металла",
|
||||
"block.engineersdecor.halfslab_sheetmetal_gold.help": "§6Вертикально наращиваемая часть.§rПравый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей.",
|
||||
"block.engineersdecor.halfslab_sheetmetal_aluminum": "Часть алюминиевого листового металла",
|
||||
"block.engineersdecor.halfslab_sheetmetal_aluminum.help": "§6Вертикально наращиваемая часть.§rПравый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей."
|
||||
"block.engineersdecor.halfslab_sheetmetal_aluminum.help": "§6Вертикально наращиваемая часть.§rПравый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей.",
|
||||
"block.engineersdecor.testblock": "ED Test Block (do NOT use)"
|
||||
}
|
|
@ -63,6 +63,7 @@
|
|||
"block.engineersdecor.rebar_concrete_slab": "Rebar Concrete Slab",
|
||||
"block.engineersdecor.rebar_concrete_tile_slab": "Rebar Concrete Tile Slab",
|
||||
"block.engineersdecor.panzerglass_slab": "Panzer Glass Slab",
|
||||
"block.engineersdecor.treated_wood_floor": "Treated Wood Floor",
|
||||
"block.engineersdecor.rebar_concrete_wall": "钢筋混凝土墙",
|
||||
"block.engineersdecor.rebar_concrete_wall.help": "§6钢筋混凝土墙.§r 昂贵,但像黑曜石一样防苦力怕.",
|
||||
"block.engineersdecor.concrete_wall": "水泥墙",
|
||||
|
@ -102,7 +103,9 @@
|
|||
"block.engineersdecor.iron_inset_light": "Inset Light",
|
||||
"block.engineersdecor.treated_wood_window": "Treated Wood Window",
|
||||
"block.engineersdecor.treated_wood_windowsill": "Treated Wood Window Sill",
|
||||
"block.engineersdecor.treated_wood_broad_windowsill": "Broad Treated Wood Window Sill",
|
||||
"block.engineersdecor.steel_framed_window": "Steel Framed Window",
|
||||
"block.engineersdecor.steel_mesh_fence": "Steel Mesh Fence",
|
||||
"block.engineersdecor.small_lab_furnace": "Small Laboratory Furnace",
|
||||
"block.engineersdecor.small_electrical_furnace": "Small Electrical Furnace",
|
||||
"block.engineersdecor.small_waste_incinerator": "Small Waste Incinerator",
|
||||
|
@ -113,6 +116,7 @@
|
|||
"block.engineersdecor.factory_dropper": "Factory Dropper",
|
||||
"block.engineersdecor.small_mineral_smelter": "Small Mineral Melting Furnace",
|
||||
"block.engineersdecor.small_solar_panel": "Small Solar Panel",
|
||||
"block.engineersdecor.small_tree_cutter": "Small Tree Cutter",
|
||||
"block.engineersdecor.sign_decor": "Sign Plate (Engineer's decor)",
|
||||
"block.engineersdecor.sign_hotwire": "Sign \"Caution Hot Wire\"",
|
||||
"block.engineersdecor.sign_mindstep": "Sign \"Mind The Step\"",
|
||||
|
@ -127,5 +131,6 @@
|
|||
"block.engineersdecor.halfslab_sheetmetal_steel": "Steel Sheet Metal Slice",
|
||||
"block.engineersdecor.halfslab_sheetmetal_copper": "Copper Sheet Metal Slice",
|
||||
"block.engineersdecor.halfslab_sheetmetal_gold": "Gold Sheet Metal Slice",
|
||||
"block.engineersdecor.halfslab_sheetmetal_aluminum": "Aluminum Sheet Metal Slice"
|
||||
"block.engineersdecor.halfslab_sheetmetal_aluminum": "Aluminum Sheet Metal Slice",
|
||||
"block.engineersdecor.testblock": "ED Test Block (do NOT use)"
|
||||
}
|
|
@ -0,0 +1,427 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"wall": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"top": "engineersdecor:block/fence/steel_mesh_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7, 0, 0.5],
|
||||
"to": [9, 16, 2.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7, 0, 13.5],
|
||||
"to": [9, 16, 15.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 20.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [8, 0.125, 2.5],
|
||||
"to": [8.125, 0.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [8, 4.125, 2.5],
|
||||
"to": [8.125, 4.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 5.8125],
|
||||
"to": [8.05, 15.375, 6.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [8, 8.125, 2.5],
|
||||
"to": [8.125, 8.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 16, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 9.8125],
|
||||
"to": [8.05, 15.375, 10.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [8, 12.125, 2.5],
|
||||
"to": [8.125, 12.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [8, 2.125, 2.5],
|
||||
"to": [8.125, 2.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 3.8125],
|
||||
"to": [8.05, 15.375, 4.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [8, 6.125, 2.5],
|
||||
"to": [8.125, 6.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 7.8125],
|
||||
"to": [8.05, 15.375, 8.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [8, 10.125, 2.5],
|
||||
"to": [8.125, 10.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 18, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 11.8125],
|
||||
"to": [8.05, 15.375, 12.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [8, 14.125, 2.5],
|
||||
"to": [8.125, 14.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 22, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.875, 1.125, 2.5],
|
||||
"to": [8, 1.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 2.8125],
|
||||
"to": [8.05, 15.375, 3.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.875, 5.125, 2.5],
|
||||
"to": [8, 5.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 13, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 6.8125],
|
||||
"to": [8.05, 15.375, 7.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.875, 9.125, 2.5],
|
||||
"to": [8, 9.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 17, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 10.8125],
|
||||
"to": [8.05, 15.375, 11.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.875, 13.125, 2.5],
|
||||
"to": [8, 13.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 21, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.875, 15.125, 2.5],
|
||||
"to": [8, 15.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 23, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.875, 3.125, 2.5],
|
||||
"to": [8, 3.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 11, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 4.8125],
|
||||
"to": [8.05, 15.375, 5.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.875, 7.125, 2.5],
|
||||
"to": [8, 7.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 8.8125],
|
||||
"to": [8.05, 15.375, 9.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.875, 11.125, 2.5],
|
||||
"to": [8, 11.5, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 19, 14.5]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall", "cullface": "south"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#top"},
|
||||
"down": {"texture": "#wall", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Full wall",
|
||||
"from": [7.925, 0, 12.8125],
|
||||
"to": [8.05, 15.375, 13.1875],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [7.875, 5.8125, 7.5]},
|
||||
"faces": {
|
||||
"north": {"rotation": 180, "texture": "#wall", "cullface": "down"},
|
||||
"east": {"rotation": 270, "texture": "#wall"},
|
||||
"south": {"texture": "#top"},
|
||||
"west": {"rotation": 90, "texture": "#wall"},
|
||||
"up": {"rotation": 180, "texture": "#wall", "cullface": "north"},
|
||||
"down": {"texture": "#wall", "cullface": "south"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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,22 @@
|
|||
{
|
||||
"textures": {
|
||||
"postside": "engineersdecor:block/fence/steel_mesh_pole_side",
|
||||
"top": "engineersdecor:block/fence/steel_mesh_top",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Center post",
|
||||
"from": [6.5, 0, 6.5],
|
||||
"to": [9.5, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"texture": "#postside"},
|
||||
"east": {"texture": "#postside"},
|
||||
"south": {"texture": "#postside"},
|
||||
"west": {"texture": "#postside"},
|
||||
"up": {"texture": "#top", "cullface": "up"},
|
||||
"down": {"texture": "#top"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,176 @@
|
|||
{
|
||||
"textures": {
|
||||
"wall": "engineersdecor:block/fence/steel_mesh_fence"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [8, 15.625, 0.0625],
|
||||
"to": [8.1875, 15.98, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8.25, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.8125, 13.625, 0.0625],
|
||||
"to": [8, 13.98, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8.0625, 6, 8]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.8125, 9.625, 0.0625],
|
||||
"to": [8, 9.98, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8.0625, 2, 8]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.8125, 5.625, 0.0625],
|
||||
"to": [8, 5.98, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8.0625, -2, 8]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.8125, 1.625, 0.0625],
|
||||
"to": [8, 1.98, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8.0625, -6, 8]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 11.625, 0.0625],
|
||||
"to": [8.1875, 11.98, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8.25, 4, 8]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 7.625, 0.0625],
|
||||
"to": [8.1875, 7.98, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8.25, 0, 8]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 3.625, 0.0625],
|
||||
"to": [8.1875, 3.98, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8.25, -4, 8]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 0, 1.875],
|
||||
"to": [8.125, 15.855, 2.25],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7.75, 8, 9.875]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 0, 0],
|
||||
"to": [8.125, 15.855, 0.1875],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7.75, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 0, 7.8125],
|
||||
"to": [8.125, 15.855, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7.75, 8, 15.8125]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 0, 3.875],
|
||||
"to": [8.125, 15.855, 4.25],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7.75, 8, 11.875]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 0, 5.875],
|
||||
"to": [8.125, 15.855, 6.25],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7.75, 8, 13.875]},
|
||||
"faces": {
|
||||
"north": {"texture": "#wall", "cullface": "north"},
|
||||
"east": {"texture": "#wall"},
|
||||
"south": {"texture": "#wall"},
|
||||
"west": {"texture": "#wall"},
|
||||
"up": {"texture": "#wall"},
|
||||
"down": {"texture": "#wall"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
{
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"o": "engineersdecor:block/iestyle/treated_wood_rough_texture",
|
||||
"particle": "engineersdecor:block/iestyle/treated_wood_rough_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [1.625, 8.625, 13],
|
||||
"to": [3.375, 16, 14.625],
|
||||
"rotation": {"angle": -45, "axis": "x", "origin": [2.5, 11, 13.125]},
|
||||
"faces": {
|
||||
"north": {"uv": [12.625, 0, 14.375, 7.375], "texture": "#o"},
|
||||
"east": {"uv": [1.375, 0, 3, 7.375], "texture": "#o"},
|
||||
"south": {"uv": [1.625, 0, 3.375, 7.375], "texture": "#o"},
|
||||
"west": {"uv": [13, 0, 14.625, 7.375], "texture": "#o"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 8.625, 13],
|
||||
"to": [14.375, 16, 14.625],
|
||||
"rotation": {"angle": -45, "axis": "x", "origin": [13.5, 11, 13.125]},
|
||||
"faces": {
|
||||
"north": {"uv": [1.625, 0, 3.375, 7.375], "texture": "#o"},
|
||||
"east": {"uv": [1.375, 0, 3, 7.375], "texture": "#o"},
|
||||
"south": {"uv": [12.625, 0, 14.375, 7.375], "texture": "#o"},
|
||||
"west": {"uv": [13, 0, 14.625, 7.375], "texture": "#o"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 14.5, 4],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1.5], "texture": "#o"},
|
||||
"east": {"uv": [0, 0, 12, 1.5], "texture": "#o"},
|
||||
"south": {"uv": [0, 0, 16, 1.5], "texture": "#o"},
|
||||
"west": {"uv": [4, 0, 16, 1.5], "texture": "#o"},
|
||||
"up": {"uv": [0, 4, 16, 16], "texture": "#o"},
|
||||
"down": {"uv": [0, 0, 16, 12], "texture": "#o"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1.5, 9, 14.375],
|
||||
"to": [3.5, 15, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [12.5, 1, 14.5, 7], "texture": "#o"},
|
||||
"east": {"uv": [0, 1, 1.625, 7], "texture": "#o"},
|
||||
"south": {"uv": [1.5, 1, 3.5, 7], "texture": "#o"},
|
||||
"west": {"uv": [14.375, 1, 16, 7], "texture": "#o"},
|
||||
"down": {"uv": [1.5, 0, 3.5, 1.625], "texture": "#o"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 14, 14.375],
|
||||
"to": [12.5, 15, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10.25, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.5, 1, 12.5, 2], "texture": "#o"},
|
||||
"east": {"uv": [0, 1, 1.625, 2], "texture": "#o"},
|
||||
"south": {"uv": [3.5, 1, 12.5, 2], "texture": "#o"},
|
||||
"west": {"uv": [14.375, 1, 16, 2], "texture": "#o"},
|
||||
"down": {"uv": [3.5, 0, 12.5, 1.625], "texture": "#o"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1.5, 14, 5.5],
|
||||
"to": [14.5, 15, 14.375],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10.25, 8, 3]},
|
||||
"faces": {
|
||||
"north": {"uv": [1.5, 1, 14.5, 2], "texture": "#o"},
|
||||
"east": {"uv": [1.625, 1, 10.5, 2], "texture": "#o"},
|
||||
"south": {"uv": [1.5, 1, 14.5, 2], "texture": "#o"},
|
||||
"west": {"uv": [5.5, 1, 14.375, 2], "texture": "#o"},
|
||||
"down": {"uv": [1.5, 1.625, 14.5, 10.5], "texture": "#o"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 9, 14.25],
|
||||
"to": [14.5, 15, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [1.5, 1, 3.5, 7], "texture": "#o"},
|
||||
"east": {"uv": [0, 1, 1.75, 7], "texture": "#o"},
|
||||
"south": {"uv": [12.5, 1, 14.5, 7], "texture": "#o"},
|
||||
"west": {"uv": [14.25, 1, 16, 7], "texture": "#o"},
|
||||
"down": {"uv": [12.5, 0, 14.5, 1.75], "texture": "#o"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [-8, 154, 97],
|
||||
"translation": [-1.75, -1.75, -2.25],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [-2, -59, -46],
|
||||
"translation": [0, -0.75, 0],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
},
|
||||
"ground": {
|
||||
"scale": [0.2, 0.2, 0.2]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 225, 0],
|
||||
"translation": [0.75, -4.5, -3],
|
||||
"scale": [0.7, 0.7, 0.7]
|
||||
},
|
||||
"fixed": {
|
||||
"translation": [0, 0, -3.75],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{ "parent": "engineersdecor:block/fence/steel_mesh_fence_inventory" }
|
|
@ -0,0 +1 @@
|
|||
{ "parent": "engineersdecor:block/furniture/treated_wood_windowsill_broad_model" }
|
Binary file not shown.
After Width: | Height: | Size: 388 B |
Binary file not shown.
After Width: | Height: | Size: 342 B |
Binary file not shown.
After Width: | Height: | Size: 373 B |
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "clinker_brick_block_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:clinker_brick_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "clinker_brick_stained_block_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:clinker_brick_stained_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "clinker_brick_stained_stairs_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:clinker_brick_stained_stairs"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "clinker_brick_stairs_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:clinker_brick_stairs"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "clinker_brick_wall_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:clinker_brick_wall"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "concrete_wall_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:concrete_wall"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "iron_inset_light_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:iron_inset_light"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "metal_rung_ladder_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:metal_rung_ladder"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "metal_rung_steps_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:metal_rung_steps"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "panzerglass_block_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:panzerglass_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "passive_fluid_accumulator_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
},
|
||||
{
|
||||
"function": "minecraft:copy_nbt",
|
||||
"source": "block_entity",
|
||||
"ops": []
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:passive_fluid_accumulator"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "rebar_concrete_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:rebar_concrete"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "rebar_concrete_stairs_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:rebar_concrete_stairs"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "rebar_concrete_tile_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:rebar_concrete_tile"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "rebar_concrete_tile_stairs_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:rebar_concrete_tile_stairs"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "rebar_concrete_wall_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:rebar_concrete_wall"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "sign_danger_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:sign_danger"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "sign_decor_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:sign_decor"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "sign_defense_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:sign_defense"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "sign_exit_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:sign_exit"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "sign_factoryarea_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:sign_factoryarea"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "sign_hotwire_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:sign_hotwire"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "slag_brick_block_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:slag_brick_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "slag_brick_stairs_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:slag_brick_stairs"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "slag_brick_wall_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:slag_brick_wall"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "small_solar_panel_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
},
|
||||
{
|
||||
"function": "minecraft:copy_nbt",
|
||||
"source": "block_entity",
|
||||
"ops": []
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:small_solar_panel"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "steel_double_t_support_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:steel_double_t_support"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "steel_floor_grating_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:steel_floor_grating"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "steel_framed_window_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:steel_framed_window"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "steel_mesh_fence_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:steel_mesh_fence"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "steel_table_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:steel_table"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "straight_pipe_valve_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
},
|
||||
{
|
||||
"function": "minecraft:copy_nbt",
|
||||
"source": "block_entity",
|
||||
"ops": []
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:straight_pipe_valve"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "straight_pipe_valve_redstone_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
},
|
||||
{
|
||||
"function": "minecraft:copy_nbt",
|
||||
"source": "block_entity",
|
||||
"ops": []
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:straight_pipe_valve_redstone"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "straight_pipe_valve_redstone_analog_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
},
|
||||
{
|
||||
"function": "minecraft:copy_nbt",
|
||||
"source": "block_entity",
|
||||
"ops": []
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:straight_pipe_valve_redstone_analog"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "thick_steel_pole_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:thick_steel_pole"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "thick_steel_pole_head_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:thick_steel_pole_head"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "thin_steel_pole_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:thin_steel_pole"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "thin_steel_pole_head_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:thin_steel_pole_head"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_broad_windowsill_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_broad_windowsill"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_ladder_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_ladder"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_pole_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_pole"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_pole_head_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_pole_head"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_pole_support_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_pole_support"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_side_table_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_side_table"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_stool_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_stool"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_table_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_table"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_window_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_window"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "treated_wood_windowsill_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:treated_wood_windowsill"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:optional",
|
||||
"result": "engineersdecor:steel_mesh_fence",
|
||||
"required": ["engineersdecor:thin_steel_pole"]
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"PNP",
|
||||
"PNP"
|
||||
],
|
||||
"key": {
|
||||
"P": {
|
||||
"item": "engineersdecor:thin_steel_pole"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:iron_nugget"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:steel_mesh_fence",
|
||||
"count": 6
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:optional",
|
||||
"result": "engineersdecor:treated_wood_broad_windowsill",
|
||||
"required": ["engineersdecor:treated_wood_windowsill"]
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"WW"
|
||||
],
|
||||
"key": {
|
||||
"W": { "item": "engineersdecor:treated_wood_windowsill" }
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:treated_wood_broad_windowsill",
|
||||
"count": 2
|
||||
}
|
||||
}
|
|
@ -13,9 +13,8 @@ tasks["sync-languages"] = function() {
|
|||
liblang.sync_languages();
|
||||
};
|
||||
|
||||
tasks["assets"] = function() {
|
||||
libtask114.stdtasks["assets"]();
|
||||
};
|
||||
tasks["assets"] = libtask114.stdtasks["assets"];
|
||||
tasks["datagen"] = libtask114.stdtasks["datagen"];
|
||||
|
||||
tasks["create-slab-assets"] = function() {
|
||||
const libassets = include("../meta/lib/libassets.js")(constants);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue