Updated to 1.16.2.

This commit is contained in:
stfwi 2020-08-16 16:16:19 +02:00
parent 267233d994
commit 640ede7570
71 changed files with 2369 additions and 794 deletions

View file

@ -1,8 +1,8 @@
# @file gradle.properties
org.gradle.daemon=false
org.gradle.jvmargs=-Xmx8G
version_minecraft=1.16.1
version_forge_minecraft=1.16.1-32.0.106
version_minecraft=1.16.2
version_forge_minecraft=1.16.2-33.0.5
version_fml_mappings=20200514-1.16
version_jei=1.16.1:7.0.0.6
version_engineersdecor=1.1.1-b7
version_jei=1.16.2:7.1.0.11
version_engineersdecor=1.1.2-b2

View file

@ -1,17 +1,11 @@
{
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
"1.16.1": {
"1.1.1-b7": "[F] Fixed AI-open-path bug (issue #116, ty KrAzYGEEK32, desht).\n[F] Conditional recipes extended to additional vanilla ingredients in case of oredict tag issues.\n[M] Lang file update zh_cn (PR#117, Moonisky).",
"1.1.1-b6": "[F] Iron Hatch rendering fixed (issue #113, ty KrAzYGEEK32).\n[F] Hotfix of UI tooltip crash for versions Forge < 32.0.97 mapping issue.",
"1.1.1-b5": "[M] Transmuted the \"Treated Wood Crafting Table\" to a \"Metal Crafting Table\" to de-duplicate the new Immersive Engineering \"Engineer's Crafting Table\".\n[F] Fixed metal pole culling (issue #109, thx Alsett).",
"1.1.1-b4": "[F] Fixed Fluid Barrel tooltip text duplicate.\n[F] Fixed IE hard-dependency opt-out.\n[M] Side Table model and shape refined.\n[A] Dense Grit Dirt added.\n[M] Wood textures slightly darker, obsolete textures removed.",
"1.1.1-b3": "[A] Ceiling Edge Light added.\n[A] Iron Bulb Light added.\n[A] Iron Hatch added.\n[A] Fluid Barrel added.\n[M] Gas Concrete texture made slightly darker.",
"1.1.1-b2": "[M] Nerfed Solar Panel output default config value from 45RF/t to 40RF/t.\n[F] Fixed conditional IE tag dependency of alternative/standalone recipes.",
"1.1.1-b1": "[A] JEI integration ported.\n[M] Logical server side config moved from COMMON to SERVER (world/serverconfig).\n[F] Labeled Crate recipe condition for missing Immersive Engineering fixed.\n[F] Mouse scrolling works for Labeled Crate and TW Crafting Table.",
"1.1.1-a1": "[A] Initial port."
"1.16.2": {
"1.1.2-b2": "[A] Dark Ceramic Root added.",
"1.1.2-b1": "[U] Ported to MC1.16.2."
},
"promos": {
"1.16.1-recommended": "1.1.1-b7",
"1.16.1-latest": "1.1.1-b7"
"1.16.2-recommended": "1.1.2-b2",
"1.16.2-latest": "1.1.2-b2"
}
}

View file

@ -1,7 +1,7 @@
## Engineer's Decor (MC1.15.1)
## Engineer's Decor (MC1.16.2)
Mod sources for Minecraft version 1.15.1.
Mod sources for Minecraft version 1.16.2.
- Description, credits, and features: Please see the readme in the repository root.
@ -11,37 +11,8 @@ Mod sources for Minecraft version 1.15.1.
## Version history
- v1.1.1-b7 [F] Fixed AI-open-path bug (issue #116, ty KrAzYGEEK32, desht).
[F] Conditional recipes extended to additional vanilla ingredients in case of oredict tag issues.
[M] Lang file update zh_cn (PR#117, Moonisky).
- v1.1.2-b2 [A] Dark Ceramic Root added.
- v1.1.1-b6 [F] Iron Hatch rendering fixed (issue #113, ty KrAzYGEEK32).
[F] Hotfix of UI tooltip crash for versions Forge < 32.0.97 mapping issue.
- v1.1.1-b5 [M] Transmuted the "Treated Wood Crafting Table" to a "Metal Crafting Table"
to de-duplicate the new Immersive Engineering "Engineer's Crafting Table".
[F] Fixed metal pole culling (issue #109, thx Alsett).
- v1.1.1-b4 [F] Fixed Fluid Barrel tooltip text duplicate.
[F] Fixed IE hard-dependency opt-out.
[M] Side Table model and shape refined.
[A] Dense Grit Dirt added.
[M] Wood textures slightly darker, obsolete textures removed.
- v1.1.1-b3 [A] Ceiling Edge Light added.
[A] Iron Bulb Light added.
[A] Iron Hatch added.
[A] Fluid Barrel added.
[M] Gas Concrete texture made slightly darker.
- v1.1.1-b2 [M] Nerfed Solar Panel output default config value from 45RF/t to 40RF/t.
[F] Fixed conditional IE tag dependency of alternative/standalone recipes.
- v1.1.1-b1 [A] JEI integration ported.
[M] Logical server side config moved from COMMON to SERVER (world/serverconfig).
[F] Labeled Crate recipe condition for missing Immersive Engineering fixed.
[F] Mouse scrolling works for Labeled Crate and TW Crafting Table.
- v1.1.1-a1 [A] Initial port.
- v1.1.2-b1 [U] Ported to MC1.16.2.
----

View file

@ -114,7 +114,6 @@ public class ModConfig
public final ForgeConfigSpec.BooleanValue without_lab_furnace;
public final ForgeConfigSpec.BooleanValue without_electrical_furnace;
public final ForgeConfigSpec.BooleanValue without_valves;
public final ForgeConfigSpec.BooleanValue without_passive_fluid_accumulator;
public final ForgeConfigSpec.BooleanValue without_waste_incinerator;
public final ForgeConfigSpec.BooleanValue without_factory_dropper;
public final ForgeConfigSpec.BooleanValue without_factory_hopper;
@ -267,10 +266,6 @@ public class ModConfig
.translation(MODID + ".config.without_valves")
.comment("Disable check valve, and redstone controlled valves.")
.define("without_valves", false);
without_passive_fluid_accumulator = builder
.translation(MODID + ".config.without_passive_fluid_accumulator")
.comment("Disable the passive fluid accumulator.")
.define("without_passive_fluid_accumulator", false);
without_waste_incinerator = builder
.translation(MODID + ".config.without_waste_incinerator")
.comment("Disable item disposal/trash/void incinerator device.")
@ -521,8 +516,6 @@ public class ModConfig
// Cache
//--------------------------------------------------------------------------------------------------------------------
@Deprecated
private static String const_exclude_patterns = "dark_shingle_*"; // experimental
private static final CompoundNBT server_config_ = new CompoundNBT();
private static HashSet<String> optouts_ = new HashSet<>();
private static boolean with_experimental_features_ = false;
@ -553,7 +546,6 @@ public class ModConfig
{
String exc = SERVER.pattern_excludes.get().toLowerCase().replaceAll(MODID+":", "").replaceAll("[^*_,a-z0-9]", "");
if(!exc.isEmpty()) LOGGER.info("Config pattern excludes: '" + exc + "'");
if(!const_exclude_patterns.isEmpty()) exc += "," + const_exclude_patterns;
String[] excl = exc.split(",");
excludes_.clear();
for(int i=0; i< excl.length; ++i) {
@ -574,9 +566,9 @@ public class ModConfig
ModContent.getRegisteredBlocks().stream().filter((Block block) -> {
if(block==null) return true;
if(block==ModContent.SIGN_MODLOGO) return true;
if(COMMON==null) return false;
if(SERVER==null) return false;
try {
if(!SERVER.with_experimental.get()) {
if(!with_experimental_features_) {
if(block instanceof Auxiliaries.IExperimentalFeature) return true;
if(ModContent.isExperimentalBlock(block)) return true;
}
@ -610,7 +602,6 @@ public class ModConfig
if(block instanceof EdCraftingTable.CraftingTableBlock) return SERVER.without_crafting_table.get();
if(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock) return SERVER.without_electrical_furnace.get();
if((block instanceof EdFurnace.FurnaceBlock)&&(!(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock))) return SERVER.without_lab_furnace.get();
if(block instanceof EdFluidAccumulator.FluidAccumulatorBlock) return SERVER.without_passive_fluid_accumulator.get();
if(block instanceof EdWasteIncinerator.WasteIncineratorBlock) return SERVER.without_waste_incinerator.get();
if(block instanceof EdDropper.DropperBlock) return SERVER.without_factory_dropper.get();
if(block instanceof EdPlacer.PlacerBlock) return SERVER.without_factory_placer.get();

View file

@ -212,17 +212,17 @@ public class ModContent
// -------------------------------------------------------------------------------------------------------------------
public static final EdRoofBlock DARK_CERAMIC_SHINGLE_ROOF = (EdRoofBlock)(new EdRoofBlock(
DecorBlock.CFG_DEFAULT,
DecorBlock.CFG_CUTOUT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof"));
public static final DecorBlock.Normal DARK_CERAMIC_SHINGLE_ROOF_BLOCK = (DecorBlock.Normal)(new DecorBlock.Normal(
DecorBlock.CFG_DEFAULT,
DecorBlock.CFG_CUTOUT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_block"));
public static final EdSlabBlock DARK_CERAMIC_SHINGLE_ROOF_SLAB = (EdSlabBlock)(new EdSlabBlock(
DecorBlock.CFG_DEFAULT,
DecorBlock.CFG_CUTOUT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_slab"));
@ -231,6 +231,21 @@ public class ModContent
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_slabslice"));
public static final EdRoofBlock DARK_CERAMIC_SHINGLE_ROOF_METALIZED = (EdRoofBlock)(new EdRoofBlock(
DecorBlock.CFG_CUTOUT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_metallized"));
public static final EdRoofBlock DARK_CERAMIC_SHINGLE_ROOF_SKYLIGHT = (EdRoofBlock)(new EdRoofBlock(
DecorBlock.CFG_TRANSLUCENT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE).notSolid()
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_skylight"));
public static final EdRoofBlock DARK_CERAMIC_SHINGLE_ROOF_CHIMNEYTRUNK = (EdRoofBlock)(new EdRoofBlock(
DecorBlock.CFG_CUTOUT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 15f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "dark_shingle_roof_chimneytrunk"));
// -------------------------------------------------------------------------------------------------------------------
public static final EdGroundBlock DENSE_GRIT_SAND = (EdGroundBlock)(new EdGroundBlock(
@ -466,7 +481,6 @@ public class ModContent
// -------------------------------------------------------------------------------------------------------------------
@Deprecated // @todo: rename to "crafting_table" in 1.16.2 or 1.17
public static final EdCraftingTable.CraftingTableBlock CRAFTING_TABLE = (EdCraftingTable.CraftingTableBlock)(new EdCraftingTable.CraftingTableBlock(
DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT,
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 15f).sound(SoundType.METAL).notSolid(),
@ -474,7 +488,7 @@ public class ModContent
Auxiliaries.getPixeledAABB(0,15,0, 16,16,16),
Auxiliaries.getPixeledAABB(1, 0,1, 15,16,15)
}
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_crafting_table"));
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_crafting_table"));
public static final FurnaceBlock SMALL_LAB_FURNACE = (FurnaceBlock)(new FurnaceBlock(
DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT,
@ -654,13 +668,10 @@ public class ModContent
}
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "straight_pipe_valve_redstone_analog"));
public static final EdFluidAccumulator.FluidAccumulatorBlock PASSIVE_FLUID_ACCUMULATOR = (EdFluidAccumulator.FluidAccumulatorBlock)(new EdFluidAccumulator.FluidAccumulatorBlock(
DecorBlock.CFG_CUTOUT|DecorBlock.CFG_FACING_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT,
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
new AxisAlignedBB[]{
Auxiliaries.getPixeledAABB(3,3,0, 13,13, 1),
Auxiliaries.getPixeledAABB(0,0,1, 16,16,16)
}
@Deprecated // remove in 1.17/1.16.3, not needed by anyone
public static final DecorBlock.Normal PASSIVE_FLUID_ACCUMULATOR = (DecorBlock.Normal)(new DecorBlock.Normal(
DecorBlock.CFG_EXPERIMENTAL,
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "passive_fluid_accumulator"));
public static final EdFluidBarrel.FluidBarrelBlock FLUID_BARREL = (EdFluidBarrel.FluidBarrelBlock)(new EdFluidBarrel.FluidBarrelBlock(
@ -693,18 +704,6 @@ public class ModContent
// -------------------------------------------------------------------------------------------------------------------
//todo: REMOVE IN 1.17/1.16.2
@Deprecated
public static final EdWallBlock CONCRETE_WALL = (EdWallBlock)(new EdWallBlock(
DecorBlock.CFG_CUTOUT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE).notSolid()
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "concrete_wall"));
public static final EdSlabSliceBlock HALFSLAB_CONCRETE = (EdSlabSliceBlock)(new EdSlabSliceBlock(
DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HARD_IE_DEPENDENT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(1f, 10f).sound(SoundType.STONE).notSolid()
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_concrete"));
public static final EdSlabSliceBlock HALFSLAB_TREATEDWOOD = (EdSlabSliceBlock)(new EdSlabSliceBlock(
DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HARD_IE_DEPENDENT,
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 4f).sound(SoundType.WOOD).notSolid()
@ -805,17 +804,18 @@ public class ModContent
GAS_CONCRETE_WALL,
HALFSLAB_REBARCONCRETE,
HALFSLAB_GASCONCRETE,
HALFSLAB_CONCRETE,
HALFSLAB_TREATEDWOOD,
HALFSLAB_SHEETMETALIRON,
HALFSLAB_SHEETMETALSTEEL,
HALFSLAB_SHEETMETALCOPPER,
HALFSLAB_SHEETMETALGOLD,
HALFSLAB_SHEETMETALALUMINIUM,
CONCRETE_WALL,
PANZERGLASS_BLOCK,
PANZERGLASS_SLAB,
DARK_CERAMIC_SHINGLE_ROOF,
DARK_CERAMIC_SHINGLE_ROOF_METALIZED,
DARK_CERAMIC_SHINGLE_ROOF_SKYLIGHT,
DARK_CERAMIC_SHINGLE_ROOF_CHIMNEYTRUNK,
DARK_CERAMIC_SHINGLE_ROOF_BLOCK,
DARK_CERAMIC_SHINGLE_ROOF_SLAB,
HALFSLAB_DARK_CERAMIC_SHINGLE_ROOF,
@ -912,11 +912,6 @@ public class ModContent
.build(null)
.setRegistryName(ModEngineersDecor.MODID, "te_pipe_valve");
public static final TileEntityType<?> TET_PASSIVE_FLUID_ACCUMULATOR = TileEntityType.Builder
.create(EdFluidAccumulator.FluidAccumulatorTileEntity::new, PASSIVE_FLUID_ACCUMULATOR)
.build(null)
.setRegistryName(ModEngineersDecor.MODID, "te_passive_fluid_accumulator");
public static final TileEntityType<?> TET_FLUID_BARREL = TileEntityType.Builder
.create(EdFluidBarrel.FluidBarrelTileEntity::new, FLUID_BARREL)
.build(null)
@ -968,7 +963,6 @@ public class ModContent
TET_SMALL_MILKING_MACHINE,
TET_STRAIGHT_PIPE_VALVE,
TET_FLUID_BARREL,
TET_PASSIVE_FLUID_ACCUMULATOR,
TET_SMALL_FLUID_FUNNEL,
TET_TEST_BLOCK
};
@ -1050,8 +1044,9 @@ public class ModContent
return blocks;
}
@SuppressWarnings("deprecation")
public static boolean isExperimentalBlock(Block block)
{ return ArrayUtils.contains(devBlocks, block); }
{ return ArrayUtils.contains(devBlocks, block) || ((block instanceof IDecorBlock) && ((((IDecorBlock)block).config() & DecorBlock.CFG_EXPERIMENTAL))!=0); }
@Nonnull
public static List<Block> getRegisteredBlocks()

View file

@ -46,6 +46,8 @@ public class ModEngineersDecor
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onSendImc);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onRecvImc);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientSetup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ForgeEvents::onConfigLoad);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ForgeEvents::onConfigReload);
ModLoadingContext.get().registerConfig(net.minecraftforge.fml.config.ModConfig.Type.SERVER, ModConfig.SERVER_CONFIG_SPEC);
ModLoadingContext.get().registerConfig(net.minecraftforge.fml.config.ModConfig.Type.CLIENT, ModConfig.CLIENT_CONFIG_SPEC);
MinecraftForge.EVENT_BUS.register(this);
@ -119,11 +121,9 @@ public class ModEngineersDecor
public static void onServerStarting(FMLServerStartingEvent event)
{}
@SubscribeEvent
public static void onConfigLoad(net.minecraftforge.fml.config.ModConfig.Loading configEvent)
{ config_loaded = true; }
@SubscribeEvent
public static void onConfigReload(net.minecraftforge.fml.config.ModConfig.Reloading configEvent)
{
try {

View file

@ -39,6 +39,7 @@ public class DecorBlock
public static final long CFG_STRICT_CONNECTIONS = StandardBlocks.CFG_STRICT_CONNECTIONS;
public static final long CFG_AI_PASSABLE = StandardBlocks.CFG_AI_PASSABLE;
public static final long CFG_HARD_IE_DEPENDENT = 0x8000000000000000L;
@Deprecated public static final long CFG_EXPERIMENTAL = 0x4000000000000000L;
public static class Normal extends StandardBlocks.BaseBlock implements IDecorBlock
{

View file

@ -126,7 +126,7 @@ public class EdCraftingTable
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, final TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, final TileEntity te, boolean explosion)
{
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;

View file

@ -141,7 +141,7 @@ public class EdDropper
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, final TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, final TileEntity te, boolean explosion)
{
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;

View file

@ -1,273 +0,0 @@
/*
* @file EdFluidAccumulator.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2019 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* A device that collects fluids from adjacent tank outputs
* when a pump drains on the (only) output side. Shall support
* high flow rates, and a vavuum suction delay. Shall not drain
* high amounts of fluid from the adjacent tanks when no fluid
* is requested at the output port. Shall drain balanced from
* the adjacent input sides.
*/
package wile.engineersdecor.blocks;
import wile.engineersdecor.ModContent;
import wile.engineersdecor.libmc.detail.Auxiliaries;
import net.minecraft.world.World;
import net.minecraft.world.IBlockReader;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class EdFluidAccumulator
{
//--------------------------------------------------------------------------------------------------------------------
// Block
//--------------------------------------------------------------------------------------------------------------------
public static class FluidAccumulatorBlock extends DecorBlock.Directed implements IDecorBlock
{
public FluidAccumulatorBlock(long config, Block.Properties builder, final AxisAlignedBB[] unrotatedAABB)
{ super(config, builder, unrotatedAABB); }
@Override
public boolean hasTileEntity(BlockState state)
{ return true; }
@Override
@Nullable
public TileEntity createTileEntity(BlockState state, IBlockReader world)
{ return new EdFluidAccumulator.FluidAccumulatorTileEntity(); }
@Override
@SuppressWarnings("deprecation")
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
{
if(world.isRemote) return ActionResultType.SUCCESS;
TileEntity te = world.getTileEntity(pos);
if(!(te instanceof FluidAccumulatorTileEntity)) return ActionResultType.FAIL;
((FluidAccumulatorTileEntity)te).send_device_stats(player);
return ActionResultType.SUCCESS;
}
@Override
@SuppressWarnings("deprecation")
public void neighborChanged(BlockState state, World world, BlockPos pos, Block block, BlockPos fromPos, boolean unused)
{
TileEntity te = world.getTileEntity(pos);
if(te instanceof FluidAccumulatorTileEntity) ((FluidAccumulatorTileEntity)te).block_changed();
}
}
//--------------------------------------------------------------------------------------------------------------------
// Tile entity
//--------------------------------------------------------------------------------------------------------------------
public static class FluidAccumulatorTileEntity extends TileEntity implements ITickableTileEntity, ICapabilityProvider
{
protected static int tick_idle_interval = 20; // ca 1000ms, simulates suction delay and saves CPU when not drained.
protected static int max_flowrate = 1000;
private Direction block_facing_ = Direction.NORTH;
private FluidStack tank_ = FluidStack.EMPTY;
private int last_drain_request_amount_ = 0;
private int vacuum_ = 0;
private int tick_timer_ = 0;
private int round_robin_ = 0;
private boolean initialized_ = false;
private int total_volume_filled_ = 0;
private int total_volume_drained_ = 0;
public void send_device_stats(PlayerEntity player)
{
int t_vol = tank_.getAmount();
Auxiliaries.playerChatMessage(player,"" + t_vol + "mB");
}
public void block_changed()
{ initialized_ = false; tick_timer_ = MathHelper.clamp(tick_timer_ , 0, tick_idle_interval); }
// TileEntity ------------------------------------------------------------------------------
public FluidAccumulatorTileEntity()
{ this(ModContent.TET_PASSIVE_FLUID_ACCUMULATOR); }
public FluidAccumulatorTileEntity(TileEntityType<?> te_type)
{ super(te_type); }
@Override
public void func_230337_a_(BlockState state, CompoundNBT nbt)
{
super.func_230337_a_(state, nbt);
tank_ = (!nbt.contains("tank")) ? (FluidStack.EMPTY) : (FluidStack.loadFluidStackFromNBT(nbt.getCompound("tank")));
}
@Override
public CompoundNBT write(CompoundNBT nbt)
{
super.write(nbt);
if(!tank_.isEmpty()) nbt.put("tank", tank_.writeToNBT(new CompoundNBT()));
return nbt;
}
@Override
public void remove()
{
super.remove();
fill_handler_.invalidate();
fluid_handler_.invalidate();
}
// Input flow handler ---------------------------------------------------------------------
private static class InputFillHandler implements IFluidHandler
{
private final FluidAccumulatorTileEntity parent_;
InputFillHandler(FluidAccumulatorTileEntity parent) { parent_ = parent; }
@Override public int getTanks() { return 0; }
@Override public FluidStack getFluidInTank(int tank) { return FluidStack.EMPTY; }
@Override public int getTankCapacity(int tank) { return max_flowrate; }
@Override public boolean isFluidValid(int tank, @Nonnull FluidStack stack) { return true; }
@Override public int fill(FluidStack resource, FluidAction action) { return 0; }
@Override public FluidStack drain(FluidStack resource, FluidAction action) { return FluidStack.EMPTY; }
@Override public FluidStack drain(int maxDrain, FluidAction action) { return FluidStack.EMPTY; }
}
// Output flow handler ---------------------------------------------------------------------
private static class OutputFlowHandler implements IFluidHandler
{
private final FluidAccumulatorTileEntity te;
OutputFlowHandler(FluidAccumulatorTileEntity parent) { te = parent; }
@Override public int getTanks() { return 1; }
@Override public FluidStack getFluidInTank(int tank) { return te.tank_.copy(); }
@Override public int getTankCapacity(int tank) { return max_flowrate; }
@Override public boolean isFluidValid(int tank, @Nonnull FluidStack stack) { return true; }
@Override public int fill(FluidStack resource, FluidAction action) { return 0; }
@Override public FluidStack drain(FluidStack resource, FluidAction action)
{
if((resource==null) || (te.tank_.isEmpty())) return FluidStack.EMPTY;
return (!(te.tank_.isFluidEqual(resource))) ? (FluidStack.EMPTY) : drain(resource.getAmount(), action);
}
@Override public FluidStack drain(int maxDrain, FluidAction action)
{
if(!te.initialized_) return FluidStack.EMPTY;
if((action==FluidAction.EXECUTE) && (maxDrain > 0)) te.last_drain_request_amount_ = maxDrain;
if(te.tank_.isEmpty()) return FluidStack.EMPTY;
maxDrain = MathHelper.clamp(maxDrain ,0 , te.tank_.getAmount());
FluidStack res = te.tank_.copy();
if(action!=FluidAction.EXECUTE) return res;
res.setAmount(maxDrain);
te.tank_.setAmount(te.tank_.getAmount()-maxDrain);
if(te.tank_.getAmount() <= 0) te.tank_ = FluidStack.EMPTY;
te.total_volume_drained_ += res.getAmount();
return res;
}
}
// ICapabilityProvider --------------------------------------------------------------------
private final LazyOptional<IFluidHandler> fluid_handler_ = LazyOptional.of(() -> new OutputFlowHandler(this));
private final LazyOptional<IFluidHandler> fill_handler_ = LazyOptional.of(() -> new InputFillHandler(this));
@Override
public <T> LazyOptional<T> getCapability(net.minecraftforge.common.capabilities.Capability<T> capability, @Nullable Direction facing)
{
if(capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) {
if(initialized_) {
if(facing == block_facing_) return fluid_handler_.cast();
if(facing != null) return fill_handler_.cast();
}
return LazyOptional.empty();
}
return super.getCapability(capability, facing);
}
// ITickable--------------------------------------------------------------------------------
public void tick()
{
if((world.isRemote) || (--tick_timer_ > 0)) return;
tick_timer_ = tick_idle_interval;
BlockState state = world.getBlockState(pos);
if(!(state.getBlock() instanceof FluidAccumulatorBlock)) return;
if(!initialized_) {
initialized_ = true;
block_facing_ = state.get(FluidAccumulatorBlock.FACING);
}
int n_requested = last_drain_request_amount_;
last_drain_request_amount_ = 0;
if(n_requested > 0) {
vacuum_ += 2;
if(vacuum_ > 5) vacuum_ = 5;
} else {
if((--vacuum_) <= 0) {
vacuum_ = 0;
if(!tank_.isEmpty()) {
return; // nothing to do, noone's draining.
} else {
n_requested = 10; // drip in
}
}
}
boolean has_refilled = false;
n_requested += (vacuum_ * 50);
int tank_buffer_needed = n_requested;
if(tank_buffer_needed > max_flowrate) tank_buffer_needed = max_flowrate;
for(int i=0; i<6; ++i) {
if(++round_robin_ > 5) round_robin_ = 0;
if(n_requested <= 0) break;
if((tank_.getAmount() >= tank_buffer_needed)) break;
final Direction f = Direction.byIndex(round_robin_);
if(f == block_facing_) continue;
final TileEntity te = world.getTileEntity(pos.offset(f));
if((te==null) || (te instanceof FluidAccumulatorTileEntity)) continue;
final IFluidHandler fh = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, f.getOpposite()).orElse(null);
if(fh==null) continue;
if(tank_.isEmpty()) {
FluidStack res = fh.drain(n_requested, FluidAction.EXECUTE).copy();
if(res.isEmpty()) continue;
total_volume_filled_ += res.getAmount();
tank_ = res.copy();
has_refilled = true;
} else {
if((tank_.getAmount() + n_requested) > max_flowrate) n_requested = (max_flowrate - tank_.getAmount());
FluidStack rq = tank_.copy();
rq.setAmount(n_requested);
FluidStack res = fh.drain(rq, FluidAction.SIMULATE);
if(!res.isFluidEqual(rq)) continue;
res = fh.drain(rq, FluidAction.EXECUTE);
if(res.isEmpty()) continue;
tank_.setAmount(tank_.getAmount()+res.getAmount());
total_volume_filled_ += res.getAmount();
has_refilled = true;
if(tank_.getAmount() >= max_flowrate) break;
}
}
if(has_refilled) tick_timer_ = 0;
}
}
}

View file

@ -100,7 +100,7 @@ public class EdFluidBarrel
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, final TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, final TileEntity te, boolean explosion)
{
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;

View file

@ -119,7 +119,7 @@ public class EdFluidFunnel
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, final TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, final TileEntity te, boolean explosion)
{
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;

View file

@ -134,7 +134,7 @@ public class EdFurnace
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, final TileEntity te, boolean explosion) {
public List<ItemStack> dropList(BlockState state, World world, final TileEntity te, boolean explosion) {
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;
if(!(te instanceof FurnaceTileEntity)) return stacks;

View file

@ -119,7 +119,7 @@ public class EdHopper
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, final TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, final TileEntity te, boolean explosion)
{
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;

View file

@ -123,7 +123,7 @@ public class EdLabeledCrate
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, final TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, final TileEntity te, boolean explosion)
{
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;

View file

@ -103,7 +103,7 @@ public class EdMineralSmelter
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, TileEntity te, boolean explosion)
{
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;

View file

@ -114,7 +114,7 @@ public class EdPlacer
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, final TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, final TileEntity te, boolean explosion)
{
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;

View file

@ -41,11 +41,16 @@ public class EdRoofBlock extends StandardBlocks.HorizontalWaterLoggable implemen
public EdRoofBlock(long config, Block.Properties properties)
{
super(config,
properties.func_235838_a_((state)->1), // .notSolid() shade rendering again messed up
properties,//.func_235838_a_((state)->1).notSolid(), //shade rendering again messed up
Auxiliaries.getPixeledAABB(0, 0,0,16, 8, 16));
setDefaultState(stateContainer.getBaseState().with(HORIZONTAL_FACING, Direction.NORTH).with(SHAPE, StairsShape.STRAIGHT).with(WATERLOGGED, false));
}
@Override
@SuppressWarnings("deprecation")
public boolean isTransparent(BlockState state)
{ return true; }
@Override
public VoxelShape getShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext context)
{ return SHAPE_CACHE[state.get(HALF).ordinal()][state.get(HORIZONTAL_FACING).getIndex()][state.get(SHAPE).ordinal()]; }

View file

@ -77,7 +77,7 @@ public class EdTestBlock
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, TileEntity te, boolean explosion)
{
ArrayList<ItemStack> list = new ArrayList<ItemStack>();
list.add(new ItemStack(this, 1));

View file

@ -119,7 +119,7 @@ public class EdWasteIncinerator
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, final TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, final TileEntity te, boolean explosion)
{
final List<ItemStack> stacks = new ArrayList<ItemStack>();
if(world.isRemote) return stacks;

View file

@ -162,7 +162,7 @@ public class SlabSliceBlock extends StandardBlocks.WaterLoggable implements Stan
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, TileEntity te, boolean explosion)
{ return new ArrayList<ItemStack>(Collections.singletonList(new ItemStack(this.asItem(), num_slabs_contained_in_parts_[state.get(PARTS) & 0xf]))); }
@Override

View file

@ -77,7 +77,7 @@ public class StandardBlocks
default boolean hasDynamicDropList()
{ return false; }
default List<ItemStack> dropList(BlockState state, World world, BlockPos pos, @Nullable TileEntity te, boolean explosion)
default List<ItemStack> dropList(BlockState state, World world, @Nullable TileEntity te, boolean explosion)
{ return Collections.singletonList((!world.isRemote()) ? (new ItemStack(state.getBlock().asItem())) : (ItemStack.EMPTY)); }
enum RenderTypeHint { SOLID,CUTOUT,CUTOUT_MIPPED,TRANSLUCENT,TRANSLUCENT_NO_CRUMBLING }
@ -193,13 +193,12 @@ public class StandardBlocks
@SuppressWarnings("deprecation")
public List<ItemStack> getDrops(BlockState state, LootContext.Builder builder)
{
final BlockPos pos = builder.get(LootParameters.POSITION);
final ServerWorld world = builder.getWorld();
final Float explosion_radius = builder.get(LootParameters.EXPLOSION_RADIUS);
final TileEntity te = builder.get(LootParameters.BLOCK_ENTITY);
if((!hasDynamicDropList()) || (pos==null) || (world==null)) return super.getDrops(state, builder);
if((!hasDynamicDropList()) || (world==null)) return super.getDrops(state, builder);
boolean is_explosion = (explosion_radius!=null) && (explosion_radius > 0);
return dropList(state, world, pos, te, is_explosion);
return dropList(state, world, te, is_explosion);
}
@Override

View file

@ -135,7 +135,7 @@ public class StandardFenceBlock extends WallBlock implements StandardBlocks.ISta
if((block instanceof FenceGateBlock) || (block instanceof StandardFenceBlock) || (block instanceof VariantWallBlock)) return true;
final BlockState oppositeState = world.getBlockState(facingPos.offset(side, 2));
if(!(oppositeState.getBlock() instanceof StandardFenceBlock)) return false;
return facingState.isNormalCube(world, facingPos) && hasSolidSide(facingState, world, facingPos, side);
return facingState.isNormalCube(world, facingPos) && hasEnoughSolidSide(world, facingPos, side);
}
protected WallHeight selectWallHeight(IWorldReader world, BlockPos pos, Direction direction)

View file

@ -151,7 +151,7 @@ public class VariantSlabBlock extends StandardBlocks.WaterLoggable implements St
{ return true; }
@Override
public List<ItemStack> dropList(BlockState state, World world, BlockPos pos, TileEntity te, boolean explosion)
public List<ItemStack> dropList(BlockState state, World world, TileEntity te, boolean explosion)
{ return new ArrayList<ItemStack>(Collections.singletonList(new ItemStack(this.asItem(), num_slabs_contained_in_parts_[state.get(TYPE).ordinal() & 0x3]))); }
@Override

View file

@ -138,7 +138,7 @@ public class VariantWallBlock extends WallBlock implements StandardBlocks.IStand
if((block instanceof FenceGateBlock) || (block instanceof WallBlock)) return true;
final BlockState oppositeState = world.getBlockState(facingPos.offset(side, 2));
if(!(oppositeState.getBlock() instanceof VariantWallBlock)) return false;
return facingState.isNormalCube(world, facingPos) && hasSolidSide(facingState, world, facingPos, side);
return facingState.isNormalCube(world, facingPos) && Block.hasEnoughSolidSide(world, facingPos, side);
}
protected WallHeight selectWallHeight(IWorldReader world, BlockPos pos, Direction direction)

View file

@ -108,8 +108,8 @@ public class OptionalRecipeCondition implements ICondition
}
if(!all_required_tags.isEmpty()) {
for(ResourceLocation rl:all_required_tags) {
if(!ItemTags.getCollection().getTagMap().containsKey(rl)) return false;
if(ItemTags.getCollection().getTagMap().get(rl).func_230236_b_().isEmpty()) return false;
if(!ItemTags.getCollection().func_241833_a()/*getTagMap()*/.containsKey(rl)) return false;
if(ItemTags.getCollection().func_241833_a()/*getTagMap()*/.get(rl).func_230236_b_().isEmpty()) return false;
}
}
if(!any_missing.isEmpty()) {
@ -120,8 +120,8 @@ public class OptionalRecipeCondition implements ICondition
}
if(!any_missing_tags.isEmpty()) {
for(ResourceLocation rl:any_missing_tags) {
if(!ItemTags.getCollection().getTagMap().containsKey(rl)) return true;
if(ItemTags.getCollection().getTagMap().get(rl).func_230236_b_().isEmpty()) return true;
if(!ItemTags.getCollection().func_241833_a()/*getTagMap()*/.containsKey(rl)) return true;
if(ItemTags.getCollection().func_241833_a()/*getTagMap()*/.get(rl).func_230236_b_().isEmpty()) return true;
}
return false;
}

View file

@ -92,7 +92,7 @@ public class TooltipDisplay
String text = tip.text.getString();
if(!text.isEmpty() && (!text.startsWith("block."))) {
try {
gui.renderToolTip(mx, Collections.singletonList(tip.text), x, y, Minecraft.getInstance().fontRenderer);
gui.func_243308_b(mx, Collections.singletonList(tip.text), x, y);
} catch(Exception ex) {
had_render_exception = true;
Auxiliaries.logError("Tooltip rendering disabled due to exception: '" + ex.getMessage() + "'");

View file

@ -1,8 +1,9 @@
# @file mods.toml
# @spec TOML v0.5.0 (https://github.com/toml-lang/toml)
modLoader="javafml"
loaderVersion="[28,)"
loaderVersion="[33,)"
issueTrackerURL="https://github.com/stfwi/engineers-decor/issues/"
license="MIT"
[[mods]]
modId="engineersdecor"
@ -10,7 +11,7 @@ version="${file.jarVersion}"
displayName="Engineer's Decor"
description="Adds cosmetic blocks for the engineer's workshop, factory and home."
authors="wilechaote"
credits="BluSunrize, Damien Hazard, malte0811, et al., the Forge Smiths, the Modders of the World."
credits="BluSunrize, Damien Hazard, malte0811, et al., the Forge Smiths."
updateJSONURL="https://raw.githubusercontent.com/stfwi/engineers-decor/1.16/meta/update.json"
displayURL="https://github.com/stfwi/engineers-decor/"
logoFile="logo.png"
@ -18,13 +19,13 @@ logoFile="logo.png"
[[dependencies.engineersdecor]]
modId="forge"
mandatory=true
versionRange="[32.0.70,)"
versionRange="[33.0.5,)"
ordering="NONE"
side="BOTH"
[[dependencies.engineersdecor]]
modId="minecraft"
mandatory=true
versionRange="[1.16.1]"
versionRange="[1.16.2]"
ordering="NONE"
side="BOTH"

View file

@ -1,13 +0,0 @@
{
"multipart": [
{ "when": { "up": "true" }, "apply": { "model": "engineersdecor:block/concrete/ie_concrete_wall_post" } },
{ "when": { "north": "low" }, "apply": { "model": "engineersdecor:block/concrete/ie_concrete_wall_side", "uvlock": true } },
{ "when": { "east": "low" }, "apply": { "model": "engineersdecor:block/concrete/ie_concrete_wall_side", "y": 90, "uvlock": true } },
{ "when": { "south": "low" }, "apply": { "model": "engineersdecor:block/concrete/ie_concrete_wall_side", "y": 180, "uvlock": true } },
{ "when": { "west": "low" }, "apply": { "model": "engineersdecor:block/concrete/ie_concrete_wall_side", "y": 270, "uvlock": true } },
{ "when": { "north": "tall" }, "apply": { "model": "engineersdecor:block/concrete/ie_concrete_wall_side", "uvlock": true } },
{ "when": { "east": "tall" }, "apply": { "model": "engineersdecor:block/concrete/ie_concrete_wall_side", "y": 90, "uvlock": true } },
{ "when": { "south": "tall" }, "apply": { "model": "engineersdecor:block/concrete/ie_concrete_wall_side", "y": 180, "uvlock": true } },
{ "when": { "west": "tall" }, "apply": { "model": "engineersdecor:block/concrete/ie_concrete_wall_side", "y": 270, "uvlock": true } }
]
}

View file

@ -0,0 +1,44 @@
{
"variants": {
"facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_chimneytrunk_model" },
"facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_chimneytrunk_model", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_chimneytrunk_model", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_chimneytrunk_model", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer" },
"facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer" },
"facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 180, "uvlock": true },
"facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner" },
"facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner" },
"facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 180, "uvlock": true },
"facing=east,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_chimneytrunk_model", "x": 180, "uvlock": true },
"facing=west,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_chimneytrunk_model", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_chimneytrunk_model", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_chimneytrunk_model", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "uvlock": true },
"facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "uvlock": true },
"facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "uvlock": true },
"facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "uvlock": true },
"facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 270, "uvlock": true }
}
}

View file

@ -0,0 +1,44 @@
{
"variants": {
"facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model" },
"facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer" },
"facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer" },
"facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "y": 180, "uvlock": true },
"facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner" },
"facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner" },
"facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "y": 180, "uvlock": true },
"facing=east,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model", "x": 180, "uvlock": true },
"facing=west,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "x": 180, "uvlock": true },
"facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "x": 180, "uvlock": true },
"facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_outer", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "x": 180, "uvlock": true },
"facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "x": 180, "uvlock": true },
"facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_metallized_model_inner", "x": 180, "y": 270, "uvlock": true }
}
}

View file

@ -0,0 +1,44 @@
{
"variants": {
"facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_skylight_model" },
"facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_skylight_model", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_skylight_model", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_skylight_model", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer" },
"facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer" },
"facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "y": 180, "uvlock": true },
"facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner" },
"facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner" },
"facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "y": 180, "uvlock": true },
"facing=east,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_skylight_model", "x": 180, "uvlock": true },
"facing=west,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_skylight_model", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_skylight_model", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=straight": { "model": "engineersdecor:block/roof/dark_shingle_roof_skylight_model", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "uvlock": true },
"facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "uvlock": true },
"facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_outer", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "uvlock": true },
"facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "uvlock": true },
"facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/roof/dark_shingle_roof_model_inner", "x": 180, "y": 270, "uvlock": true }
}
}

View file

@ -1,10 +1 @@
{
"variants": {
"facing=north": { "model": "engineersdecor:block/pipe/passive_fluid_accumulator_model" },
"facing=south": { "model": "engineersdecor:block/pipe/passive_fluid_accumulator_model", "y":180 },
"facing=west": { "model": "engineersdecor:block/pipe/passive_fluid_accumulator_model", "y":270 },
"facing=east": { "model": "engineersdecor:block/pipe/passive_fluid_accumulator_model", "y":90 },
"facing=up": { "model": "engineersdecor:block/pipe/passive_fluid_accumulator_model", "x":270 },
"facing=down": { "model": "engineersdecor:block/pipe/passive_fluid_accumulator_model", "x":90 }
}
}
{ "variants": { "": { "model": "minecraft:block/barrier" } } }

View file

@ -65,12 +65,13 @@
"block.engineersdecor.clinker_brick_stairs.help": "§6Looks slightly darker and more color intensive than the vanilla brick block.",
"block.engineersdecor.clinker_brick_wall": "Clinker Brick Wall",
"block.engineersdecor.clinker_brick_wall.help": "§6Simplistic Clinker Brick Wall.",
"block.engineersdecor.concrete_wall": "Concrete Wall",
"block.engineersdecor.concrete_wall.help": "§6Wall made of solid concrete.",
"block.engineersdecor.dark_shingle_roof": "Dark Ceramic Shingle Roof",
"block.engineersdecor.dark_shingle_roof_block": "Dark Ceramic Shingle Roof Block",
"block.engineersdecor.dark_shingle_roof_slab": "Dark Ceramic Shingle Roof Slab",
"block.engineersdecor.dark_shingle_roof_slabslice": "Dark Ceramic Shingle Roof Slab Slice",
"block.engineersdecor.dark_shingle_roof": "Dark Shingle Roof",
"block.engineersdecor.dark_shingle_roof_block": "Dark Shingle Roof Block",
"block.engineersdecor.dark_shingle_roof_chimneytrunk": "Dark Shingle Roof Chimney Trunk",
"block.engineersdecor.dark_shingle_roof_metallized": "Dark Shingle Roof Show Guard",
"block.engineersdecor.dark_shingle_roof_skylight": "Dark Shingle Roof Skylight",
"block.engineersdecor.dark_shingle_roof_slab": "Dark Shingle Roof Slab",
"block.engineersdecor.dark_shingle_roof_slabslice": "Dark Shingle Roof Slab Slice",
"block.engineersdecor.dense_grit_dirt_block": "Dense Grit Dirt",
"block.engineersdecor.dense_grit_dirt_block.help": "§6A compressed dirt-like soil, plain texture with some cracks.§r Known from often used paths or trampled yard grounds. Dirt and coarse dirt can be mixed in for accentuation. Position dependent texture variations. Prevents grass spreading.",
"block.engineersdecor.dense_grit_sand_block": "Dense Grit Sand",
@ -113,8 +114,6 @@
"block.engineersdecor.gas_concrete_stairs.help": "§6Low hardness concrete stairs.§r Easy to break decorative concrete.",
"block.engineersdecor.gas_concrete_wall": "Gas Concrete Wall",
"block.engineersdecor.gas_concrete_wall.help": "§6Low hardness concrete wall.§r Easy to break decorative concrete.",
"block.engineersdecor.halfslab_concrete": "Concrete Slice",
"block.engineersdecor.halfslab_concrete.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_gas_concrete": "Gas Concrete Slice",
"block.engineersdecor.halfslab_gas_concrete.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_rebar_concrete": "Rebar Concrete Slice",
@ -144,6 +143,16 @@
"block.engineersdecor.labeled_crate": "Labeled Crate",
"block.engineersdecor.labeled_crate.help": "§6A storage crate with 9x6 slots and a built-in item frame at the front.§r\nPlace an item into the frame slot at the bottom right of the GUI to define the shown label.",
"block.engineersdecor.labeled_crate.tip": "§6Label:§r %1$s\n%2$s slots used / %3$s free\n%4$s total items stored",
"block.engineersdecor.metal_crafting_table": "Metal Crafting Table",
"block.engineersdecor.metal_crafting_table.help": "§6Decorative crafting table with advanced features.§r Eighteen storage slots, keeps inventory, no vanilla recipe book.\nClick up/down arrow buttons for crafting history selection, output slot for item placement, X-button to clear crafting grid and history. Shift-click stack: player-to-storage stack transfer when crafting grid empty, otherwise player-to-grid stack transfer. Automatically distributes the clicked stack. Shift-Ctrl-click stack: Move all same stacks. Mouse wheel over crafting slot: Increase/decrease crafting grid items.",
"block.engineersdecor.metal_crafting_table.tooltips.clear": "Clear grid to player inventory",
"block.engineersdecor.metal_crafting_table.tooltips.fromplayer": "Move items from player inventory",
"block.engineersdecor.metal_crafting_table.tooltips.fromstorage": "Move items from storage",
"block.engineersdecor.metal_crafting_table.tooltips.next": "Next crafting history recipe",
"block.engineersdecor.metal_crafting_table.tooltips.nextcollisionrecipe": "Show next colliding recipe",
"block.engineersdecor.metal_crafting_table.tooltips.prev": "Previous crafting history recipe",
"block.engineersdecor.metal_crafting_table.tooltips.toplayer": "Clear grid to player inventory",
"block.engineersdecor.metal_crafting_table.tooltips.tostorage": "Clear grid to storage",
"block.engineersdecor.metal_rung_ladder": "Metal Rung Ladder",
"block.engineersdecor.metal_rung_ladder.help": "§6Typical industrial wall ladder, consisting of horizontal metal rod rungs.§r Look up/down to climb faster.",
"block.engineersdecor.metal_rung_steps": "Staggered Metal Steps",
@ -152,8 +161,6 @@
"block.engineersdecor.panzerglass_block.help": "§6Reinforced glass block.§r Expensive, explosion-proof. Dark gray tint, faint structural lines visible, multi texture for seemless look.",
"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.passive_fluid_accumulator": "Passive Fluid Accumulator",
"block.engineersdecor.passive_fluid_accumulator.help": "§6Vacuum suction based fluid collector.§r Has one output, all other sides are input. Drains fluids from adjacent tanks when being drained from the output port by a pump.",
"block.engineersdecor.rebar_concrete": "Rebar Concrete Block",
"block.engineersdecor.rebar_concrete.help": "§6Steel reinforced concrete block.§r Expensive but Creeper-proof like obsidian.",
"block.engineersdecor.rebar_concrete_slab": "Rebar Concrete Slab",
@ -245,16 +252,6 @@
"block.engineersdecor.thin_steel_pole_head.help": "§6Steel part fitting as foot or head of the thin steel pole (4x4x16).",
"block.engineersdecor.treated_wood_broad_windowsill": "Broad Treated Wood Window Sill",
"block.engineersdecor.treated_wood_broad_windowsill.help": "§6Simple window decoration.",
"block.engineersdecor.treated_wood_crafting_table": "Metal Crafting Table",
"block.engineersdecor.treated_wood_crafting_table.help": "§6Decorative crafting table with advanced features.§r Eighteen storage slots, keeps inventory, no vanilla recipe book.\nClick up/down arrow buttons for crafting history selection, output slot for item placement, X-button to clear crafting grid and history. Shift-click stack: player-to-storage stack transfer when crafting grid empty, otherwise player-to-grid stack transfer. Automatically distributes the clicked stack. Shift-Ctrl-click stack: Move all same stacks. Mouse wheel over crafting slot: Increase/decrease crafting grid items.",
"block.engineersdecor.treated_wood_crafting_table.tooltips.clear": "Clear grid to player inventory",
"block.engineersdecor.treated_wood_crafting_table.tooltips.fromplayer": "Move items from player inventory",
"block.engineersdecor.treated_wood_crafting_table.tooltips.fromstorage": "Move items from storage",
"block.engineersdecor.treated_wood_crafting_table.tooltips.next": "Next crafting history recipe",
"block.engineersdecor.treated_wood_crafting_table.tooltips.nextcollisionrecipe": "Show next colliding recipe",
"block.engineersdecor.treated_wood_crafting_table.tooltips.prev": "Previous crafting history recipe",
"block.engineersdecor.treated_wood_crafting_table.tooltips.toplayer": "Clear grid to player inventory",
"block.engineersdecor.treated_wood_crafting_table.tooltips.tostorage": "Clear grid to storage",
"block.engineersdecor.treated_wood_floor": "Treated Wood Floor",
"block.engineersdecor.treated_wood_floor.help": "§6Decorative floor tiles with texture variations.§r",
"block.engineersdecor.treated_wood_ladder": "Treated Wood Ladder",

View file

@ -65,10 +65,11 @@
"block.engineersdecor.clinker_brick_stairs.help": "§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок",
"block.engineersdecor.clinker_brick_wall": "Клинкерная кирпичная стена",
"block.engineersdecor.clinker_brick_wall.help": "§6Обыкновенная клинкерная кирпичная стена.",
"block.engineersdecor.concrete_wall": "Бетонная стена",
"block.engineersdecor.concrete_wall.help": "§6Стена из твёрдого бетона.",
"block.engineersdecor.dark_shingle_roof": "Dark Ceramic Shingle Roof",
"block.engineersdecor.dark_shingle_roof_block": "Dark Ceramic Shingle Roof Block",
"block.engineersdecor.dark_shingle_roof_chimneytrunk": "Dark Shingle Roof Chimney Trunk",
"block.engineersdecor.dark_shingle_roof_metallized": "Dark Shingle Roof Show Guard",
"block.engineersdecor.dark_shingle_roof_skylight": "Dark Shingle Roof Skylight",
"block.engineersdecor.dark_shingle_roof_slab": "Dark Ceramic Shingle Roof Slab",
"block.engineersdecor.dark_shingle_roof_slabslice": "Dark Ceramic Shingle Roof Slab Slice",
"block.engineersdecor.dense_grit_dirt_block": "Dense Grit Dirt",
@ -113,8 +114,6 @@
"block.engineersdecor.gas_concrete_stairs.help": "§6Бетонные ступеньки низкой твёрдости.§r Легко ломающийся декоративный бетон.",
"block.engineersdecor.gas_concrete_wall": "Газобетонная стена",
"block.engineersdecor.gas_concrete_wall.help": "§6Бетонная стена низкой твердости.§r Легко ломающийся декоративный бетон.",
"block.engineersdecor.halfslab_concrete": "Бетонный срез",
"block.engineersdecor.halfslab_concrete.help": "§6Вертикально наращиваемая часть.§rПравый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей.",
"block.engineersdecor.halfslab_gas_concrete": "Газобетонный срез",
"block.engineersdecor.halfslab_gas_concrete.help": "§6Вертикально наращиваемая часть.§r Правый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей.",
"block.engineersdecor.halfslab_rebar_concrete": "Арматура для бетона",
@ -144,6 +143,16 @@
"block.engineersdecor.labeled_crate": "Labeled Crate",
"block.engineersdecor.labeled_crate.help": "§6A storage crate with 9x6 slots and a built-in item frame at the front.§r\nPlace an item into the frame slot at the bottom right of the GUI to define the shown label.",
"block.engineersdecor.labeled_crate.tip": "§6Label:§r %1$s\n%2$s slots used / %3$s free\n%4$s total items stored",
"block.engineersdecor.metal_crafting_table": "Верстак из обработанного дерева",
"block.engineersdecor.metal_crafting_table.help": "§6Прочный и устойчивый к погодным условиям. Восемь слотов для хранения. Хранит инвентарь. Нажимайте кнопки со стрелками вверх/вниз для выбора из истории, выходной слот для размещения предметов, X-кнопка очистить сетку крафта и историю. Shift-клик по стеку: передача стека от игрока в хранилище при создании если сетка пуста, в противном случае перенос от игрока в сетку. Автоматически распределяет кликаемый стек. Shift-Ctrl-клик по стаку: перемещает одинаковые стаки. Колёсико мыши: добавляет/отнимает предметы в сетке.",
"block.engineersdecor.metal_crafting_table.tooltips.clear": "Clear grid to player inventory",
"block.engineersdecor.metal_crafting_table.tooltips.fromplayer": "Move items from player inventory",
"block.engineersdecor.metal_crafting_table.tooltips.fromstorage": "Move items from storage",
"block.engineersdecor.metal_crafting_table.tooltips.next": "Next crafting history recipe",
"block.engineersdecor.metal_crafting_table.tooltips.nextcollisionrecipe": "Show next colliding recipe",
"block.engineersdecor.metal_crafting_table.tooltips.prev": "Previous crafting history recipe",
"block.engineersdecor.metal_crafting_table.tooltips.toplayer": "Clear grid to player inventory",
"block.engineersdecor.metal_crafting_table.tooltips.tostorage": "Clear grid to storage",
"block.engineersdecor.metal_rung_ladder": "Металлическая лестница",
"block.engineersdecor.metal_rung_ladder.help": "§6Типичная промышленная настенная лестница, состоящая из горизонтальных металлических стержней.§r Смотри вверх/вниз, чтобы подняться быстрее.",
"block.engineersdecor.metal_rung_steps": "Настенные металлические ступеньки",
@ -152,8 +161,6 @@
"block.engineersdecor.panzerglass_block.help": "§6Усиленный стеклоблок.§r Дорогой, взрывоустойчивый. Имеет тёмно-серый оттенок, слегка видны структурные линии, мультитекстура для бесшовного отображения.",
"block.engineersdecor.panzerglass_slab": "Плита из бронированного стекла",
"block.engineersdecor.panzerglass_slab.help": "§6Усиленная стеклянная плита.§r Дорогая, взрывоустойчивая. Имеет тёмно-серый оттенок, слегка видны структурные линии.",
"block.engineersdecor.passive_fluid_accumulator": "Пассивный жидкостный накопитель",
"block.engineersdecor.passive_fluid_accumulator.help": "§6Вакуумный всасывающий жидкостный коллектор.§r Имеет один выход, все остальные стороны входные. Сливает жидкости из соседних резервуаров при выкачивании жидкости из выходного порта.",
"block.engineersdecor.rebar_concrete": "Железобетон",
"block.engineersdecor.rebar_concrete.help": "§6Стальной железобетонный блок.§r Дорогой, но взрывоустойчивый, как обсидиан.",
"block.engineersdecor.rebar_concrete_slab": "Железобетонная плита",
@ -245,16 +252,6 @@
"block.engineersdecor.thin_steel_pole_head.help": "§6Стальная часть, подходящая как основание или наконечник тонкого стального столба (4x4x16).",
"block.engineersdecor.treated_wood_broad_windowsill": "Широкий обработанный деревянный подоконник",
"block.engineersdecor.treated_wood_broad_windowsill.help": "§6Простое оформление окон.",
"block.engineersdecor.treated_wood_crafting_table": "Верстак из обработанного дерева",
"block.engineersdecor.treated_wood_crafting_table.help": "§6Прочный и устойчивый к погодным условиям. Восемь слотов для хранения. Хранит инвентарь. Нажимайте кнопки со стрелками вверх/вниз для выбора из истории, выходной слот для размещения предметов, X-кнопка очистить сетку крафта и историю. Shift-клик по стеку: передача стека от игрока в хранилище при создании если сетка пуста, в противном случае перенос от игрока в сетку. Автоматически распределяет кликаемый стек. Shift-Ctrl-клик по стаку: перемещает одинаковые стаки. Колёсико мыши: добавляет/отнимает предметы в сетке.",
"block.engineersdecor.treated_wood_crafting_table.tooltips.clear": "Clear grid to player inventory",
"block.engineersdecor.treated_wood_crafting_table.tooltips.fromplayer": "Move items from player inventory",
"block.engineersdecor.treated_wood_crafting_table.tooltips.fromstorage": "Move items from storage",
"block.engineersdecor.treated_wood_crafting_table.tooltips.next": "Next crafting history recipe",
"block.engineersdecor.treated_wood_crafting_table.tooltips.nextcollisionrecipe": "Show next colliding recipe",
"block.engineersdecor.treated_wood_crafting_table.tooltips.prev": "Previous crafting history recipe",
"block.engineersdecor.treated_wood_crafting_table.tooltips.toplayer": "Clear grid to player inventory",
"block.engineersdecor.treated_wood_crafting_table.tooltips.tostorage": "Clear grid to storage",
"block.engineersdecor.treated_wood_floor": "Пол из обработанного дерева",
"block.engineersdecor.treated_wood_floor.help": "§6Декоративная напольная плитка с текстурными вариациями.§r",
"block.engineersdecor.treated_wood_ladder": "Лестница из обработанного дерева",

View file

@ -65,10 +65,11 @@
"block.engineersdecor.clinker_brick_stairs.help": "§6比原版砖看起来颜色更深色度也更高。",
"block.engineersdecor.clinker_brick_wall": "过烧砖墙",
"block.engineersdecor.clinker_brick_wall.help": "§6简单的过烧砖墙。",
"block.engineersdecor.concrete_wall": "混凝土墙",
"block.engineersdecor.concrete_wall.help": "§6用坚固混凝土制造的墙。",
"block.engineersdecor.dark_shingle_roof": "Dark Ceramic Shingle Roof",
"block.engineersdecor.dark_shingle_roof_block": "Dark Ceramic Shingle Roof Block",
"block.engineersdecor.dark_shingle_roof_chimneytrunk": "Dark Shingle Roof Chimney Trunk",
"block.engineersdecor.dark_shingle_roof_metallized": "Dark Shingle Roof Show Guard",
"block.engineersdecor.dark_shingle_roof_skylight": "Dark Shingle Roof Skylight",
"block.engineersdecor.dark_shingle_roof_slab": "Dark Ceramic Shingle Roof Slab",
"block.engineersdecor.dark_shingle_roof_slabslice": "Dark Ceramic Shingle Roof Slab Slice",
"block.engineersdecor.dense_grit_dirt_block": "压制砾土",
@ -113,8 +114,6 @@
"block.engineersdecor.gas_concrete_stairs.help": "§6低硬度的混凝土楼梯。§r容易破坏的装饰性混凝土。",
"block.engineersdecor.gas_concrete_wall": "加气混凝土墙",
"block.engineersdecor.gas_concrete_wall.help": "§6低硬度的混凝土墙。§r容易破坏的装饰性混凝土。",
"block.engineersdecor.halfslab_concrete": "混凝土切片",
"block.engineersdecor.halfslab_concrete.help": "§6可垂直堆叠的切片。§r手持切片右/左击切片堆叠的顶端或底部来添加/移除切片。",
"block.engineersdecor.halfslab_gas_concrete": "加气混凝土切片",
"block.engineersdecor.halfslab_gas_concrete.help": "§6可垂直堆叠的切片。§r手持切片右/左击切片堆叠的顶端或底部来添加/移除切片。",
"block.engineersdecor.halfslab_rebar_concrete": "强化混凝土切片",
@ -144,6 +143,16 @@
"block.engineersdecor.labeled_crate": "贴标签的板条箱",
"block.engineersdecor.labeled_crate.help": "§6具备 9x6 大小格子的木箱前面自带一个物品展示框。§r\n将物品放置在 GUI 右下角的框架槽内,可以定义所显示的标签。",
"block.engineersdecor.labeled_crate.tip": "§6标签§r %1$s\n已使用 %2$s / 剩余 %3$s \n共存储 %4$s 件物品",
"block.engineersdecor.metal_crafting_table": "防腐木合成台",
"block.engineersdecor.metal_crafting_table.help": "§6坚固防风防雨。§r内含八个存储格破坏后保留内容物没有原版合成书。\n 单击上/下箭头按钮可选择合成历史单击输出格自动放置物品单击X按钮 清除合成栏和历史。Shift单击一叠物品合成格空时转移到存储格 非空时到合成栏。会自动分配转移的物品。",
"block.engineersdecor.metal_crafting_table.tooltips.clear": "Clear grid to player inventory",
"block.engineersdecor.metal_crafting_table.tooltips.fromplayer": "Move items from player inventory",
"block.engineersdecor.metal_crafting_table.tooltips.fromstorage": "Move items from storage",
"block.engineersdecor.metal_crafting_table.tooltips.next": "Next crafting history recipe",
"block.engineersdecor.metal_crafting_table.tooltips.nextcollisionrecipe": "Show next colliding recipe",
"block.engineersdecor.metal_crafting_table.tooltips.prev": "Previous crafting history recipe",
"block.engineersdecor.metal_crafting_table.tooltips.toplayer": "Clear grid to player inventory",
"block.engineersdecor.metal_crafting_table.tooltips.tostorage": "Clear grid to storage",
"block.engineersdecor.metal_rung_ladder": "金属蹬梯子",
"block.engineersdecor.metal_rung_ladder.help": "§6典型的工业墙梯由水平的金属杆蹬组成。§r往上/下看会爬得更快。",
"block.engineersdecor.metal_rung_steps": "交错金属台阶",
@ -152,8 +161,6 @@
"block.engineersdecor.panzerglass_block.help": "§6强化的玻璃方块。§r昂贵防爆。深灰色调有隐约可见的结构线和多种纹理外观无光泽。",
"block.engineersdecor.panzerglass_slab": "装甲玻璃台阶",
"block.engineersdecor.panzerglass_slab.help": "§6强化的玻璃台阶。§r昂贵防爆。深灰色调有隐约可见的结构线和多种纹理。",
"block.engineersdecor.passive_fluid_accumulator": "被动流体累积器。",
"block.engineersdecor.passive_fluid_accumulator.help": "§6基于真空吸力的流体收集器。§r有一个输出面其他面都是输入。 当从输出面被泵抽取时,从输入面邻接储罐抽取液体。",
"block.engineersdecor.rebar_concrete": "钢筋混凝土",
"block.engineersdecor.rebar_concrete.help": "§6钢强化的混凝土。§r昂贵但像黑曜石一样防爬行者爆炸。",
"block.engineersdecor.rebar_concrete_slab": "钢筋混凝土台阶",
@ -245,16 +252,6 @@
"block.engineersdecor.thin_steel_pole_head.help": "§6钢制部件适合作为细钢杆(4x4x16)的头或尾。",
"block.engineersdecor.treated_wood_broad_windowsill": "宽防腐木窗台",
"block.engineersdecor.treated_wood_broad_windowsill.help": "§6简单的窗户装饰。",
"block.engineersdecor.treated_wood_crafting_table": "防腐木合成台",
"block.engineersdecor.treated_wood_crafting_table.help": "§6坚固防风防雨。§r内含八个存储格破坏后保留内容物没有原版合成书。\n 单击上/下箭头按钮可选择合成历史单击输出格自动放置物品单击X按钮 清除合成栏和历史。Shift单击一叠物品合成格空时转移到存储格 非空时到合成栏。会自动分配转移的物品。",
"block.engineersdecor.treated_wood_crafting_table.tooltips.clear": "Clear grid to player inventory",
"block.engineersdecor.treated_wood_crafting_table.tooltips.fromplayer": "Move items from player inventory",
"block.engineersdecor.treated_wood_crafting_table.tooltips.fromstorage": "Move items from storage",
"block.engineersdecor.treated_wood_crafting_table.tooltips.next": "Next crafting history recipe",
"block.engineersdecor.treated_wood_crafting_table.tooltips.nextcollisionrecipe": "Show next colliding recipe",
"block.engineersdecor.treated_wood_crafting_table.tooltips.prev": "Previous crafting history recipe",
"block.engineersdecor.treated_wood_crafting_table.tooltips.toplayer": "Clear grid to player inventory",
"block.engineersdecor.treated_wood_crafting_table.tooltips.tostorage": "Clear grid to storage",
"block.engineersdecor.treated_wood_floor": "防腐木地板",
"block.engineersdecor.treated_wood_floor.help": "§6装饰性地板砖有可变的贴图。§r",
"block.engineersdecor.treated_wood_ladder": "防腐木梯",

View file

@ -1,56 +0,0 @@
{
"textures": {
"end": "engineersdecor:block/pipe/passive_fluid_accumulator_front_texture",
"particle": "engineersdecor:block/pipe/passive_fluid_accumulator_front_texture",
"side": "engineersdecor:block/pipe/passive_fluid_accumulator_side_texture",
"back": "engineersdecor:block/pipe/passive_fluid_accumulator_back_texture"
},
"elements": [
{
"from": [3, 3, 0],
"to": [13, 13, 1],
"faces": {
"north": {"uv": [3, 3, 13, 13], "texture": "#end"},
"east": {"uv": [15, 4, 16, 16], "texture": "#side"},
"west": {"uv": [0, 4, 1, 16], "texture": "#side"},
"up": {"uv": [4, 0, 16, 1], "texture": "#side"},
"down": {"uv": [0, 15, 12, 16], "texture": "#side"}
}
},
{
"from": [0, 0, 1],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#end"},
"east": {"uv": [0, 0, 15, 16], "texture": "#side"},
"south": {"uv": [0, 0, 16, 16], "texture": "#back"},
"west": {"uv": [1, 0, 16, 16], "texture": "#side"},
"up": {"uv": [0, 0, 16, 15], "texture": "#side"},
"down": {"uv": [0, 0, 16, 15], "rotation": 180, "texture": "#side"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [108, 6, -23],
"translation": [1.75, -0.5, -2.5],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_righthand": {
"rotation": [120, 30, 0],
"translation": [1.75, 1.25, -0.25],
"scale": [0.35, 0.35, 0.35]
},
"ground": {
"translation": [0, 1.75, 0],
"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]
}
}
}

View file

@ -0,0 +1,277 @@
{
"parent": "block/block",
"textures": {
"particle": "engineersdecor:block/roof/dark_shingle_roof",
"s": "engineersdecor:block/roof/dark_shingle_roof",
"t": "engineersdecor:block/pole/thick_steel_pole_top_texture"
},
"elements": [
{
"from": [0, 0, 0],
"to": [4, 3.5, 16],
"faces": {
"north": {"uv": [12, 12, 16, 16], "texture": "#s"},
"south": {"uv": [0, 12, 4, 16], "texture": "#s"},
"west": {"uv": [0, 12, 16, 16], "texture": "#s"},
"up": {"uv": [0, 0, 4, 16], "texture": "#s"},
"down": {"uv": [0, 0, 4, 16], "texture": "#s"}
}
},
{
"from": [4, 0, 0],
"to": [8, 7.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [8, 8, 12, 16], "texture": "#s"},
"south": {"uv": [4, 8, 8, 16], "texture": "#s"},
"west": {"uv": [0, 8, 16, 16], "texture": "#s"},
"up": {"uv": [4, 0, 8, 16], "texture": "#s"},
"down": {"uv": [4, 0, 8, 16], "texture": "#s"}
}
},
{
"from": [3, 3, 3],
"to": [11, 11.5, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]},
"faces": {
"north": {"uv": [5, 4.5, 13, 13], "texture": "#s"},
"south": {"uv": [3, 4.5, 11, 13], "texture": "#s"},
"west": {"uv": [3, 4.5, 13, 13], "texture": "#s"},
"up": {"uv": [3, 3, 11, 13], "texture": "#t"}
}
},
{
"from": [3, 11.5, 3],
"to": [13, 16, 5],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 23, 7]},
"faces": {
"north": {"uv": [3, 0, 13, 4.5], "texture": "#t"},
"east": {"uv": [11, 0, 13, 4.5], "texture": "#t"},
"south": {"uv": [3, 0, 13, 4.5], "texture": "#t"},
"west": {"uv": [3, 0, 5, 4.5], "texture": "#t"},
"up": {"uv": [3, 3, 13, 5], "texture": "#t"}
}
},
{
"from": [3, 11.5, 11],
"to": [13, 16, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 23, 15]},
"faces": {
"north": {"uv": [3, 0, 13, 4.5], "texture": "#t"},
"south": {"uv": [3, 0, 13, 4.5], "texture": "#t"},
"west": {"uv": [11, 0, 13, 4.5], "texture": "#t"},
"up": {"uv": [3, 11, 13, 13], "texture": "#t"}
}
},
{
"from": [11, 11.5, 5],
"to": [13, 16, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [13, 23, 12]},
"faces": {
"east": {"uv": [5, 0, 11, 4.5], "texture": "#t"},
"west": {"uv": [5, 0, 11, 4.5], "texture": "#t"},
"up": {"uv": [11, 5, 13, 11], "texture": "#t"},
"down": {"uv": [11, 5, 13, 11], "texture": "#s"}
}
},
{
"from": [3, 11.5, 5],
"to": [5, 16, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [5, 23, 12]},
"faces": {
"east": {"uv": [5, 0, 11, 4.5], "texture": "#t"},
"west": {"uv": [5, 0, 11, 4.5], "texture": "#t"},
"up": {"uv": [3, 5, 5, 11], "texture": "#t"},
"down": {"uv": [3, 5, 5, 11], "texture": "#s"}
}
},
{
"from": [8, 0, 0],
"to": [12, 11.5, 5],
"faces": {
"north": {"uv": [4, 4.5, 8, 16], "texture": "#s"},
"west": {"uv": [0, 4.5, 5, 16], "texture": "#s"},
"up": {"uv": [8, 0, 12, 5], "texture": "#s"},
"down": {"uv": [8, 11, 12, 16], "texture": "#s"}
}
},
{
"from": [8, 0, 5],
"to": [12, 5.5, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 8]},
"faces": {
"down": {"uv": [8, 5, 12, 11], "texture": "#s"}
}
},
{
"from": [8, 0, 11],
"to": [12, 11.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 19]},
"faces": {
"south": {"uv": [8, 4.5, 12, 16], "texture": "#s"},
"west": {"uv": [11, 4.5, 16, 16], "texture": "#s"},
"up": {"uv": [8, 11, 12, 16], "texture": "#s"},
"down": {"uv": [8, 0, 12, 5], "texture": "#s"}
}
},
{
"from": [12, 0, 0],
"to": [16, 15.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 0, 4, 16], "texture": "#s"},
"east": {"uv": [0, 0, 16, 16], "texture": "#s"},
"south": {"uv": [12, 0, 16, 16], "texture": "#s"},
"west": {"uv": [0, 0, 16, 16], "texture": "#s"},
"up": {"uv": [12, 0, 16, 16], "texture": "#s"},
"down": {"uv": [12, 0, 16, 16], "texture": "#s"}
}
},
{
"from": [4, 7.5, 0],
"to": [8, 8, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 8]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"south": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [0, 8, 3, 8.5], "texture": "#s"},
"up": {"uv": [4, 0, 8, 3], "texture": "#s"}
}
},
{
"from": [12, 15.5, 0],
"to": [16, 16, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 8]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [13, 0, 16, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [0, 0, 3, 0.5], "texture": "#s"},
"up": {"uv": [12, 0, 16, 3], "texture": "#s"}
}
},
{
"from": [13, 15.5, 3],
"to": [16, 16, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 11]},
"faces": {
"north": {"uv": [0, 0, 3, 0.5], "texture": "#s"},
"east": {"uv": [12, 0, 13, 0.5], "texture": "#s"},
"south": {"uv": [13, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [3, 0, 4, 0.5], "texture": "#s"},
"up": {"uv": [13, 3, 16, 4], "texture": "#s"}
}
},
{
"from": [15, 15.5, 4],
"to": [16, 16, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 12]},
"faces": {
"east": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"west": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"up": {"uv": [15, 4, 16, 8], "texture": "#s"}
}
},
{
"from": [11, 11.5, 0],
"to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 8]},
"faces": {
"north": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"up": {"uv": [11, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [3, 3.5, 0],
"to": [4, 4, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 8]},
"faces": {
"north": {"uv": [12, 12, 13, 12.5], "texture": "#s"},
"west": {"uv": [0, 12, 3, 12.5], "texture": "#s"},
"up": {"uv": [3, 0, 4, 3], "texture": "#s"}
}
},
{
"from": [15, 15.5, 12],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 20]},
"faces": {
"east": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"south": {"uv": [15, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [15, 12, 16, 16], "texture": "#s"}
}
},
{
"from": [7, 7.5, 13],
"to": [8, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 20]},
"faces": {
"east": {"uv": [0, 8, 3, 8.5], "texture": "#s"},
"south": {"uv": [7, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [13, 8, 16, 8.5], "texture": "#s"},
"up": {"uv": [7, 13, 8, 16], "texture": "#s"}
}
},
{
"from": [0, 3.5, 4],
"to": [3, 4, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 12]},
"faces": {
"north": {"uv": [13, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 3, 12.5], "texture": "#s"},
"west": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"up": {"uv": [0, 4, 3, 8], "texture": "#s"}
}
},
{
"from": [0, 3.5, 12],
"to": [4, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 20]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"up": {"uv": [0, 12, 4, 16], "texture": "#s"}
}
},
{
"from": [8, 11.5, 13],
"to": [12, 12, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 20]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [13, 4, 16, 4.5], "texture": "#s"},
"up": {"uv": [8, 13, 12, 16], "texture": "#s"}
}
},
{
"from": [13, 15.5, 8],
"to": [16, 16, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 16]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"up": {"uv": [12, 8, 16, 12], "texture": "#s"}
}
}
],
"display": {
"thirdperson_lefthand": {
"rotation": [75, -135, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"gui": {
"rotation": [30, 135, 0],
"scale": [0.625, 0.625, 0.625]
},
"head": {
"rotation": [0, -90, 0]
}
}
}

View file

@ -0,0 +1,276 @@
{
"parent": "block/block",
"textures": {
"particle": "engineersdecor:block/roof/dark_shingle_roof",
"s": "engineersdecor:block/roof/dark_shingle_roof",
"f": "engineersdecor:block/material/steel_texture"
},
"elements": [
{
"from": [0, 0, 0],
"to": [4, 3.5, 16],
"faces": {
"north": {"uv": [12, 12, 16, 16], "texture": "#s"},
"south": {"uv": [0, 12, 4, 16], "texture": "#s"},
"west": {"uv": [0, 12, 16, 16], "texture": "#s"},
"up": {"uv": [0, 0, 4, 16], "texture": "#s"},
"down": {"uv": [0, 0, 4, 16], "texture": "#s"}
}
},
{
"from": [4, 0, 0],
"to": [8, 7.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [8, 8, 12, 16], "texture": "#s"},
"south": {"uv": [4, 8, 8, 16], "texture": "#s"},
"west": {"uv": [0, 8, 16, 16], "texture": "#s"},
"up": {"uv": [4, 0, 8, 16], "texture": "#s"},
"down": {"uv": [4, 0, 8, 16], "texture": "#s"}
}
},
{
"from": [8, 0, 0],
"to": [12, 11.5, 16],
"faces": {
"north": {"uv": [4, 4, 8, 16], "texture": "#s"},
"south": {"uv": [8, 4, 12, 16], "texture": "#s"},
"west": {"uv": [0, 4, 16, 16], "texture": "#s"},
"up": {"uv": [8, 0, 12, 16], "texture": "#s"},
"down": {"uv": [8, 0, 12, 16], "texture": "#s"}
}
},
{
"from": [12, 0, 0],
"to": [16, 15.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 0, 4, 16], "texture": "#s"},
"east": {"uv": [0, 0, 16, 16], "texture": "#s"},
"south": {"uv": [12, 0, 16, 16], "texture": "#s"},
"west": {"uv": [0, 0, 16, 16], "texture": "#s"},
"up": {"uv": [12, 0, 16, 16], "texture": "#s"},
"down": {"uv": [12, 0, 16, 16], "texture": "#s"}
}
},
{
"from": [4, 7.5, 0],
"to": [8, 8, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 8]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"south": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [0, 8, 4, 8.5], "texture": "#s"},
"up": {"uv": [4, 0, 8, 4], "texture": "#s"}
}
},
{
"from": [12, 15.5, 0],
"to": [16, 16, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 8]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"up": {"uv": [12, 0, 16, 4], "texture": "#s"}
}
},
{
"from": [15, 15.5, 4],
"to": [16, 16, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 12]},
"faces": {
"east": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"west": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"up": {"uv": [15, 4, 16, 8], "texture": "#s"}
}
},
{
"from": [11, 11.5, 0],
"to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 8]},
"faces": {
"north": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"up": {"uv": [11, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [3, 3.5, 0],
"to": [4, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 8]},
"faces": {
"north": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"up": {"uv": [11, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [11, 11.5, 8],
"to": [12, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 16]},
"faces": {
"west": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [11, 8, 12, 12], "texture": "#s"}
}
},
{
"from": [3, 3.5, 8],
"to": [4, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 16]},
"faces": {
"west": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [11, 8, 12, 12], "texture": "#s"}
}
},
{
"from": [7, 7.5, 4],
"to": [8, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 12]},
"faces": {
"east": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"west": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"up": {"uv": [7, 4, 8, 8], "texture": "#s"}
}
},
{
"from": [15, 15.5, 12],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 20]},
"faces": {
"east": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"south": {"uv": [15, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [15, 12, 16, 16], "texture": "#s"}
}
},
{
"from": [7, 7.5, 12],
"to": [8, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 20]},
"faces": {
"east": {"uv": [0, 8, 4, 8.5], "texture": "#s"},
"south": {"uv": [7, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [12, 8, 16, 8.5], "texture": "#s"},
"up": {"uv": [7, 12, 8, 16], "texture": "#s"}
}
},
{
"from": [0, 3.5, 4],
"to": [4, 4, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 12]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"up": {"uv": [0, 4, 4, 8], "texture": "#s"}
}
},
{
"from": [8, 11.5, 4],
"to": [12, 12, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 12]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"up": {"uv": [8, 4, 12, 8], "texture": "#s"}
}
},
{
"from": [0, 3.5, 12],
"to": [4, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 20]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"up": {"uv": [0, 12, 4, 16], "texture": "#s"}
}
},
{
"from": [8, 11.5, 12],
"to": [12, 12, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 20]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [12, 4, 16, 4.5], "texture": "#s"},
"up": {"uv": [8, 12, 12, 16], "texture": "#s"}
}
},
{
"from": [4, 7.5, 8],
"to": [8, 8, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 16]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"south": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"up": {"uv": [4, 8, 8, 12], "texture": "#s"}
}
},
{
"from": [12, 15.5, 8],
"to": [16, 16, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 16]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"up": {"uv": [12, 8, 16, 12], "texture": "#s"}
}
},
{
"from": [0, 3.5, 0],
"to": [1, 6, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 11.5, 8]},
"faces": {
"north": {"uv": [0, 0, 1, 2.5], "texture": "#f"},
"east": {"uv": [0, 0, 1, 2.5], "texture": "#f"},
"south": {"uv": [0, 0, 1, 2.5], "texture": "#f"},
"west": {"uv": [0, 0, 1, 2.5], "texture": "#f"},
"up": {"uv": [0, 0, 1, 1], "texture": "#f"}
}
},
{
"from": [0, 4, 15],
"to": [1, 6, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 23]},
"faces": {
"north": {"uv": [0, 0, 1, 2], "texture": "#f"},
"east": {"uv": [0, 0, 1, 2], "texture": "#f"},
"south": {"uv": [0, 0, 1, 2], "texture": "#f"},
"west": {"uv": [0, 0, 1, 2], "texture": "#f"},
"up": {"uv": [0, 0, 1, 1], "texture": "#f"}
}
},
{
"from": [0, 5, 1],
"to": [1, 6, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 22]},
"faces": {
"east": {"uv": [0, 0, 14, 1], "texture": "#f"},
"west": {"uv": [0, 0, 14, 1], "texture": "#f"},
"up": {"uv": [0, 0, 1, 14], "texture": "#f"},
"down": {"uv": [0, 0, 1, 14], "texture": "#f"}
}
}
],
"display": {
"thirdperson_lefthand": {
"rotation": [75, -135, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"gui": {
"rotation": [30, 135, 0],
"scale": [0.625, 0.625, 0.625]
},
"head": {
"rotation": [0, -90, 0]
}
}
}

View file

@ -0,0 +1,241 @@
{
"textures": {
"particle": "engineersdecor:block/roof/dark_shingle_roof",
"s": "engineersdecor:block/roof/dark_shingle_roof",
"f": "engineersdecor:block/material/steel_texture"
},
"elements": [
{
"from": [12, 0, 0],
"to": [16, 15.5, 12],
"faces": {
"north": {"uv": [0, 0.5, 4, 16], "texture": "#s"},
"east": {"uv": [4, 0.5, 16, 16], "texture": "#s"},
"south": {"uv": [12, 0.5, 16, 16], "texture": "#s"},
"west": {"uv": [0, 0.5, 12, 16], "texture": "#s"},
"up": {"uv": [12, 0, 16, 12], "texture": "#s"},
"down": {"uv": [12, 4, 16, 16], "texture": "#s"}
}
},
{
"from": [0, 0, 12],
"to": [16, 15.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 16]},
"faces": {
"north": {"uv": [0, 0.5, 16, 16], "texture": "#s"},
"east": {"uv": [0, 0.5, 4, 16], "texture": "#s"},
"south": {"uv": [0, 0.5, 16, 16], "texture": "#s"},
"west": {"uv": [12, 0.5, 16, 16], "texture": "#s"},
"up": {"uv": [0, 12, 16, 16], "texture": "#s"},
"down": {"uv": [0, 0, 16, 4], "texture": "#s"}
}
},
{
"from": [4, 15.5, 12],
"to": [8, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 12.5, 16]},
"faces": {
"north": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"east": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"south": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"west": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [4, 12, 8, 16], "texture": "#s"},
"down": {"uv": [4, 0, 8, 4], "texture": "#s"}
}
},
{
"from": [0, 11.5, 8],
"to": [8, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8.5, 12]},
"faces": {
"north": {"uv": [8, 4, 16, 4.5], "texture": "#s"},
"east": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"west": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [0, 8, 8, 12], "texture": "#s"}
}
},
{
"from": [8, 11.5, 4],
"to": [12, 12, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 8.5, 8]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"east": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"up": {"uv": [8, 4, 12, 8], "texture": "#s"}
}
},
{
"from": [8, 15.5, 15],
"to": [12, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 12.5, 16]},
"faces": {
"north": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"south": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"up": {"uv": [8, 15, 12, 16], "texture": "#s"}
}
},
{
"from": [0, 15.5, 15],
"to": [4, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12.5, 16]},
"faces": {
"north": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"south": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"west": {"uv": [15, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [0, 15, 4, 16], "texture": "#s"}
}
},
{
"from": [0, 7.5, 7],
"to": [4, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 4.5, 8]},
"faces": {
"north": {"uv": [12, 8, 16, 8.5], "texture": "#s"},
"west": {"uv": [7, 8, 8, 8.5], "texture": "#s"},
"up": {"uv": [0, 7, 4, 8], "texture": "#s"}
}
},
{
"from": [15, 15.5, 4],
"to": [16, 16, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [20, 12.5, 8]},
"faces": {
"east": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"west": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"up": {"uv": [15, 4, 16, 8], "texture": "#s"}
}
},
{
"from": [11, 11.5, 0],
"to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 8.5, 4]},
"faces": {
"north": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"up": {"uv": [11, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [11, 11.5, 8],
"to": [12, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 8.5, 12]},
"faces": {
"west": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [11, 8, 12, 12], "texture": "#s"}
}
},
{
"from": [3, 4, 0],
"to": [4, 4.5, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 4]},
"faces": {
"north": {"uv": [12, 11.5, 13, 12], "texture": "#s"},
"west": {"uv": [0, 11.5, 4, 12], "texture": "#s"},
"up": {"uv": [3, 0, 4, 4], "texture": "#s"}
}
},
{
"from": [4, 7.5, 0],
"to": [8, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 4.5, 4]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"west": {"uv": [0, 8, 8, 8.5], "texture": "#s"},
"up": {"uv": [4, 0, 8, 8], "texture": "#s"}
}
},
{
"from": [12, 15.5, 8],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [20, 12.5, 12]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [0, 0, 8, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [8, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [12, 8, 16, 16], "texture": "#s"}
}
},
{
"from": [12, 15.5, 0],
"to": [16, 16, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [20, 12.5, 4]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"up": {"uv": [12, 0, 16, 4], "texture": "#s"}
}
},
{
"from": [0, 0, 8],
"to": [12, 11.5, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 12]},
"faces": {
"north": {"uv": [4, 4.5, 16, 16], "texture": "#s"},
"west": {"uv": [8, 4.5, 12, 16], "texture": "#s"},
"up": {"uv": [0, 8, 12, 12], "texture": "#s"},
"down": {"uv": [0, 4, 12, 8], "texture": "#s"}
}
},
{
"from": [0, 0, 4],
"to": [8, 7.5, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [8, 8.5, 16, 16], "texture": "#s"},
"west": {"uv": [4, 8.5, 8, 16], "texture": "#s"},
"up": {"uv": [0, 4, 8, 8], "texture": "#s"},
"down": {"uv": [0, 8, 8, 12], "texture": "#s"}
}
},
{
"from": [8, 0, 0],
"to": [12, 11.5, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [4, 4.5, 8, 16], "texture": "#s"},
"west": {"uv": [0, 4.5, 8, 16], "texture": "#s"},
"up": {"uv": [8, 0, 12, 8], "texture": "#s"},
"down": {"uv": [8, 8, 12, 16], "texture": "#s"}
}
},
{
"from": [4, 0, 0],
"to": [8, 7.5, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [4, 12, 8]},
"faces": {
"north": {"uv": [8, 8.5, 12, 16], "texture": "#s"},
"west": {"uv": [0, 8.5, 4, 16], "texture": "#s"},
"up": {"uv": [4, 0, 8, 4], "texture": "#s"},
"down": {"uv": [4, 12, 8, 16], "texture": "#s"}
}
},
{
"from": [0, 0, 0],
"to": [4, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 12, 8]},
"faces": {
"north": {"uv": [12, 12, 16, 16], "texture": "#s"},
"west": {"uv": [0, 12, 4, 16], "texture": "#s"},
"up": {"uv": [0, 0, 4, 4], "texture": "#s"},
"down": {"uv": [0, 12, 4, 16], "texture": "#s"}
}
},
{
"from": [0, 4, 0],
"to": [1, 6, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 0, 1, 2], "texture": "#f"},
"east": {"uv": [0, 0, 1, 2], "texture": "#f"},
"south": {"uv": [0, 0, 1, 2], "texture": "#f"},
"west": {"uv": [0, 0, 1, 2], "texture": "#f"},
"up": {"uv": [0, 0, 1, 1], "texture": "#f"}
}
}
]
}

View file

@ -0,0 +1,257 @@
{
"textures": {
"particle": "engineersdecor:block/roof/dark_shingle_roof",
"s": "engineersdecor:block/roof/dark_shingle_roof",
"f": "engineersdecor:block/material/steel_texture"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 3.5, 16],
"faces": {
"north": {"uv": [0, 12.5, 16, 16], "texture": "#s"},
"east": {"uv": [0, 12.5, 16, 16], "texture": "#s"},
"south": {"uv": [0, 12.5, 16, 16], "texture": "#s"},
"west": {"uv": [0, 12.5, 16, 16], "texture": "#s"},
"up": {"uv": [0, 0, 16, 16], "texture": "#s"},
"down": {"uv": [0, 0, 16, 16], "texture": "#s"}
}
},
{
"from": [4, 3.5, 4],
"to": [16, 7.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 8.5, 12, 12.5], "texture": "#s"},
"east": {"uv": [0, 8.5, 12, 12.5], "texture": "#s"},
"south": {"uv": [4, 8.5, 16, 12.5], "texture": "#s"},
"west": {"uv": [4, 8.5, 16, 12.5], "texture": "#s"},
"up": {"uv": [4, 4, 16, 16], "texture": "#s"},
"down": {"uv": [4, 0, 16, 12], "texture": "#s"}
}
},
{
"from": [8, 7.5, 8],
"to": [16, 11.5, 16],
"faces": {
"north": {"uv": [0, 4.5, 8, 8.5], "texture": "#s"},
"east": {"uv": [0, 4.5, 8, 8.5], "texture": "#s"},
"south": {"uv": [8, 4.5, 16, 8.5], "texture": "#s"},
"west": {"uv": [8, 4.5, 16, 8.5], "texture": "#s"},
"up": {"uv": [8, 8, 16, 16], "texture": "#s"}
}
},
{
"from": [12, 11.5, 12],
"to": [16, 15.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 0.5, 4, 4.5], "texture": "#s"},
"east": {"uv": [0, 0.5, 4, 4.5], "texture": "#s"},
"south": {"uv": [12, 0.5, 16, 4.5], "texture": "#s"},
"west": {"uv": [12, 0.5, 16, 4.5], "texture": "#s"},
"up": {"uv": [12, 12, 16, 16], "texture": "#s"}
}
},
{
"from": [14, 15.5, 14],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12.5, 8]},
"faces": {
"north": {"uv": [0, 0, 2, 0.5], "texture": "#s"},
"east": {"uv": [0, 0, 2, 0.5], "texture": "#s"},
"south": {"uv": [14, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [14, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [14, 14, 16, 16], "texture": "#s"}
}
},
{
"from": [12, 11.5, 11],
"to": [16, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8.5, 4]},
"faces": {
"north": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"east": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [11, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [12, 11, 16, 12], "texture": "#s"}
}
},
{
"from": [12, 7.5, 7],
"to": [16, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 4.5, 0]},
"faces": {
"north": {"uv": [0, 8, 4, 8.5], "texture": "#s"},
"east": {"uv": [8, 8, 9, 8.5], "texture": "#s"},
"up": {"uv": [12, 7, 16, 8], "texture": "#s"}
}
},
{
"from": [8, 3.5, 3],
"to": [12, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [4, 0.5, -4]},
"faces": {
"north": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"up": {"uv": [8, 3, 12, 4], "texture": "#s"}
}
},
{
"from": [7, 7.5, 12],
"to": [8, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 4.5, 5]},
"faces": {
"south": {"uv": [7, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [12, 8, 16, 8.5], "texture": "#s"},
"up": {"uv": [7, 12, 8, 16], "texture": "#s"}
}
},
{
"from": [3, 3.5, 8],
"to": [4, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [-4, 0.5, 1]},
"faces": {
"west": {"uv": [8, 12, 12, 12.5], "texture": "#s"},
"up": {"uv": [3, 8, 4, 12], "texture": "#s"}
}
},
{
"from": [8, 11.5, 12],
"to": [12, 12, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8.5, 4]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [12, 4, 16, 4.5], "texture": "#s"},
"up": {"uv": [8, 12, 12, 16], "texture": "#s"}
}
},
{
"from": [8, 7.5, 4],
"to": [12, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [4, 4.5, -4]},
"faces": {
"north": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"east": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"west": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"up": {"uv": [8, 4, 12, 8], "texture": "#s"}
}
},
{
"from": [4, 7.5, 8],
"to": [8, 8, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 4.5, 0]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"south": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"up": {"uv": [4, 8, 8, 12], "texture": "#s"}
}
},
{
"from": [0, 3.5, 12],
"to": [4, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-4, 0.5, 4]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"east": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"up": {"uv": [0, 12, 4, 16], "texture": "#s"}
}
},
{
"from": [0, 3.5, 4],
"to": [4, 4, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [-4, 0.5, -4]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"east": {"uv": [8, 12, 12, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"up": {"uv": [0, 4, 4, 8], "texture": "#s"}
}
},
{
"from": [4, 3.5, 0],
"to": [8, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0.5, -8]},
"faces": {
"north": {"uv": [8, 12, 12, 12.5], "texture": "#s"},
"east": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"west": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"up": {"uv": [4, 0, 8, 4], "texture": "#s"}
}
},
{
"from": [12, 3.5, 0],
"to": [16, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0.5, -8]},
"faces": {
"north": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"east": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"west": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"up": {"uv": [12, 0, 16, 4], "texture": "#s"}
}
},
{
"from": [15, 4, 0],
"to": [16, 6, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 12, 8]},
"faces": {
"north": {"uv": [0, 0, 1, 2], "texture": "#f"},
"east": {"uv": [0, 0, 1, 2], "texture": "#f"},
"south": {"uv": [0, 0, 1, 2], "texture": "#f"},
"west": {"uv": [0, 0, 1, 2], "texture": "#f"},
"up": {"uv": [0, 0, 1, 1], "texture": "#f"}
}
},
{
"from": [1, 5, 0],
"to": [15, 6, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [22, 12, 8]},
"faces": {
"north": {"uv": [0, 0, 14, 1], "texture": "#f"},
"south": {"uv": [0, 0, 14, 1], "texture": "#f"},
"up": {"uv": [0, 0, 14, 1], "texture": "#f"},
"down": {"uv": [0, 0, 14, 1], "texture": "#f"}
}
},
{
"from": [0, 5, 1],
"to": [1, 6, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [21, 12, 9]},
"faces": {
"east": {"uv": [0, 0, 14, 1], "texture": "#f"},
"west": {"uv": [0, 0, 14, 1], "texture": "#f"},
"up": {"uv": [0, 0, 1, 14], "texture": "#f"},
"down": {"uv": [0, 0, 1, 14], "texture": "#f"}
}
},
{
"from": [0, 3.5, 0],
"to": [1, 6, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 0, 1, 2.5], "texture": "#f"},
"east": {"uv": [0, 0, 1, 2.5], "texture": "#f"},
"south": {"uv": [0, 0, 1, 2.5], "texture": "#f"},
"west": {"uv": [0, 0, 1, 2.5], "texture": "#f"},
"up": {"uv": [0, 0, 1, 1], "texture": "#f"}
}
},
{
"from": [0, 4, 15],
"to": [1, 6, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 23]},
"faces": {
"north": {"uv": [0, 0, 1, 2], "texture": "#f"},
"east": {"uv": [0, 0, 1, 2], "texture": "#f"},
"south": {"uv": [0, 0, 1, 2], "texture": "#f"},
"west": {"uv": [0, 0, 1, 2], "texture": "#f"},
"up": {"uv": [0, 0, 1, 1], "texture": "#f"}
}
}
]
}

View file

@ -1,5 +1,5 @@
{
"parent": "block/block",
"parent": "block/block",
"textures": {
"particle": "engineersdecor:block/roof/dark_shingle_roof",
"s": "engineersdecor:block/roof/dark_shingle_roof"
@ -7,50 +7,219 @@
"elements": [
{
"from": [0, 0, 0],
"to": [16, 4, 16],
"to": [4, 3.5, 16],
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
"south": {"texture": "#s"},
"west": {"texture": "#s"},
"up": {"texture": "#s"},
"down": {"texture": "#s"}
"north": {"uv": [12, 12, 16, 16], "texture": "#s"},
"south": {"uv": [0, 12, 4, 16], "texture": "#s"},
"west": {"uv": [0, 12, 16, 16], "texture": "#s"},
"up": {"uv": [0, 0, 4, 16], "texture": "#s"},
"down": {"uv": [0, 0, 4, 16], "texture": "#s"}
}
},
{
"from": [4, 4, 0],
"to": [16, 8, 16],
"from": [4, 0, 0],
"to": [8, 7.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
"south": {"texture": "#s"},
"west": {"texture": "#s"},
"up": {"texture": "#s"},
"down": {"texture": "#s"}
"north": {"uv": [8, 8, 12, 16], "texture": "#s"},
"south": {"uv": [4, 8, 8, 16], "texture": "#s"},
"west": {"uv": [0, 8, 16, 16], "texture": "#s"},
"up": {"uv": [4, 0, 8, 16], "texture": "#s"},
"down": {"uv": [4, 0, 8, 16], "texture": "#s"}
}
},
{
"from": [8, 8, 0],
"to": [16, 12, 16],
"from": [8, 0, 0],
"to": [12, 11.5, 16],
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
"south": {"texture": "#s"},
"west": {"texture": "#s"},
"up": {"texture": "#s"}
"north": {"uv": [4, 4, 8, 16], "texture": "#s"},
"south": {"uv": [8, 4, 12, 16], "texture": "#s"},
"west": {"uv": [0, 4, 16, 16], "texture": "#s"},
"up": {"uv": [8, 0, 12, 16], "texture": "#s"},
"down": {"uv": [8, 0, 12, 16], "texture": "#s"}
}
},
{
"from": [12, 12, 0],
"from": [12, 0, 0],
"to": [16, 15.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 0, 4, 16], "texture": "#s"},
"east": {"uv": [0, 0, 16, 16], "texture": "#s"},
"south": {"uv": [12, 0, 16, 16], "texture": "#s"},
"west": {"uv": [0, 0, 16, 16], "texture": "#s"},
"up": {"uv": [12, 0, 16, 16], "texture": "#s"},
"down": {"uv": [12, 0, 16, 16], "texture": "#s"}
}
},
{
"from": [4, 7.5, 0],
"to": [8, 8, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 8]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"south": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [0, 8, 4, 8.5], "texture": "#s"},
"up": {"uv": [4, 0, 8, 4], "texture": "#s"}
}
},
{
"from": [12, 15.5, 0],
"to": [16, 16, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 8]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"up": {"uv": [12, 0, 16, 4], "texture": "#s"}
}
},
{
"from": [15, 15.5, 4],
"to": [16, 16, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 12]},
"faces": {
"east": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"west": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"up": {"uv": [15, 4, 16, 8], "texture": "#s"}
}
},
{
"from": [11, 11.5, 0],
"to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 8]},
"faces": {
"north": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"up": {"uv": [11, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [3, 3.5, 0],
"to": [4, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 8]},
"faces": {
"north": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"up": {"uv": [11, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [11, 11.5, 8],
"to": [12, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 16]},
"faces": {
"west": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [11, 8, 12, 12], "texture": "#s"}
}
},
{
"from": [3, 3.5, 8],
"to": [4, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 16]},
"faces": {
"west": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [11, 8, 12, 12], "texture": "#s"}
}
},
{
"from": [7, 7.5, 4],
"to": [8, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 12]},
"faces": {
"east": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"west": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"up": {"uv": [7, 4, 8, 8], "texture": "#s"}
}
},
{
"from": [15, 15.5, 12],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 20]},
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
"south": {"texture": "#s"},
"west": {"texture": "#s"},
"up": {"texture": "#s"}
"east": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"south": {"uv": [15, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [15, 12, 16, 16], "texture": "#s"}
}
},
{
"from": [7, 7.5, 12],
"to": [8, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 20]},
"faces": {
"east": {"uv": [0, 8, 4, 8.5], "texture": "#s"},
"south": {"uv": [7, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [12, 8, 16, 8.5], "texture": "#s"},
"up": {"uv": [7, 12, 8, 16], "texture": "#s"}
}
},
{
"from": [0, 3.5, 4],
"to": [4, 4, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 12]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"up": {"uv": [0, 4, 4, 8], "texture": "#s"}
}
},
{
"from": [8, 11.5, 4],
"to": [12, 12, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 12]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"up": {"uv": [8, 4, 12, 8], "texture": "#s"}
}
},
{
"from": [0, 3.5, 12],
"to": [4, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 20]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"up": {"uv": [0, 12, 4, 16], "texture": "#s"}
}
},
{
"from": [8, 11.5, 12],
"to": [12, 12, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 20]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [12, 4, 16, 4.5], "texture": "#s"},
"up": {"uv": [8, 12, 12, 16], "texture": "#s"}
}
},
{
"from": [4, 7.5, 8],
"to": [8, 8, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 16]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"south": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"up": {"uv": [4, 8, 8, 12], "texture": "#s"}
}
},
{
"from": [12, 15.5, 8],
"to": [16, 16, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 16]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"up": {"uv": [12, 8, 16, 12], "texture": "#s"}
}
}
],

View file

@ -6,77 +6,209 @@
"elements": [
{
"from": [12, 0, 0],
"to": [16, 16, 12],
"to": [16, 15.5, 12],
"faces": {
"north": {"uv": [0, 0, 4, 16], "texture": "#s"},
"east": {"uv": [4, 0, 16, 16], "texture": "#s"},
"south": {"uv": [12, 0, 16, 16], "texture": "#s"},
"west": {"uv": [0, 0, 12, 16], "texture": "#s"},
"north": {"uv": [0, 0.5, 4, 16], "texture": "#s"},
"east": {"uv": [4, 0.5, 16, 16], "texture": "#s"},
"south": {"uv": [12, 0.5, 16, 16], "texture": "#s"},
"west": {"uv": [0, 0.5, 12, 16], "texture": "#s"},
"up": {"uv": [12, 0, 16, 12], "texture": "#s"},
"down": {"uv": [12, 4, 16, 16], "texture": "#s"}
}
},
{
"from": [0, 0, 12],
"to": [16, 16, 16],
"to": [16, 15.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 16]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#s"},
"east": {"uv": [0, 0, 4, 16], "texture": "#s"},
"south": {"uv": [0, 0, 16, 16], "texture": "#s"},
"west": {"uv": [12, 0, 16, 16], "texture": "#s"},
"north": {"uv": [0, 0.5, 16, 16], "texture": "#s"},
"east": {"uv": [0, 0.5, 4, 16], "texture": "#s"},
"south": {"uv": [0, 0.5, 16, 16], "texture": "#s"},
"west": {"uv": [12, 0.5, 16, 16], "texture": "#s"},
"up": {"uv": [0, 12, 16, 16], "texture": "#s"},
"down": {"uv": [0, 0, 16, 4], "texture": "#s"}
}
},
{
"from": [0, 0, 8],
"from": [4, 15.5, 12],
"to": [8, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 12.5, 16]},
"faces": {
"north": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"east": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"south": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"west": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [4, 12, 8, 16], "texture": "#s"},
"down": {"uv": [4, 0, 8, 4], "texture": "#s"}
}
},
{
"from": [0, 11.5, 8],
"to": [8, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8.5, 12]},
"faces": {
"north": {"uv": [8, 4, 16, 4.5], "texture": "#s"},
"east": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"west": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [0, 8, 8, 12], "texture": "#s"}
}
},
{
"from": [8, 11.5, 4],
"to": [12, 12, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 8.5, 8]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"east": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"up": {"uv": [8, 4, 12, 8], "texture": "#s"}
}
},
{
"from": [8, 15.5, 15],
"to": [12, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 12.5, 16]},
"faces": {
"north": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"south": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"up": {"uv": [8, 15, 12, 16], "texture": "#s"}
}
},
{
"from": [0, 15.5, 15],
"to": [4, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12.5, 16]},
"faces": {
"north": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"south": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"west": {"uv": [15, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [0, 15, 4, 16], "texture": "#s"}
}
},
{
"from": [0, 7.5, 7],
"to": [4, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 4.5, 8]},
"faces": {
"north": {"uv": [12, 8, 16, 8.5], "texture": "#s"},
"west": {"uv": [7, 8, 8, 8.5], "texture": "#s"},
"up": {"uv": [0, 7, 4, 8], "texture": "#s"}
}
},
{
"from": [15, 15.5, 4],
"to": [16, 16, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [20, 12.5, 8]},
"faces": {
"east": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"west": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"up": {"uv": [15, 4, 16, 8], "texture": "#s"}
}
},
{
"from": [11, 11.5, 0],
"to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 8.5, 4]},
"faces": {
"north": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"up": {"uv": [11, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [11, 11.5, 8],
"to": [12, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 8.5, 12]},
"faces": {
"west": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [11, 8, 12, 12], "texture": "#s"}
}
},
{
"from": [3, 4, 0],
"to": [4, 4.5, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 4]},
"faces": {
"north": {"uv": [12, 11.5, 13, 12], "texture": "#s"},
"west": {"uv": [0, 11.5, 4, 12], "texture": "#s"},
"up": {"uv": [3, 0, 4, 4], "texture": "#s"}
}
},
{
"from": [4, 7.5, 0],
"to": [8, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 4.5, 4]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"west": {"uv": [0, 8, 8, 8.5], "texture": "#s"},
"up": {"uv": [4, 0, 8, 8], "texture": "#s"}
}
},
{
"from": [12, 15.5, 8],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [20, 12.5, 12]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [0, 0, 8, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [8, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [12, 8, 16, 16], "texture": "#s"}
}
},
{
"from": [12, 15.5, 0],
"to": [16, 16, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [20, 12.5, 4]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"up": {"uv": [12, 0, 16, 4], "texture": "#s"}
}
},
{
"from": [0, 0, 8],
"to": [12, 11.5, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 12]},
"faces": {
"north": {"uv": [4, 4, 16, 16], "texture": "#s"},
"east": {"uv": [4, 4, 8, 16], "texture": "#s"},
"south": {"uv": [0, 4, 12, 16], "texture": "#s"},
"west": {"uv": [8, 4, 12, 16], "texture": "#s"},
"north": {"uv": [4, 4.5, 16, 16], "texture": "#s"},
"west": {"uv": [8, 4.5, 12, 16], "texture": "#s"},
"up": {"uv": [0, 8, 12, 12], "texture": "#s"},
"down": {"uv": [0, 4, 12, 8], "texture": "#s"}
}
},
{
"from": [0, 0, 4],
"to": [8, 8, 8],
"to": [8, 7.5, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [8, 8, 16, 16], "texture": "#s"},
"east": {"uv": [8, 8, 12, 16], "texture": "#s"},
"south": {"uv": [0, 8, 8, 16], "texture": "#s"},
"west": {"uv": [4, 8, 8, 16], "texture": "#s"},
"north": {"uv": [8, 8.5, 16, 16], "texture": "#s"},
"west": {"uv": [4, 8.5, 8, 16], "texture": "#s"},
"up": {"uv": [0, 4, 8, 8], "texture": "#s"},
"down": {"uv": [0, 8, 8, 12], "texture": "#s"}
}
},
{
"from": [8, 0, 0],
"to": [12, 12, 8],
"to": [12, 11.5, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [4, 4, 8, 16], "texture": "#s"},
"east": {"uv": [8, 4, 16, 16], "texture": "#s"},
"south": {"uv": [8, 4, 12, 16], "texture": "#s"},
"west": {"uv": [0, 4, 8, 16], "texture": "#s"},
"north": {"uv": [4, 4.5, 8, 16], "texture": "#s"},
"west": {"uv": [0, 4.5, 8, 16], "texture": "#s"},
"up": {"uv": [8, 0, 12, 8], "texture": "#s"},
"down": {"uv": [8, 8, 12, 16], "texture": "#s"}
}
},
{
"from": [4, 0, 0],
"to": [8, 8, 4],
"to": [8, 7.5, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [4, 12, 8]},
"faces": {
"north": {"uv": [8, 8, 12, 16], "texture": "#s"},
"east": {"uv": [12, 8, 16, 16], "texture": "#s"},
"south": {"uv": [4, 8, 8, 16], "texture": "#s"},
"west": {"uv": [0, 8, 4, 16], "texture": "#s"},
"north": {"uv": [8, 8.5, 12, 16], "texture": "#s"},
"west": {"uv": [0, 8.5, 4, 16], "texture": "#s"},
"up": {"uv": [4, 0, 8, 4], "texture": "#s"},
"down": {"uv": [4, 12, 8, 16], "texture": "#s"}
}
@ -87,8 +219,6 @@
"rotation": {"angle": 0, "axis": "y", "origin": [0, 12, 8]},
"faces": {
"north": {"uv": [12, 12, 16, 16], "texture": "#s"},
"east": {"uv": [12, 12, 16, 16], "texture": "#s"},
"south": {"uv": [0, 12, 4, 16], "texture": "#s"},
"west": {"uv": [0, 12, 4, 16], "texture": "#s"},
"up": {"uv": [0, 0, 4, 4], "texture": "#s"},
"down": {"uv": [0, 12, 4, 16], "texture": "#s"}

View file

@ -6,50 +6,192 @@
"elements": [
{
"from": [0, 0, 0],
"to": [16, 4, 16],
"to": [16, 3.5, 16],
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
"south": {"texture": "#s"},
"west": {"texture": "#s"},
"up": {"texture": "#s"},
"down": {"texture": "#s"}
"north": {"uv": [0, 12.5, 16, 16], "texture": "#s"},
"east": {"uv": [0, 12.5, 16, 16], "texture": "#s"},
"south": {"uv": [0, 12.5, 16, 16], "texture": "#s"},
"west": {"uv": [0, 12.5, 16, 16], "texture": "#s"},
"up": {"uv": [0, 0, 16, 16], "texture": "#s"},
"down": {"uv": [0, 0, 16, 16], "texture": "#s"}
}
},
{
"from": [4, 4, 4],
"to": [16, 8, 16],
"from": [4, 3.5, 4],
"to": [16, 7.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
"south": {"texture": "#s"},
"west": {"texture": "#s"},
"up": {"texture": "#s"},
"down": {"texture": "#s"}
"north": {"uv": [0, 8.5, 12, 12.5], "texture": "#s"},
"east": {"uv": [0, 8.5, 12, 12.5], "texture": "#s"},
"south": {"uv": [4, 8.5, 16, 12.5], "texture": "#s"},
"west": {"uv": [4, 8.5, 16, 12.5], "texture": "#s"},
"up": {"uv": [4, 4, 16, 16], "texture": "#s"},
"down": {"uv": [4, 0, 16, 12], "texture": "#s"}
}
},
{
"from": [8, 8, 8],
"to": [16, 12, 16],
"from": [8, 7.5, 8],
"to": [16, 11.5, 16],
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
"south": {"texture": "#s"},
"west": {"texture": "#s"},
"up": {"texture": "#s"}
"north": {"uv": [0, 4.5, 8, 8.5], "texture": "#s"},
"east": {"uv": [0, 4.5, 8, 8.5], "texture": "#s"},
"south": {"uv": [8, 4.5, 16, 8.5], "texture": "#s"},
"west": {"uv": [8, 4.5, 16, 8.5], "texture": "#s"},
"up": {"uv": [8, 8, 16, 16], "texture": "#s"}
}
},
{
"from": [12, 12, 12],
"from": [12, 11.5, 12],
"to": [16, 15.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 0.5, 4, 4.5], "texture": "#s"},
"east": {"uv": [0, 0.5, 4, 4.5], "texture": "#s"},
"south": {"uv": [12, 0.5, 16, 4.5], "texture": "#s"},
"west": {"uv": [12, 0.5, 16, 4.5], "texture": "#s"},
"up": {"uv": [12, 12, 16, 16], "texture": "#s"}
}
},
{
"from": [14, 15.5, 14],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12.5, 8]},
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
"south": {"texture": "#s"},
"west": {"texture": "#s"},
"up": {"texture": "#s"}
"north": {"uv": [0, 0, 2, 0.5], "texture": "#s"},
"east": {"uv": [0, 0, 2, 0.5], "texture": "#s"},
"south": {"uv": [14, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [14, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [14, 14, 16, 16], "texture": "#s"}
}
},
{
"from": [12, 11.5, 11],
"to": [16, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8.5, 4]},
"faces": {
"north": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"east": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [11, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [12, 11, 16, 12], "texture": "#s"}
}
},
{
"from": [12, 7.5, 7],
"to": [16, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 4.5, 0]},
"faces": {
"north": {"uv": [0, 8, 4, 8.5], "texture": "#s"},
"east": {"uv": [8, 8, 9, 8.5], "texture": "#s"},
"up": {"uv": [12, 7, 16, 8], "texture": "#s"}
}
},
{
"from": [8, 3.5, 3],
"to": [12, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [4, 0.5, -4]},
"faces": {
"north": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"up": {"uv": [8, 3, 12, 4], "texture": "#s"}
}
},
{
"from": [7, 7.5, 12],
"to": [8, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 4.5, 5]},
"faces": {
"south": {"uv": [7, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [12, 8, 16, 8.5], "texture": "#s"},
"up": {"uv": [7, 12, 8, 16], "texture": "#s"}
}
},
{
"from": [3, 3.5, 8],
"to": [4, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [-4, 0.5, 1]},
"faces": {
"west": {"uv": [8, 12, 12, 12.5], "texture": "#s"},
"up": {"uv": [3, 8, 4, 12], "texture": "#s"}
}
},
{
"from": [8, 11.5, 12],
"to": [12, 12, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8.5, 4]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [12, 4, 16, 4.5], "texture": "#s"},
"up": {"uv": [8, 12, 12, 16], "texture": "#s"}
}
},
{
"from": [8, 7.5, 4],
"to": [12, 8, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [4, 4.5, -4]},
"faces": {
"north": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"east": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"west": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"up": {"uv": [8, 4, 12, 8], "texture": "#s"}
}
},
{
"from": [4, 7.5, 8],
"to": [8, 8, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 4.5, 0]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"south": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"up": {"uv": [4, 8, 8, 12], "texture": "#s"}
}
},
{
"from": [0, 3.5, 12],
"to": [4, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-4, 0.5, 4]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"east": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"up": {"uv": [0, 12, 4, 16], "texture": "#s"}
}
},
{
"from": [0, 3.5, 4],
"to": [4, 4, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [-4, 0.5, -4]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"east": {"uv": [8, 12, 12, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"up": {"uv": [0, 4, 4, 8], "texture": "#s"}
}
},
{
"from": [4, 3.5, 0],
"to": [8, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0.5, -8]},
"faces": {
"north": {"uv": [8, 12, 12, 12.5], "texture": "#s"},
"east": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"west": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"up": {"uv": [4, 0, 8, 4], "texture": "#s"}
}
},
{
"from": [12, 3.5, 0],
"to": [16, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0.5, -8]},
"faces": {
"north": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"east": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"west": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"up": {"uv": [12, 0, 16, 4], "texture": "#s"}
}
}
]

View file

@ -0,0 +1,396 @@
{
"parent": "block/block",
"textures": {
"2": "engineersdecor:block/material/steel_texture",
"particle": "engineersdecor:block/roof/dark_shingle_roof",
"s": "engineersdecor:block/roof/dark_shingle_roof",
"g": "engineersdecor:block/glass/panzerglass_block_texture0"
},
"elements": [
{
"from": [0, 0, 0],
"to": [4, 3.5, 16],
"faces": {
"north": {"uv": [12, 12, 16, 16], "texture": "#s"},
"south": {"uv": [0, 12, 4, 16], "texture": "#s"},
"west": {"uv": [0, 12, 16, 16], "texture": "#s"},
"up": {"uv": [0, 0, 4, 16], "texture": "#s"},
"down": {"uv": [0, 0, 4, 16], "texture": "#s"}
}
},
{
"from": [4, 0, 12],
"to": [8, 7.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [8, 8.5, 12, 16], "texture": "#s"},
"south": {"uv": [4, 8.5, 8, 16], "texture": "#s"},
"west": {"uv": [12, 8.5, 16, 16], "texture": "#s"},
"up": {"uv": [4, 12, 8, 16], "texture": "#s"},
"down": {"uv": [4, 0, 8, 4], "texture": "#s"}
}
},
{
"from": [4, 0, 0],
"to": [8, 7.5, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -4]},
"faces": {
"north": {"uv": [8, 8.5, 12, 16], "texture": "#s"},
"south": {"uv": [4, 8.5, 8, 16], "texture": "#s"},
"west": {"uv": [0, 8.5, 4, 16], "texture": "#s"},
"up": {"uv": [4, 0, 8, 4], "texture": "#s"},
"down": {"uv": [4, 12, 8, 16], "texture": "#s"}
}
},
{
"from": [8, 0, 12],
"to": [12, 11.5, 16],
"faces": {
"north": {"uv": [4, 4.5, 8, 16], "texture": "#s"},
"south": {"uv": [8, 4.5, 12, 16], "texture": "#s"},
"west": {"uv": [12, 4.5, 16, 16], "texture": "#s"},
"up": {"uv": [8, 12, 12, 16], "texture": "#s"},
"down": {"uv": [8, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [8, 0, 0],
"to": [12, 11.5, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -4]},
"faces": {
"north": {"uv": [4, 4.5, 8, 16], "texture": "#s"},
"south": {"uv": [8, 4.5, 12, 16], "texture": "#s"},
"west": {"uv": [0, 4.5, 4, 16], "texture": "#s"},
"up": {"uv": [8, 0, 12, 4], "texture": "#s"},
"down": {"uv": [8, 12, 12, 16], "texture": "#s"}
}
},
{
"from": [12, 0, 0],
"to": [16, 15.5, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 0.5, 4, 16], "texture": "#s"},
"east": {"uv": [12, 0.5, 16, 16], "texture": "#s"},
"south": {"uv": [12, 0.5, 16, 16], "texture": "#s"},
"west": {"uv": [0, 0.5, 4, 16], "texture": "#s"},
"up": {"uv": [12, 0, 16, 4], "texture": "#s"},
"down": {"uv": [12, 12, 16, 16], "texture": "#s"}
}
},
{
"from": [4, 0, 4],
"to": [16, 4.5, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 12]},
"faces": {
"north": {"uv": [8, 12, 12, 16], "texture": "#s"},
"east": {"uv": [4, 12, 12, 16], "texture": "#s"},
"south": {"uv": [4, 12, 8, 16], "texture": "#s"},
"west": {"uv": [4, 12, 12, 16], "texture": "#s"},
"up": {"uv": [4, 4, 8, 12], "texture": "#s"},
"down": {"uv": [4, 4, 8, 12], "texture": "#s"}
}
},
{
"from": [8, 4, 4],
"to": [8, 11.5, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 16, 12]},
"faces": {
"west": {"uv": [4, 4.5, 12, 16], "texture": "#g"}
}
},
{
"from": [15, 4, 4],
"to": [15, 11.5, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [19, 16, 12]},
"faces": {
"east": {"uv": [4, 4.5, 12, 16], "texture": "#g"}
}
},
{
"from": [12, 11.5, 4],
"to": [16, 15.5, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 23, 12]},
"faces": {
"north": {"uv": [0, 0.5, 4, 4.25], "texture": "#s"},
"east": {"uv": [4, 0.5, 12, 4.25], "texture": "#s"},
"south": {"uv": [12, 0.5, 16, 4.25], "texture": "#s"},
"west": {"uv": [4, 0.5, 12, 4.25], "texture": "#s"},
"up": {"uv": [12, 4, 16, 12], "texture": "#s"},
"down": {"uv": [12, 4, 16, 12], "texture": "#s"}
}
},
{
"from": [12, 0, 12],
"to": [16, 15.5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]},
"faces": {
"north": {"uv": [0, 0.5, 4, 16], "texture": "#s"},
"east": {"uv": [0, 0.5, 4, 16], "texture": "#s"},
"south": {"uv": [12, 0.5, 16, 16], "texture": "#s"},
"west": {"uv": [12, 0.5, 16, 16], "texture": "#s"},
"up": {"uv": [12, 12, 16, 16], "texture": "#s"},
"down": {"uv": [12, 0, 16, 4], "texture": "#s"}
}
},
{
"from": [4, 7.5, 0],
"to": [8, 8, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 8]},
"faces": {
"north": {"uv": [8, 8, 12, 8.5], "texture": "#s"},
"south": {"uv": [4, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [0, 8, 4, 8.5], "texture": "#s"},
"up": {"uv": [4, 0, 8, 4], "texture": "#s"}
}
},
{
"from": [12, 15.5, 0],
"to": [16, 16, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 8]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"up": {"uv": [12, 0, 16, 4], "texture": "#s"}
}
},
{
"from": [15, 15.5, 4],
"to": [16, 16, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 12]},
"faces": {
"east": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"west": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"up": {"uv": [15, 4, 16, 8], "texture": "#s"}
}
},
{
"from": [11, 11.5, 0],
"to": [12, 12, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 8]},
"faces": {
"north": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"up": {"uv": [11, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [3, 3.5, 0],
"to": [4, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 8]},
"faces": {
"north": {"uv": [4, 4, 5, 4.5], "texture": "#s"},
"west": {"uv": [0, 4, 4, 4.5], "texture": "#s"},
"up": {"uv": [11, 0, 12, 4], "texture": "#s"}
}
},
{
"from": [3, 3.5, 8],
"to": [4, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 16]},
"faces": {
"west": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [11, 8, 12, 12], "texture": "#s"}
}
},
{
"from": [15, 15.5, 12],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 20]},
"faces": {
"east": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"south": {"uv": [15, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"up": {"uv": [15, 12, 16, 16], "texture": "#s"}
}
},
{
"from": [7, 7.5, 12],
"to": [8, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 11.5, 20]},
"faces": {
"north": {"uv": [8, 8, 9, 8.5], "texture": "#s"},
"east": {"uv": [0, 8, 4, 8.5], "texture": "#s"},
"south": {"uv": [7, 8, 8, 8.5], "texture": "#s"},
"west": {"uv": [12, 8, 16, 8.5], "texture": "#s"},
"up": {"uv": [7, 12, 8, 16], "texture": "#s"}
}
},
{
"from": [0, 3.5, 4],
"to": [4, 4, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 12]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [4, 12, 8, 12.5], "texture": "#s"},
"up": {"uv": [0, 4, 4, 8], "texture": "#s"}
}
},
{
"from": [0, 3.5, 12],
"to": [4, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 7.5, 20]},
"faces": {
"north": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"south": {"uv": [0, 12, 4, 12.5], "texture": "#s"},
"west": {"uv": [12, 12, 16, 12.5], "texture": "#s"},
"up": {"uv": [0, 12, 4, 16], "texture": "#s"}
}
},
{
"from": [8, 11.5, 12],
"to": [12, 12, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 20]},
"faces": {
"north": {"uv": [4, 4, 8, 4.5], "texture": "#s"},
"south": {"uv": [8, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [12, 4, 16, 4.5], "texture": "#s"},
"up": {"uv": [8, 12, 12, 16], "texture": "#s"}
}
},
{
"from": [8, 11.5, 4],
"to": [12, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 15.5, 16]},
"faces": {
"north": {"uv": [4, 4, 9, 4.5], "texture": "#s"},
"south": {"uv": [7, 4, 12, 4.5], "texture": "#s"},
"west": {"uv": [4, 4, 12, 4.5], "texture": "#s"},
"up": {"uv": [7, 4, 12, 12], "texture": "#s"}
}
},
{
"from": [12, 15.5, 8],
"to": [16, 16, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 19.5, 16]},
"faces": {
"north": {"uv": [0, 0, 4, 0.5], "texture": "#s"},
"east": {"uv": [4, 0, 8, 0.5], "texture": "#s"},
"south": {"uv": [12, 0, 16, 0.5], "texture": "#s"},
"west": {"uv": [8, 0, 12, 0.5], "texture": "#s"},
"up": {"uv": [12, 8, 16, 12], "texture": "#s"}
}
},
{
"from": [7.5, 4.5, 4],
"to": [8.5, 11.5, 5],
"rotation": {"angle": 0, "axis": "y", "origin": [15.5, 12, 12]},
"faces": {
"north": {"uv": [0, 0, 1, 7], "texture": "#2"},
"east": {"uv": [0, 0, 1, 7], "texture": "#2"},
"south": {"uv": [0, 0, 1, 7], "texture": "#2"},
"west": {"uv": [0, 0, 1, 7], "texture": "#2"},
"up": {"uv": [0, 0, 1, 1], "texture": "#2"},
"down": {"uv": [0, 0, 1, 1], "texture": "#2"}
}
},
{
"from": [7.5, 10.5, 5],
"to": [8.5, 11.5, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [15.5, 12, 13]},
"faces": {
"north": {"uv": [0, 0, 1, 1], "texture": "#2"},
"east": {"uv": [0, 0, 6, 1], "texture": "#2"},
"south": {"uv": [0, 0, 1, 1], "texture": "#2"},
"west": {"uv": [0, 0, 6, 1], "texture": "#2"},
"up": {"uv": [0, 0, 1, 6], "texture": "#2"},
"down": {"uv": [0, 0, 1, 6], "texture": "#2"}
}
},
{
"from": [7.5, 4.5, 5],
"to": [8.5, 5.5, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [15.5, 6, 13]},
"faces": {
"north": {"uv": [0, 0, 1, 1], "texture": "#2"},
"east": {"uv": [0, 0, 6, 1], "texture": "#2"},
"south": {"uv": [0, 0, 1, 1], "texture": "#2"},
"west": {"uv": [0, 0, 6, 1], "texture": "#2"},
"up": {"uv": [0, 0, 1, 6], "texture": "#2"},
"down": {"uv": [0, 0, 1, 6], "texture": "#2"}
}
},
{
"from": [7.5, 4.5, 11],
"to": [8.5, 11.5, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [15.5, 12, 19]},
"faces": {
"north": {"uv": [0, 0, 1, 7], "texture": "#2"},
"east": {"uv": [0, 0, 1, 7], "texture": "#2"},
"south": {"uv": [0, 0, 1, 7], "texture": "#2"},
"west": {"uv": [0, 0, 1, 7], "texture": "#2"},
"up": {"uv": [0, 0, 1, 1], "texture": "#2"},
"down": {"uv": [0, 0, 1, 1], "texture": "#2"}
}
},
{
"from": [14.5, 10.5, 5],
"to": [15.5, 11.5, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [22.5, 12, 13]},
"faces": {
"north": {"uv": [0, 0, 1, 1], "texture": "#2"},
"east": {"uv": [0, 0, 6, 1], "texture": "#2"},
"south": {"uv": [0, 0, 1, 1], "texture": "#2"},
"west": {"uv": [0, 0, 6, 1], "texture": "#2"},
"up": {"uv": [0, 0, 1, 6], "texture": "#2"},
"down": {"uv": [0, 0, 1, 6], "texture": "#2"}
}
},
{
"from": [14.5, 4.5, 4],
"to": [15.5, 11.5, 5],
"rotation": {"angle": 0, "axis": "y", "origin": [22.5, 12, 12]},
"faces": {
"north": {"uv": [0, 0, 1, 7], "texture": "#2"},
"east": {"uv": [0, 0, 1, 7], "texture": "#2"},
"south": {"uv": [0, 0, 1, 7], "texture": "#2"},
"west": {"uv": [0, 0, 1, 7], "texture": "#2"},
"up": {"uv": [0, 0, 1, 1], "texture": "#2"},
"down": {"uv": [0, 0, 1, 1], "texture": "#2"}
}
},
{
"from": [14.5, 4.5, 5],
"to": [15.5, 5.5, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [22.5, 6, 13]},
"faces": {
"north": {"uv": [0, 0, 1, 1], "texture": "#2"},
"east": {"uv": [0, 0, 6, 1], "texture": "#2"},
"south": {"uv": [0, 0, 1, 1], "texture": "#2"},
"west": {"uv": [0, 0, 6, 1], "texture": "#2"},
"up": {"uv": [0, 0, 1, 6], "texture": "#2"},
"down": {"uv": [0, 0, 1, 6], "texture": "#2"}
}
},
{
"from": [14.5, 4.5, 11],
"to": [15.5, 11.5, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [22.5, 12, 19]},
"faces": {
"north": {"uv": [0, 0, 1, 7], "texture": "#2"},
"east": {"uv": [0, 0, 1, 7], "texture": "#2"},
"south": {"uv": [0, 0, 1, 7], "texture": "#2"},
"west": {"uv": [0, 0, 1, 7], "texture": "#2"},
"up": {"uv": [0, 0, 1, 1], "texture": "#2"},
"down": {"uv": [0, 0, 1, 1], "texture": "#2"}
}
}
],
"display": {
"thirdperson_lefthand": {
"rotation": [75, -135, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"gui": {
"rotation": [30, 135, 0],
"scale": [0.625, 0.625, 0.625]
},
"head": {
"rotation": [0, -90, 0]
}
}
}

View file

@ -1 +0,0 @@
{ "parent": "engineersdecor:block/concrete/ie_concrete_wall_inventory" }

View file

@ -0,0 +1 @@
{ "parent": "engineersdecor:block/roof/dark_shingle_roof_chimneytrunk_model" }

View file

@ -0,0 +1 @@
{ "parent": "engineersdecor:block/roof/dark_shingle_roof_metallized_model" }

View file

@ -0,0 +1 @@
{ "parent": "engineersdecor:block/roof/dark_shingle_roof_skylight_model" }

View file

@ -1 +0,0 @@
{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/stone_decoration/concrete"}}

View file

@ -1 +1 @@
{ "parent": "engineersdecor:block/pipe/passive_fluid_accumulator_model" }
{ "parent": "minecraft:block/barrier" }

View file

@ -2,7 +2,7 @@
"type": "minecraft:block",
"pools": [
{
"name": "passive_fluid_accumulator_dlt",
"name": "dark_shingle_roof_chimneytrunk_dlt",
"rolls": 1,
"entries": [
{
@ -11,14 +11,9 @@
{
"function": "minecraft:copy_name",
"source": "block_entity"
},
{
"function": "minecraft:copy_nbt",
"source": "block_entity",
"ops": []
}
],
"name": "engineersdecor:passive_fluid_accumulator"
"name": "engineersdecor:dark_shingle_roof_chimneytrunk"
}
]
}

View file

@ -0,0 +1,21 @@
{
"type": "minecraft:block",
"pools": [
{
"name": "dark_shingle_roof_metallized_dlt",
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"functions": [
{
"function": "minecraft:copy_name",
"source": "block_entity"
}
],
"name": "engineersdecor:dark_shingle_roof_metallized"
}
]
}
]
}

View file

@ -2,7 +2,7 @@
"type": "minecraft:block",
"pools": [
{
"name": "concrete_wall_dlt",
"name": "dark_shingle_roof_skylight_dlt",
"rolls": 1,
"entries": [
{
@ -13,7 +13,7 @@
"source": "block_entity"
}
],
"name": "engineersdecor:concrete_wall"
"name": "engineersdecor:dark_shingle_roof_skylight"
}
]
}

View file

@ -1,6 +1,6 @@
{
"name": "Crafting and Smelting",
"description": "Getting things build, cooked, smelted or liquified. ",
"icon": "engineersdecor:treated_wood_crafting_table",
"icon": "engineersdecor:metal_crafting_table",
"sortnum": 5000
}

View file

@ -1,13 +1,13 @@
{
"name": "Metal Crafting Table",
"icon": "engineersdecor:treated_wood_crafting_table",
"icon": "engineersdecor:metal_crafting_table",
"category": "crafting",
"sortnum": 5010,
"pages": [
{
"type": "spotlight",
"title": "Crafting Table",
"item": "engineersdecor:treated_wood_crafting_table",
"item": "engineersdecor:metal_crafting_table",
"text": "This engineering themed workbench allows manual 3x3 crafting. It comes with some convenience tweaks, which are not visible at the first look. These features will be explained on the next pages."
},
{

View file

@ -1,18 +0,0 @@
{
"name": "Passive Fluid Accumulator",
"icon": "engineersdecor:passive_fluid_accumulator",
"category": "fluidics",
"sortnum": 7040,
"pages": [
{
"type": "spotlight",
"title": "Fluid Accumulator",
"item": "engineersdecor:passive_fluid_accumulator",
"text": "This passive collector is useful to drain multiple tanks with one pump. It is basically an empty liquid container with one outlet connector for a suction pump, as well as five inlets for adjacent tanks.$(br)When the pump drains the Fluid Accumulator, the connected tanks will be drained in turn."
},
{
"type": "text",
"text": "The Fluid Accumulator supports pressurised (\"high speed\") fluid transfer of $(o)Immersive Engineering$() pumps, and can drain tanks very quickly. Note that the initial flow rate is low, because the container volume needs to be filled up first by the pump vacuum.$(br2)To place the device, click on the input side of the pump (the outlet is on the face you click). Shift-click placement flips the placement direction."
}
]
}

View file

@ -1,28 +0,0 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"type": "engineersdecor:optional",
"result": "engineersdecor:concrete_halfslab",
"required": ["immersiveengineering:concrete_slab"]
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"SS",
"SS"
],
"key": {
"S": { "item": "immersiveengineering:concrete_slab" }
},
"result": {
"item": "engineersdecor:concrete_halfslab",
"count": 16
}
}
}
]
}

View file

@ -1,28 +0,0 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"type": "engineersdecor:optional",
"result": "engineersdecor:concrete_wall",
"required": ["immersiveengineering:concrete"]
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"CCC",
"CCC"
],
"key": {
"C": { "item": "immersiveengineering:concrete"}
},
"result": {
"item": "engineersdecor:concrete_wall",
"count": 6
}
}
}
]
}

View file

@ -1,28 +0,0 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"type": "engineersdecor:optional",
"result": "immersiveengineering:slab_concrete",
"required": ["engineersdecor:halfslab_concrete"]
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"SS",
"SS"
],
"key": {
"S": { "item": "engineersdecor:halfslab_concrete" }
},
"result": {
"item": "immersiveengineering:slab_concrete",
"count": 1
}
}
}
]
}

View file

@ -1,56 +0,0 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"type": "engineersdecor:optional",
"result": "engineersdecor:passive_fluid_accumulator",
"required": ["#forge:sheetmetal/iron", "immersiveengineering:component_iron", "immersiveengineering:fluid_pipe"]
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"SPS",
"PMP",
"SPS"
],
"key": {
"P": { "item": "immersiveengineering:fluid_pipe" },
"M": { "item": "immersiveengineering:component_iron" },
"S": { "tag" : "forge:sheetmetal/iron" }
},
"result": {
"item": "engineersdecor:passive_fluid_accumulator",
"count": 1
}
}
},
{
"conditions": [
{
"type": "engineersdecor:optional",
"result": "engineersdecor:passive_fluid_accumulator",
"required": ["engineersdecor:straight_pipe_valve"]
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"SPS",
"P P",
"SPS"
],
"key": {
"P": { "item": "engineersdecor:straight_pipe_valve" },
"S": { "item": "minecraft:iron_ingot" }
},
"result": {
"item": "engineersdecor:passive_fluid_accumulator",
"count": 1
}
}
}
]
}

View file

@ -0,0 +1,33 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"type": "engineersdecor:optional",
"result": "engineersdecor:dark_shingle_roof_chimneytrunk",
"required": [ "engineersdecor:dark_shingle_roof", "engineersdecor:thick_steel_pole" ]
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"P",
"R"
],
"key": {
"R": {
"item": "engineersdecor:dark_shingle_roof"
},
"P": {
"item": "engineersdecor:thick_steel_pole"
}
},
"result": {
"item": "engineersdecor:dark_shingle_roof_chimneytrunk",
"count": 1
}
}
}
]
}

View file

@ -0,0 +1,33 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"type": "engineersdecor:optional",
"result": "engineersdecor:dark_shingle_roof_metallized",
"required": [ "engineersdecor:dark_shingle_roof" ]
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"NNN",
"RRR"
],
"key": {
"N": {
"item": "minecraft:iron_nugget"
},
"R": {
"item": "engineersdecor:dark_shingle_roof"
}
},
"result": {
"item": "engineersdecor:dark_shingle_roof_metallized",
"count": 4
}
}
}
]
}

View file

@ -0,0 +1,33 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"type": "engineersdecor:optional",
"result": "engineersdecor:dark_shingle_roof_skylight",
"required": [ "engineersdecor:dark_shingle_roof" ]
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"R ",
"PR"
],
"key": {
"P": {
"item": "minecraft:glass_pane"
},
"R": {
"item": "engineersdecor:dark_shingle_roof"
}
},
"result": {
"item": "engineersdecor:dark_shingle_roof_skylight",
"count": 3
}
}
}
]
}

View file

@ -5,7 +5,7 @@
"conditions": [
{
"type": "engineersdecor:optional",
"result": "engineersdecor:treated_wood_crafting_table"
"result": "engineersdecor:metal_crafting_table"
}
],
"recipe": {
@ -19,7 +19,7 @@
"C": { "item": "minecraft:crafting_table" }
},
"result": {
"item": "engineersdecor:treated_wood_crafting_table",
"item": "engineersdecor:metal_crafting_table",
"count": 1
}
}

View file

@ -1,6 +1,6 @@
{
"pack": {
"description": "engineersdecor resources",
"pack_format": 5
"pack_format": 6
}
}