1.14/1.15: Added E-Furnace GUI process speed switch. Added Steel Mesh Fence Gate.
This commit is contained in:
parent
6e8ecbff19
commit
27a957ba8d
83 changed files with 3490 additions and 336 deletions
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
|
||||
"1.12.2": {
|
||||
"1.0.19": "[R] Release based on v1.0.19-b4. Release-to-release changes: * Transfer fixes for Tree Cutter / Block Braker, and Factory hopper. * Cleanups, feature backports * Visual fixes and improvements\n[A] Backport of status display for Tree Cutter, Block Breaker and Solar Panel.",
|
||||
"1.0.19": "[R] Release based on v1.0.19-b4. Release-to-release changes: * Transfer fixes for Tree Cutter / Block Breaker, and Factory hopper. * Cleanups, feature backports * Visual fixes and improvements\n[A] Backport of status display for Tree Cutter, Block Breaker and Solar Panel.",
|
||||
"1.0.19-b4": "[A] Creative tab opt-out visibility handling added (issue #90, thx pimalel233).",
|
||||
"1.0.19-b3": "[A] Factory Hopper: Added bottom item handler (CR#227).",
|
||||
"1.0.19-b2": "[F] Fixed Floor Grating item pass-through jitters (thx Cid).\n[M] Removed obsolete recipe collision testing recipes.",
|
||||
|
|
|
@ -14,7 +14,7 @@ Mod sources for Minecraft version 1.12.2.
|
|||
|
||||
-------------------------------------------------------------------
|
||||
- v1.0.19 [R] Release based on v1.0.19-b4. Release-to-release changes:
|
||||
* Transfer fixes for Tree Cutter / Block Braker, and Factory hopper.
|
||||
* Transfer fixes for Tree Cutter / Block Breaker, and Factory hopper.
|
||||
* Cleanups, feature backports
|
||||
* Visual fixes and improvements
|
||||
-------------------------------------------------------------------
|
||||
|
|
|
@ -30,7 +30,7 @@ minecraft {
|
|||
runs {
|
||||
client {
|
||||
workingDirectory project.file('run')
|
||||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
|
||||
property 'forge.logging.markers', ''
|
||||
property 'forge.logging.console.level', 'debug'
|
||||
mods {
|
||||
engineersdecor {
|
||||
|
@ -40,7 +40,7 @@ minecraft {
|
|||
}
|
||||
server {
|
||||
workingDirectory project.file('run')
|
||||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
|
||||
property 'forge.logging.markers', ''
|
||||
property 'forge.logging.console.level', 'debug'
|
||||
mods {
|
||||
engineersdecor {
|
||||
|
@ -50,7 +50,7 @@ minecraft {
|
|||
}
|
||||
data {
|
||||
workingDirectory project.file('run')
|
||||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
|
||||
property 'forge.logging.markers', ''
|
||||
property 'forge.logging.console.level', 'debug'
|
||||
args '--mod', 'engineersdecor', '--all', '--output', file('src/generated/resources/')
|
||||
mods {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
org.gradle.daemon=false
|
||||
org.gradle.jvmargs=-Xmx8G
|
||||
version_minecraft=1.14.4
|
||||
version_forge_minecraft=1.14.4-28.2.2
|
||||
version_forge_minecraft=1.14.4-28.2.3
|
||||
version_fml_mappings=20190719-1.14.3
|
||||
version_jei=1.14.4:6.0.0.10
|
||||
version_engineersdecor=1.0.19-b5
|
||||
version_engineersdecor=1.0.20-b1
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
|
||||
"1.14.4": {
|
||||
"1.0.20-b1": "[A] Electrical Furnace: Added four-position speed switch (off, 100%, 150%, 200%), power consumption increases at higher rate (off, 100%, 200%, 400%).\n[A] Added Steel Mesh Fence Gate (single or double height gate fitting to the Steel Mesh Fence).\n[M] Waste Incinerator processing speed tweaked.",
|
||||
"1.0.19-b5": "[A] Added right-click display of power and progress information for Block Breaker, Solar Panel, and Tree Cutter.\n[A] Solar Panel power curve tuned.\n[A] Mod manual 1st edition release recipe added.\n[A] Factory Hopper: Resetting NBT when breaking with empty inventory (for stacking), enabled item cap for all sides.\n[M] Electrical Furnace model polished.",
|
||||
"1.0.19-b4": "[A] Ported primary Immersive Engineering dependent recipes (alternative recipes will still work if IE is not installed).\n[M] Furni comparator output overrides reflect input slots and empty fuel state/power-cutoff.\n[M] Solar Panel config: Default value for internal battery capacity increased.\n[F] Block Placer: Shifted GUI player slots 1px to the right.\n[A] Added mod block tags for slabs, stairs, and walls (PR#89, thanks CrudeAustin for the data).\n[A] Added experimental Patchouli manual (creative only).\n[!] Skipped blacklisting Treated Wood Crafting Table slots for the inventorysorter mod due to potential startup crashes for single player games (issue #88 fix deferred).",
|
||||
"1.0.19-b3": "[M] Config tweaks: Value limit ranges increased to facilitate modpacking.\n[A] Factory Hopper: Added bottom item handler (CR#227).\n[M] Block shapes refined.\n[F] Fixed duping bug (issue #87, thx Nachtflame)",
|
||||
|
@ -49,6 +50,6 @@
|
|||
},
|
||||
"promos": {
|
||||
"1.14.4-recommended": "",
|
||||
"1.14.4-latest": "1.0.19-b5"
|
||||
"1.14.4-latest": "1.0.20-b1"
|
||||
}
|
||||
}
|
|
@ -11,6 +11,11 @@ Mod sources for Minecraft version 1.14.4.
|
|||
|
||||
## Version history
|
||||
|
||||
- v1.0.20-b1 [A] Electrical Furnace: Added four-position speed switch (off, 100%, 150%, 200%), power consumption
|
||||
increases at higher rate (off, 100%, 200%, 400%).
|
||||
[A] Added Steel Mesh Fence Gate (single or double height gate fitting to the Steel Mesh Fence).
|
||||
[M] Waste Incinerator processing speed tweaked.
|
||||
|
||||
- v1.0.19-b5 [A] Added right-click display of power and progress information for Block Breaker, Solar Panel, and Tree Cutter.
|
||||
[A] Solar Panel power curve tuned.
|
||||
[A] Mod manual 1st edition release recipe added.
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
/*
|
||||
* BluSunrize
|
||||
* Copyright (c) 2017
|
||||
*
|
||||
* This code is licensed under "Blu's License of Common Sense"
|
||||
* Details can be found in the license file in the root folder of this project
|
||||
*/
|
||||
|
||||
package blusunrize.immersiveengineering.api.fluid;
|
||||
|
||||
import net.minecraft.util.Direction;
|
||||
|
||||
public interface IFluidPipe
|
||||
{
|
||||
boolean canOutputPressurized(boolean consumePower);
|
||||
|
||||
boolean hasOutputConnection(Direction side);
|
||||
}
|
|
@ -267,7 +267,7 @@ public class ModContent
|
|||
|
||||
public static final BlockDecor.WaterLoggable STEEL_TABLE = (BlockDecor.WaterLoggable)(new BlockDecor.WaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL),
|
||||
Auxiliaries.getPixeledAABB(0,0,0, 16,16,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_table"));
|
||||
|
||||
|
@ -637,6 +637,12 @@ public class ModContent
|
|||
1.5, 16, 0.25, 0, 16
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_mesh_fence"));
|
||||
|
||||
public static final BlockDecorDoubleGate STEEL_MESH_FENCE_GATE = (BlockDecorDoubleGate)(new BlockDecorDoubleGate(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL),
|
||||
Auxiliaries.getPixeledAABB(0,0,6.5, 16,16,9.5)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_mesh_fence_gate"));
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public static final BlockDecorTest TEST_BLOCK = (BlockDecorTest)(new BlockDecorTest(
|
||||
|
@ -714,6 +720,7 @@ public class ModContent
|
|||
FLOOR_EDGE_LIGHT_IRON,
|
||||
STEEL_FLOOR_GRATING,
|
||||
STEEL_MESH_FENCE,
|
||||
STEEL_MESH_FENCE_GATE,
|
||||
TREATED_WOOD_POLE,
|
||||
TREATED_WOOD_POLE_HEAD,
|
||||
TREATED_WOOD_POLE_SUPPORT,
|
||||
|
|
|
@ -0,0 +1,158 @@
|
|||
/*
|
||||
* @file BlockDecorDoubleGate.java
|
||||
* @author Stefan Wilhelm (wile)
|
||||
* @copyright (C) 2019 Stefan Wilhelm
|
||||
* @license MIT (see https://opensource.org/licenses/MIT)
|
||||
*
|
||||
* Gate blocks that can be one or two segments high.
|
||||
*/
|
||||
package wile.engineersdecor.blocks;
|
||||
|
||||
import wile.engineersdecor.libmc.detail.Auxiliaries;
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.state.BooleanProperty;
|
||||
import net.minecraft.state.IntegerProperty;
|
||||
import net.minecraft.state.StateContainer;
|
||||
import net.minecraft.util.SoundCategory;
|
||||
import net.minecraft.util.SoundEvents;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.BlockRayTraceResult;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.util.math.shapes.VoxelShapes;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.IWorld;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.pathfinding.PathType;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class BlockDecorDoubleGate extends BlockDecor.HorizontalWaterLoggable implements IDecorBlock
|
||||
{
|
||||
public static final IntegerProperty SEGMENT = IntegerProperty.create("segment", 0, 1);
|
||||
public static final BooleanProperty OPEN = FenceGateBlock.OPEN;
|
||||
public static final int SEGMENT_LOWER = 0;
|
||||
public static final int SEGMENT_UPPER = 1;
|
||||
protected final ArrayList<VoxelShape> collision_shapes_;
|
||||
|
||||
public BlockDecorDoubleGate(long config, Block.Properties properties, AxisAlignedBB aabb)
|
||||
{ this(config, properties, new AxisAlignedBB[]{aabb}); }
|
||||
|
||||
public BlockDecorDoubleGate(long config, Block.Properties properties, AxisAlignedBB[] aabbs)
|
||||
{
|
||||
super(config, properties, aabbs);
|
||||
AxisAlignedBB[] caabbs = new AxisAlignedBB[aabbs.length];
|
||||
for(int i=0; i<caabbs.length; ++i) caabbs[i] = aabbs[i].expand(0, 0.5, 0);
|
||||
collision_shapes_ = new ArrayList<VoxelShape>(Arrays.asList(
|
||||
VoxelShapes.fullCube(),
|
||||
VoxelShapes.fullCube(),
|
||||
Auxiliaries.getUnionShape(Auxiliaries.getRotatedAABB(caabbs, Direction.NORTH, true)),
|
||||
Auxiliaries.getUnionShape(Auxiliaries.getRotatedAABB(caabbs, Direction.SOUTH, true)),
|
||||
Auxiliaries.getUnionShape(Auxiliaries.getRotatedAABB(caabbs, Direction.WEST, true)),
|
||||
Auxiliaries.getUnionShape(Auxiliaries.getRotatedAABB(caabbs, Direction.EAST, true)),
|
||||
VoxelShapes.fullCube(),
|
||||
VoxelShapes.fullCube()
|
||||
));
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getCollisionShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext selectionContext)
|
||||
{ return state.get(OPEN) ? VoxelShapes.empty() : collision_shapes_.get(state.get(HORIZONTAL_FACING).getIndex() & 0x7); }
|
||||
|
||||
@Override
|
||||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
|
||||
{ super.fillStateContainer(builder); builder.add(SEGMENT).add(OPEN); }
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockState getStateForPlacement(BlockItemUseContext context)
|
||||
{ return getInitialState(super.getStateForPlacement(context), context.getWorld(), context.getPos()); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public BlockState updatePostPlacement(BlockState state, Direction facing, BlockState facingState, IWorld world, BlockPos pos, BlockPos facingPos)
|
||||
{ return getInitialState(super.updatePostPlacement(state, facing, facingState, world, pos, facingPos), world, pos); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if((rayTraceResult.getFace()==Direction.UP) || (rayTraceResult.getFace()==Direction.DOWN) && (player.getHeldItem(hand).getItem()==this.asItem())) return false;
|
||||
if(world.isRemote) return true;
|
||||
final boolean open = !state.get(OPEN);
|
||||
world.setBlockState(pos, state.with(OPEN, open),2|8|16);
|
||||
if(state.get(SEGMENT) == SEGMENT_UPPER) {
|
||||
final BlockState adjacent = world.getBlockState(pos.down());
|
||||
if(adjacent.getBlock()==this) world.setBlockState(pos.down(), adjacent.with(OPEN, open), 2|8|16);
|
||||
} else {
|
||||
final BlockState adjacent = world.getBlockState(pos.up());
|
||||
if(adjacent.getBlock()==this) world.setBlockState(pos.up(), adjacent.with(OPEN, open), 2|8|16);
|
||||
}
|
||||
world.playSound(null, pos, open?SoundEvents.BLOCK_IRON_DOOR_OPEN:SoundEvents.BLOCK_IRON_DOOR_CLOSE, SoundCategory.BLOCKS, 0.7f, 1.4f);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean allowsMovement(BlockState state, IBlockReader world, BlockPos pos, PathType type)
|
||||
{ return state.get(OPEN); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void neighborChanged(BlockState state, World world, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving)
|
||||
{
|
||||
if(world.isRemote) return;
|
||||
boolean powered = false;
|
||||
BlockState adjacent;
|
||||
BlockPos adjacent_pos;
|
||||
if(state.get(SEGMENT) == SEGMENT_UPPER) {
|
||||
adjacent_pos = pos.down();
|
||||
adjacent = world.getBlockState(adjacent_pos);
|
||||
if(adjacent.getBlock()!=this) adjacent = null;
|
||||
if(world.getRedstonePower(pos.up(), Direction.UP) > 0) {
|
||||
powered = true;
|
||||
} else if((adjacent!=null) && (world.isBlockPowered(pos.down(2)))) {
|
||||
powered = true;
|
||||
}
|
||||
} else {
|
||||
adjacent_pos = pos.up();
|
||||
adjacent = world.getBlockState(adjacent_pos);
|
||||
if(adjacent.getBlock()!=this) adjacent = null;
|
||||
if(world.isBlockPowered(pos)) {
|
||||
powered = true;
|
||||
} else if((adjacent!=null) && (world.getRedstonePower(pos.up(2), Direction.UP) > 0)) {
|
||||
powered = true;
|
||||
}
|
||||
}
|
||||
boolean sound = false;
|
||||
if(powered != state.get(OPEN)) {
|
||||
world.setBlockState(pos, state.with(OPEN, powered), 2|8|16);
|
||||
sound = true;
|
||||
}
|
||||
if((adjacent != null) && (powered != adjacent.get(OPEN))) {
|
||||
world.setBlockState(adjacent_pos, adjacent.with(OPEN, powered), 2|8|16);
|
||||
sound = true;
|
||||
}
|
||||
if(sound) {
|
||||
world.playSound(null, pos, powered?SoundEvents.BLOCK_IRON_DOOR_OPEN:SoundEvents.BLOCK_IRON_DOOR_CLOSE, SoundCategory.BLOCKS, 0.7f, 1.4f);
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
private BlockState getInitialState(BlockState state, IWorld world, BlockPos pos)
|
||||
{
|
||||
final BlockState down = world.getBlockState(pos.down());
|
||||
if(down.getBlock() == this) return state.with(SEGMENT, SEGMENT_UPPER).with(OPEN, down.get(OPEN)).with(HORIZONTAL_FACING, down.get(HORIZONTAL_FACING));
|
||||
final BlockState up = world.getBlockState(pos.up());
|
||||
if(up.getBlock() == this) return state.with(SEGMENT, SEGMENT_LOWER).with(OPEN, up.get(OPEN)).with(HORIZONTAL_FACING, up.get(HORIZONTAL_FACING));
|
||||
return state.with(SEGMENT, SEGMENT_LOWER).with(OPEN, false);
|
||||
}
|
||||
|
||||
}
|
|
@ -8,6 +8,9 @@
|
|||
*/
|
||||
package wile.engineersdecor.blocks;
|
||||
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IWorldReader;
|
||||
import wile.engineersdecor.libmc.blocks.StandardFenceBlock;
|
||||
import net.minecraft.block.*;
|
||||
|
||||
|
@ -18,4 +21,9 @@ public class BlockDecorFence extends StandardFenceBlock implements IDecorBlock
|
|||
|
||||
public BlockDecorFence(long config, Block.Properties properties, double pole_width, double pole_height, double side_width, double side_max_y, double side_min_y)
|
||||
{ super(config, properties, pole_width, pole_height, side_width, side_max_y, side_min_y); }
|
||||
|
||||
@Override
|
||||
protected boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||
{ return ((facingState.getBlock()) instanceof BlockDecorDoubleGate) || super.attachesTo(facingState, world, facingPos, side); }
|
||||
|
||||
}
|
||||
|
|
|
@ -113,7 +113,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
public static final int FIFO_INTERVAL = 20;
|
||||
public static final int HEAT_CAPACITY = 200;
|
||||
public static final int HEAT_INCREMENT = 20;
|
||||
public static final int MAX_ENERGY_TRANSFER = 256;
|
||||
public static final int MAX_ENERGY_TRANSFER = 1024;
|
||||
public static final int MAX_ENERGY_BUFFER = 32000;
|
||||
public static final int MAX_SPEED_SETTING = 2;
|
||||
public static final int NUM_OF_SLOTS = 7;
|
||||
|
@ -134,6 +134,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
private static int energy_consumption_ = DEFAULT_SCALED_ENERGY_CONSUMPTION;
|
||||
private static int transfer_energy_consumption_ = DEFAULT_SCALED_ENERGY_CONSUMPTION / 8;
|
||||
private static int proc_speed_percent_ = DEFAULT_SPEED_PERCENT;
|
||||
private static double speed_setting_factor_[] = {0.0, 1.0, 1.5, 2.0};
|
||||
|
||||
public static void on_config(int speed_percent, int standard_energy_per_tick, boolean with_automatic_inventory_pulling)
|
||||
{
|
||||
|
@ -146,15 +147,16 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
|
||||
// BTileEntity -----------------------------------------------------------------------------
|
||||
|
||||
private int burntime_left_;
|
||||
private int proc_time_elapsed_;
|
||||
private int proc_time_needed_;
|
||||
private int energy_stored_;
|
||||
private int field_max_energy_stored_;
|
||||
private int field_isburning_;
|
||||
private int speed_;
|
||||
private int tick_timer_;
|
||||
private int fifo_timer_;
|
||||
private int burntime_left_ = 0;
|
||||
private int proc_time_elapsed_ = 0;
|
||||
private int proc_time_needed_ = 0;
|
||||
private int energy_stored_ = 0;
|
||||
private int field_max_energy_stored_ = 0;
|
||||
private int field_isburning_ = 0;
|
||||
private int speed_ = 1;
|
||||
private int tick_timer_ = 0;
|
||||
private int fifo_timer_ = 0;
|
||||
private boolean enabled_ = false;
|
||||
|
||||
public BTileEntity()
|
||||
{ this(ModContent.TET_SMALL_ELECTRICAL_FURNACE); }
|
||||
|
@ -186,6 +188,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
proc_time_needed_ = nbt.getInt("CookTimeTotal");
|
||||
energy_stored_ = nbt.getInt("Energy");
|
||||
speed_ = nbt.getInt("SpeedSetting");
|
||||
speed_ = (speed_ < 0) ? (1) : ((speed_>3) ? 3 : speed_);
|
||||
}
|
||||
|
||||
protected void writenbt(CompoundNBT nbt)
|
||||
|
@ -469,7 +472,12 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
if(transferItems(FIFO_INPUT_0_SLOT_NO, SMELTING_INPUT_SLOT_NO, 64)) dirty = true;
|
||||
if(transferItems(FIFO_INPUT_1_SLOT_NO, FIFO_INPUT_0_SLOT_NO, 64)) { dirty = true; } else { shift_in = true; }
|
||||
}
|
||||
if((!(stacks_.get(SMELTING_INPUT_SLOT_NO)).isEmpty()) && (energy_stored_ >= energy_consumption_)) {
|
||||
if(energy_stored_ < energy_consumption()) {
|
||||
enabled_ = false;
|
||||
} else if(energy_stored_ >= (MAX_ENERGY_BUFFER/2)) {
|
||||
enabled_ = true;
|
||||
}
|
||||
if((!(stacks_.get(SMELTING_INPUT_SLOT_NO)).isEmpty()) && (enabled_) && (speed_>0) && (speed_<4)) {
|
||||
IRecipe last_recipe = currentRecipe();
|
||||
updateCurrentRecipe();
|
||||
if(currentRecipe() != last_recipe) {
|
||||
|
@ -487,7 +495,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
}
|
||||
if(burning() && can_smelt) {
|
||||
if(heat_up()) dirty = true;
|
||||
proc_time_elapsed_ += (TICK_INTERVAL * proc_speed_percent_/100);
|
||||
proc_time_elapsed_ += (int)(TICK_INTERVAL * proc_speed_percent_ * speed_setting_factor_[speed_] / 100);
|
||||
if(proc_time_elapsed_ >= proc_time_needed_) {
|
||||
proc_time_elapsed_ = 0;
|
||||
proc_time_needed_ = getSmeltingTimeNeeded(world, stacks_.get(SMELTING_INPUT_SLOT_NO));
|
||||
|
@ -511,7 +519,6 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
if(dirty) markDirty();
|
||||
field_max_energy_stored_ = getMaxEnergyStored();
|
||||
field_isburning_ = burning() ? 1 : 0;
|
||||
//if(this.energy_stored_ < this.getMaxEnergyStored() / 5) this.energy_stored_ = this.getMaxEnergyStored();
|
||||
}
|
||||
|
||||
// Furnace --------------------------------------------------------------------------------------
|
||||
|
@ -597,15 +604,25 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
return dirty;
|
||||
}
|
||||
|
||||
// returns TE dirty
|
||||
int energy_consumption()
|
||||
{
|
||||
switch(speed_) {
|
||||
case 1: return energy_consumption_;
|
||||
case 2: return energy_consumption_ * 2;
|
||||
case 3: return energy_consumption_ * 4;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean heat_up()
|
||||
{
|
||||
if(energy_stored_ < (energy_consumption_)) return false;
|
||||
int p = energy_consumption();
|
||||
if((p<=0) || (energy_stored_ < p)) return false;
|
||||
if(burntime_left_ >= (HEAT_CAPACITY-HEAT_INCREMENT)) return false;
|
||||
energy_stored_ -= energy_consumption_;
|
||||
energy_stored_ -= p;
|
||||
burntime_left_ += HEAT_INCREMENT;
|
||||
this.markDirty();
|
||||
return true;
|
||||
return true; // returns TE dirty
|
||||
}
|
||||
|
||||
private void sync_blockstate()
|
||||
|
@ -731,7 +748,12 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
|
||||
@Override
|
||||
public void onClientPacketReceived(int windowId, PlayerEntity player, CompoundNBT nbt)
|
||||
{}
|
||||
{
|
||||
if(!(inventory_ instanceof BTileEntity)) return;
|
||||
BTileEntity te = (BTileEntity)inventory_;
|
||||
if(nbt.contains("speed")) te.speed_ = MathHelper.clamp(nbt.getInt("speed"), 0, 3);
|
||||
te.markDirty();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -773,6 +795,32 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
blit(x0+79, y0+30, 176, 15, 1+progress_px(17), 15);
|
||||
int we = energy_px(32, 8);
|
||||
if(we>0) blit(x0+88, y0+53, 185, 30, we, 13);
|
||||
switch(getContainer().field(4)) {
|
||||
case 0: blit(x0+144, y0+57, 180, 57, 6, 9); break;
|
||||
case 1: blit(x0+142, y0+58, 190, 58, 9, 6); break;
|
||||
case 2: blit(x0+144, y0+56, 200, 57, 6, 9); break;
|
||||
case 3: blit(x0+143, y0+58, 210, 58, 9, 6); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean mouseClicked(double mouseX, double mouseY, int mouseButton)
|
||||
{
|
||||
BContainer container = (BContainer)getContainer();
|
||||
int mx = (int)(mouseX - getGuiLeft() + .5), my = (int)(mouseY - getGuiTop() + .5);
|
||||
if((!isPointInRegion(136, 48, 28, 28, mouseX, mouseY))) {
|
||||
return super.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
} else if(isPointInRegion(144, 64, 6, 10, mouseX, mouseY)) {
|
||||
container.onGuiAction("speed", 0);
|
||||
} else if(isPointInRegion(134, 58, 10, 6, mouseX, mouseY)) {
|
||||
container.onGuiAction("speed", 1);
|
||||
} else if(isPointInRegion(144, 48, 6, 10, mouseX, mouseY)) {
|
||||
container.onGuiAction("speed", 2);
|
||||
} else if(isPointInRegion(150, 58, 10, 6, mouseX, mouseY)) {
|
||||
container.onGuiAction("speed", 3);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private int progress_px(int pixels)
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
*/
|
||||
package wile.engineersdecor.blocks;
|
||||
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShapes;
|
||||
import wile.engineersdecor.ModContent;
|
||||
import wile.engineersdecor.ModEngineersDecor;
|
||||
import wile.engineersdecor.libmc.blocks.StandardBlocks;
|
||||
|
@ -64,6 +66,10 @@ public class BlockDecorHopper extends StandardBlocks.Directed implements IDecorB
|
|||
public boolean hasComparatorInputOverride(BlockState state)
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
public VoxelShape getCollisionShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext context)
|
||||
{ return VoxelShapes.fullCube(); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public int getComparatorInputOverride(BlockState blockState, World world, BlockPos pos)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* @file BlockDecorDirected.java
|
||||
* @file BlockDecorSolarPanel.java
|
||||
* @author Stefan Wilhelm (wile)
|
||||
* @copyright (C) 2019 Stefan Wilhelm
|
||||
* @license MIT (see https://opensource.org/licenses/MIT)
|
||||
|
|
|
@ -168,6 +168,7 @@ public class BlockDecorWasteIncinerator extends StandardBlocks.BaseBlock impleme
|
|||
public static final int NUM_OF_FIELDS = 1;
|
||||
public static final int TICK_INTERVAL = 20;
|
||||
public static final int ENERGIZED_TICK_INTERVAL = 5;
|
||||
public static final int INCINERATION_STACK_DECREMENT = 4;
|
||||
public static final int MAX_ENERGY_BUFFER = 16000;
|
||||
public static final int MAX_ENERGY_TRANSFER = 256;
|
||||
public static final int DEFAULT_ENERGY_CONSUMPTION = 16;
|
||||
|
@ -192,7 +193,6 @@ public class BlockDecorWasteIncinerator extends StandardBlocks.BaseBlock impleme
|
|||
private int energy_stored_;
|
||||
protected NonNullList<ItemStack> stacks_ = NonNullList.<ItemStack>withSize(NUM_OF_SLOTS, ItemStack.EMPTY);
|
||||
|
||||
|
||||
public BTileEntity()
|
||||
{ this(ModContent.TET_WASTE_INCINERATOR); }
|
||||
|
||||
|
@ -505,7 +505,7 @@ public class BlockDecorWasteIncinerator extends StandardBlocks.BaseBlock impleme
|
|||
ItemStack first_stack = stacks_.get(0);
|
||||
boolean shift = !first_stack.isEmpty();
|
||||
if(is_processing) {
|
||||
processing_stack.shrink(1);
|
||||
processing_stack.shrink(INCINERATION_STACK_DECREMENT);
|
||||
if(processing_stack.getCount() <= 0) {
|
||||
processing_stack = ItemStack.EMPTY;
|
||||
is_processing = false;
|
||||
|
@ -518,22 +518,11 @@ public class BlockDecorWasteIncinerator extends StandardBlocks.BaseBlock impleme
|
|||
dirty = true;
|
||||
}
|
||||
if(shift) {
|
||||
int max_shift_slot_no = BURN_SLOT_NO-1;
|
||||
for(int i=1; i<BURN_SLOT_NO-1; ++i) { if(stacks_.get(i).isEmpty()) { max_shift_slot_no=i; break; } }
|
||||
if(max_shift_slot_no < (BURN_SLOT_NO-1)) {
|
||||
// re-stack
|
||||
boolean stacked = false;
|
||||
for(int i=1; i<=max_shift_slot_no; ++i) {
|
||||
if(transferItems(i-1, i, getInventoryStackLimit())) {
|
||||
dirty = true;
|
||||
stacked = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!stacked) {
|
||||
shiftStacks(0, max_shift_slot_no);
|
||||
}
|
||||
} else if(!is_processing) {
|
||||
boolean transferred = false;
|
||||
for(int i=BURN_SLOT_NO-1; i>0; --i) {
|
||||
transferred |= transferItems(i-1, i, getInventoryStackLimit());
|
||||
}
|
||||
if((!is_processing) && (!transferred)) {
|
||||
shiftStacks(0, BURN_SLOT_NO);
|
||||
dirty = true;
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ public class StandardFenceBlock extends WallBlock implements StandardBlocks.ISta
|
|||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
|
||||
{ super.fillStateContainer(builder); }
|
||||
|
||||
private boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||
protected boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||
{
|
||||
final Block block = facingState.getBlock();
|
||||
if((block instanceof FenceGateBlock) || (block instanceof StandardFenceBlock) || (block instanceof VariantWallBlock)) return true;
|
||||
|
|
|
@ -58,10 +58,13 @@ public class LootTableGen extends LootTableProvider
|
|||
final List<Block> blocks = block_listing.get();
|
||||
blocks.forEach((block)->{
|
||||
if((!(block instanceof StandardBlocks.IStandardBlock)) || (!(((StandardBlocks.IStandardBlock)block).hasDynamicDropList()))) {
|
||||
System.out.println("Generating loot table for " + block.getRegistryName());
|
||||
tables.put(
|
||||
block.getLootTable(),
|
||||
defaultBlockDrops(block.getRegistryName().getPath() + "_dlt", block)
|
||||
.setParameterSet(LootParameterSets.BLOCK).build());
|
||||
} else {
|
||||
System.out.println("Dynamic drop list, skipping loot table for " + block.getRegistryName());
|
||||
}
|
||||
});
|
||||
return tables;
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=north,open=false,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model" },
|
||||
"facing=north,open=true,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model_open" },
|
||||
"facing=south,open=false,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model" , "y":180 },
|
||||
"facing=south,open=true,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model_open", "y":180 },
|
||||
"facing=west,open=false,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model" , "y":270 },
|
||||
"facing=west,open=true,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model_open", "y":270 },
|
||||
"facing=east,open=false,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model" , "y":90 },
|
||||
"facing=east,open=true,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model_open", "y":90 },
|
||||
|
||||
"facing=north,open=false,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model" },
|
||||
"facing=north,open=true,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model_open" },
|
||||
"facing=south,open=false,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model" , "y":180 },
|
||||
"facing=south,open=true,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model_open", "y":180 },
|
||||
"facing=west,open=false,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model" , "y":270 },
|
||||
"facing=west,open=true,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model_open", "y":270 },
|
||||
"facing=east,open=false,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model" , "y":90 },
|
||||
"facing=east,open=true,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model_open", "y":90 }
|
||||
}
|
||||
}
|
|
@ -151,6 +151,8 @@
|
|||
"block.engineersdecor.steel_framed_window.help": "§6Steel framed triple glazed window. Well insulating. §r Does not connect to adjacent blocks like glass panes.",
|
||||
"block.engineersdecor.steel_mesh_fence": "Steel Mesh Fence",
|
||||
"block.engineersdecor.steel_mesh_fence.help": "§6Industrial style fence.§r\nDoes not connect do regular fences.",
|
||||
"block.engineersdecor.steel_mesh_fence_gate": "Steel Mesh Fence Gate",
|
||||
"block.engineersdecor.steel_mesh_fence_gate.help": "§6Industrial style fence gate that fits well to the Steel Mesh Fence.§r\nCan be placed as single or double size gate.",
|
||||
"block.engineersdecor.small_lab_furnace": "Small Laboratory Furnace",
|
||||
"block.engineersdecor.small_lab_furnace.help": "§6Small metal cased lab kiln.§r Solid fuel consuming, updraught. Slightly hotter and better isolated than a cobblestone furnace, therefore more efficient. Two auxiliary slots e.g. for storage. Two stack internal hopper fifos for input, output, and fuel. Place an external heater into a aux slot and connect power for electrical smelting speed boost.",
|
||||
"block.engineersdecor.small_electrical_furnace": "Small Electrical Furnace",
|
||||
|
|
|
@ -151,6 +151,8 @@
|
|||
"block.engineersdecor.steel_framed_window.help": "§6Стальной каркас окна с тройным остеклением. Хорошо изолирует. §r Не подключается к смежным блокам, таким как стеклянные панели.",
|
||||
"block.engineersdecor.steel_mesh_fence": "Забор из стальной сетки",
|
||||
"block.engineersdecor.steel_mesh_fence.help": "§6Забор в индустриальном стиле.§r\nНе стыкуется с обычными заборами.",
|
||||
"block.engineersdecor.steel_mesh_fence_gate": "Steel Mesh Fence Gate",
|
||||
"block.engineersdecor.steel_mesh_fence_gate.help": "§6Industrial style fence gate that fits well to the Steel Mesh Fence.§r\nCan be placed as single or double size gate.",
|
||||
"block.engineersdecor.small_lab_furnace": "Компактная лабораторная печь",
|
||||
"block.engineersdecor.small_lab_furnace.help": "§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива сверху. Немного горячее и изолированней каменной, поэтому быстрее. Два вспомогательных слота, например для хранения. Два слота-воронки для ввода, вывода, и топлива. Поместите внешний нагреватель в слот AUX и подключите питание для электрического повышения скорости обработки.",
|
||||
"block.engineersdecor.small_electrical_furnace": "Компактная конвейерная электрическая печь",
|
||||
|
|
|
@ -151,6 +151,8 @@
|
|||
"block.engineersdecor.steel_framed_window.help": "§6钢框三层玻璃窗。绝缘良好。§r不像玻璃板一样连接到相邻方块。",
|
||||
"block.engineersdecor.steel_mesh_fence": "钢丝栅栏",
|
||||
"block.engineersdecor.steel_mesh_fence.help": "§6工业式栅栏。§r\n不与普通栅栏连接。",
|
||||
"block.engineersdecor.steel_mesh_fence_gate": "Steel Mesh Fence Gate",
|
||||
"block.engineersdecor.steel_mesh_fence_gate.help": "§6Industrial style fence gate that fits well to the Steel Mesh Fence.§r\nCan be placed as single or double size gate.",
|
||||
"block.engineersdecor.small_lab_furnace": "小型实验室炉",
|
||||
"block.engineersdecor.small_lab_furnace.help": "§6小型金属壳实验室窑。§r消耗固体燃料,向上排气。 比圆石炉稍微热一点,隔热性也更好,因此效率更高。 有两个用于储存的辅助格。两个堆叠的内部漏斗对输入、输出和燃料进行队列管理。 在辅助格放置一个外置加热器并通入电力可以加快熔炼速度。",
|
||||
"block.engineersdecor.small_electrical_furnace": "小型电炉",
|
||||
|
|
|
@ -0,0 +1,267 @@
|
|||
{
|
||||
"textures": {
|
||||
"p": "engineersdecor:block/fence/steel_mesh_pole_side",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [3.125, 13.625, 9.4375],
|
||||
"to": [12.8125, 13.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 2.02, 15.5, 2.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 2.02, 15.9375, 2.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 9.625, 9.4375],
|
||||
"to": [12.8125, 9.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 6.02, 15.5, 6.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 6.02, 15.9375, 6.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 5.625, 9.4375],
|
||||
"to": [12.8125, 5.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 10.02, 15.5, 10.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 10.02, 15.9375, 10.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 1.625, 9.4375],
|
||||
"to": [12.8125, 1.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 14.02, 15.5, 14.375], "texture": "#s"},
|
||||
"east": {"uv": [8, 14.02, 8.1875, 14.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 14.02, 15.9375, 14.375], "texture": "#s"},
|
||||
"west": {"uv": [7.8125, 14.02, 8, 14.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 11.625, 9.625],
|
||||
"to": [12.8125, 11.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 4.02, 15.5, 4.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 4.02, 15.9375, 4.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 12.625, 9.875],
|
||||
"to": [5.3125, 13.23, 10.1875],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 9.5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.6875, 2.77, 12.875, 3.375], "texture": "#s"},
|
||||
"east": {"uv": [5.8125, 2.77, 6, 3.375], "texture": "#s"},
|
||||
"south": {"uv": [3.125, 2.77, 5.3125, 3.375], "texture": "#s"},
|
||||
"west": {"uv": [10, 2.77, 10.1875, 3.375], "texture": "#s"},
|
||||
"up": {"uv": [3.125, 10, 5.3125, 10.1875], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [3.125, 5.8125, 5.3125, 6], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 12.625, 9],
|
||||
"to": [5.3125, 13.23, 9.3125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 9.5, 9.125]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.6875, 2.77, 12.875, 3.375], "texture": "#s"},
|
||||
"east": {"uv": [5.8125, 2.77, 6, 3.375], "texture": "#s"},
|
||||
"south": {"uv": [3.125, 2.77, 5.3125, 3.375], "texture": "#s"},
|
||||
"west": {"uv": [10, 2.77, 10.1875, 3.375], "texture": "#s"},
|
||||
"up": {"uv": [3.125, 10, 5.3125, 10.1875], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [3.125, 5.8125, 5.3125, 6], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 7.625, 9.625],
|
||||
"to": [12.9375, 7.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 8.02, 15.5, 8.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 8.02, 15.9375, 8.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 3.625, 9.625],
|
||||
"to": [12.9375, 3.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 12.02, 15.5, 12.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 12.02, 15.9375, 12.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 1, 9.25],
|
||||
"to": [13, 16, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 15, 9.25],
|
||||
"to": [12.25, 16, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"south": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 1, 9.25],
|
||||
"to": [12.25, 2, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, -5.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"east": {"uv": [7.625, 0, 8.375, 1], "texture": "#s"},
|
||||
"south": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"west": {"uv": [7.625, 0, 8.375, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3, 1, 9.25],
|
||||
"to": [3.75, 16, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"south": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"},
|
||||
"down": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 270, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [3, 16, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"},
|
||||
"down": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 270, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.5, 0, 9.5],
|
||||
"to": [3, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"},
|
||||
"down": {"uv": [0, 5.5, 3, 6.5], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 9.5],
|
||||
"to": [15.5, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"},
|
||||
"down": {"uv": [0, 5.5, 3, 6.5], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11.75, 1.375, 9.5],
|
||||
"to": [12.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.875, 0.145, 4.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [11.75, 0.145, 12.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.75, 1.375, 9.5],
|
||||
"to": [8.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.75, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 1.375, 9.5],
|
||||
"to": [4.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [11.875, 0.145, 12.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [3.75, 0.145, 4.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.75, 1.375, 9.5],
|
||||
"to": [10.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [5.875, 0.145, 6.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [9.75, 0.145, 10.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.75, 1.375, 9.5],
|
||||
"to": [6.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [9.875, 0.145, 10.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [5.75, 0.145, 6.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,267 @@
|
|||
{
|
||||
"textures": {
|
||||
"p": "engineersdecor:block/fence/steel_mesh_pole_side",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [12.625, 13.625, 0.125],
|
||||
"to": [12.8125, 13.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 2.02, 15.5, 2.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 2.02, 15.9375, 2.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 9.625, 0.125],
|
||||
"to": [12.8125, 9.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 6.02, 15.5, 6.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 6.02, 15.9375, 6.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 5.625, 0.125],
|
||||
"to": [12.8125, 5.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 10.02, 15.5, 10.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 10.02, 15.9375, 10.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 1.625, 0.125],
|
||||
"to": [12.8125, 1.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.8125, 14.02, 8, 14.375], "texture": "#s"},
|
||||
"east": {"uv": [0.0625, 14.02, 15.5, 14.375], "texture": "#s"},
|
||||
"south": {"uv": [8, 14.02, 8.1875, 14.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 14.02, 15.9375, 14.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 11.625, 0.125],
|
||||
"to": [12.625, 11.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 4.02, 15.5, 4.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 4.02, 15.9375, 4.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.0625, 12.625, 0.125],
|
||||
"to": [12.375, 13.23, 2.3125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 2.77, 10.1875, 3.375], "texture": "#s"},
|
||||
"east": {"uv": [10.6875, 2.77, 12.875, 3.375], "texture": "#s"},
|
||||
"south": {"uv": [5.8125, 2.77, 6, 3.375], "texture": "#s"},
|
||||
"west": {"uv": [3.125, 2.77, 5.3125, 3.375], "texture": "#s"},
|
||||
"up": {"uv": [3.125, 10, 5.3125, 10.1875], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [3.125, 5.8125, 5.3125, 6], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.9375, 12.625, 0.125],
|
||||
"to": [13.25, 13.23, 2.3125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 2.77, 10.1875, 3.375], "texture": "#s"},
|
||||
"east": {"uv": [10.6875, 2.77, 12.875, 3.375], "texture": "#s"},
|
||||
"south": {"uv": [5.8125, 2.77, 6, 3.375], "texture": "#s"},
|
||||
"west": {"uv": [3.125, 2.77, 5.3125, 3.375], "texture": "#s"},
|
||||
"up": {"uv": [3.125, 10, 5.3125, 10.1875], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [3.125, 5.8125, 5.3125, 6], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 7.625, 0.5],
|
||||
"to": [12.625, 7.98, 9.9375],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 8.02, 15.5, 8.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 8.02, 15.9375, 8.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 3.625, 0.5],
|
||||
"to": [12.625, 3.98, 9.9375],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 12.02, 15.5, 12.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 12.02, 15.9375, 12.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 1, 9.25],
|
||||
"to": [13, 16, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"east": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"west": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 15, 0.75],
|
||||
"to": [13, 16, 9.25],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"west": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 1, 0.75],
|
||||
"to": [13, 2, 9.25],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"west": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 1, 0],
|
||||
"to": [13, 16, 0.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"east": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"west": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"},
|
||||
"down": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 270, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [3, 16, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"},
|
||||
"down": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 270, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.5, 0, 9.5],
|
||||
"to": [3, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"},
|
||||
"down": {"uv": [0, 5.5, 3, 6.5], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 9.5],
|
||||
"to": [15.5, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"},
|
||||
"down": {"uv": [0, 5.5, 3, 6.5], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 8.75],
|
||||
"to": [12.75, 15.855, 9.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [3.875, 0.145, 4.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [11.75, 0.145, 12.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 4.75],
|
||||
"to": [12.75, 15.855, 5.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.75, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 0.75],
|
||||
"to": [12.75, 15.855, 1.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [11.875, 0.145, 12.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [3.75, 0.145, 4.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 6.75],
|
||||
"to": [12.75, 15.855, 7.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [5.875, 0.145, 6.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [9.75, 0.145, 10.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 2.75],
|
||||
"to": [12.75, 15.855, 3.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [9.875, 0.145, 10.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [5.75, 0.145, 6.125, 15], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,319 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [7.5, 0, 3],
|
||||
"to": [8.5, 16, 4],
|
||||
"faces": {
|
||||
"north": {"uv": [7.5, 0, 8.5, 16], "texture": "#s"},
|
||||
"east": {"uv": [12, 0, 13, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.5, 0, 8.5, 16], "texture": "#s"},
|
||||
"west": {"uv": [3, 0, 4, 16], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 3, 8.5, 4], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 12, 8.5, 13], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 0, 12],
|
||||
"to": [8.5, 16, 13],
|
||||
"faces": {
|
||||
"north": {"uv": [7.5, 0, 8.5, 16], "texture": "#s"},
|
||||
"east": {"uv": [3, 0, 4, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.5, 0, 8.5, 16], "texture": "#s"},
|
||||
"west": {"uv": [12, 0, 13, 16], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 12, 8.5, 13], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 3, 8.5, 4], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 15, 4],
|
||||
"to": [8.5, 16, 12],
|
||||
"faces": {
|
||||
"east": {"uv": [4, 0, 12, 1], "texture": "#s"},
|
||||
"west": {"uv": [4, 0, 12, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 4, 8.5, 12], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 4, 8.5, 12], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 7, 4],
|
||||
"to": [8.5, 9, 5],
|
||||
"faces": {
|
||||
"east": {"uv": [11, 7, 12, 9], "texture": "#s"},
|
||||
"south": {"uv": [7.5, 7, 8.5, 9], "texture": "#s"},
|
||||
"west": {"uv": [4, 7, 5, 9], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 4, 8.5, 5], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 11, 8.5, 12], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 0, 4],
|
||||
"to": [8.5, 0.5, 12],
|
||||
"faces": {
|
||||
"east": {"uv": [4, 15.5, 12, 16], "texture": "#s"},
|
||||
"west": {"uv": [4, 15.5, 12, 16], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 4, 8.5, 12], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 4, 8.5, 12], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 4.125, 3.5],
|
||||
"to": [8.125, 4.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 11.5, 12.5, 11.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 11.5, 12.5, 11.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 5.8125],
|
||||
"to": [8.05, 15.375, 6.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [9.8125, 0.625, 10.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [5.8125, 0.625, 6.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 8.125, 3.5],
|
||||
"to": [8.125, 8.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 7.5, 12.5, 7.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 7.5, 12.5, 7.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 9.8125],
|
||||
"to": [8.05, 15.375, 10.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [5.8125, 0.625, 6.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [9.8125, 0.625, 10.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 12.125, 3.5],
|
||||
"to": [8.125, 12.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 3.5, 12.5, 3.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 3.5, 12.5, 3.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 2.125, 3.5],
|
||||
"to": [8.125, 2.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 13.5, 12.5, 13.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 13.5, 12.5, 13.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 3.8125],
|
||||
"to": [8.05, 15.375, 4.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [11.8125, 0.625, 12.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [3.8125, 0.625, 4.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 6.125, 3.5],
|
||||
"to": [8.125, 6.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 9.5, 12.5, 9.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 9.5, 12.5, 9.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 7.8125],
|
||||
"to": [8.05, 15.375, 8.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [7.8125, 0.625, 8.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [7.8125, 0.625, 8.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 10.125, 3.5],
|
||||
"to": [8.125, 10.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 5.5, 12.5, 5.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 5.5, 12.5, 5.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 11.8125],
|
||||
"to": [8.05, 15.375, 12.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [3.8125, 0.625, 4.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [11.8125, 0.625, 12.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 14.125, 3.5],
|
||||
"to": [8.125, 14.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 1.5, 12.5, 1.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 1.5, 12.5, 1.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 1.125, 3.5],
|
||||
"to": [8, 1.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 14.5, 12.5, 14.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 14.5, 12.5, 14.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 5.125, 3.5],
|
||||
"to": [8, 5.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 10.5, 12.5, 10.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 10.5, 12.5, 10.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 6.8125],
|
||||
"to": [8.05, 15.375, 7.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [8.8125, 0.625, 9.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [6.8125, 0.625, 7.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 9.125, 3.5],
|
||||
"to": [8, 9.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 6.5, 12.5, 6.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 6.5, 12.5, 6.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 10.8125],
|
||||
"to": [8.05, 15.375, 11.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [4.8125, 0.625, 5.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [10.8125, 0.625, 11.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 13.125, 3.5],
|
||||
"to": [8, 13.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 2.5, 12.5, 2.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 2.5, 12.5, 2.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 3.125, 3.5],
|
||||
"to": [8, 3.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 12.5, 12.5, 12.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 12.5, 12.5, 12.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 4.8125],
|
||||
"to": [8.05, 15.375, 5.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [10.8125, 0.625, 11.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [4.8125, 0.625, 5.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 7.125, 3.5],
|
||||
"to": [8, 7.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 8.5, 12.5, 8.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 8.5, 12.5, 8.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 8.8125],
|
||||
"to": [8.05, 15.375, 9.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [6.8125, 0.625, 7.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [8.8125, 0.625, 9.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 11.125, 3.5],
|
||||
"to": [8, 11.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 4.5, 12.5, 4.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 4.5, 12.5, 4.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [9, 35, 0],
|
||||
"translation": [0, 0, -1],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 1.5, 0],
|
||||
"scale": [0.3, 0.3, 0.3]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 135, 0],
|
||||
"translation": [-0.25, 0.5, 0],
|
||||
"scale": [0.7, 0.7, 0.7]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [0, 90, 0],
|
||||
"translation": [0, 0, -0.25]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,220 @@
|
|||
{
|
||||
"textures": {
|
||||
"p": "engineersdecor:block/fence/steel_mesh_pole_side",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [3.125, 12.625, 9.4375],
|
||||
"to": [12.8125, 12.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 2.02, 15.5, 2.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 2.02, 15.9375, 2.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 8.625, 9.4375],
|
||||
"to": [12.8125, 8.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 6.02, 15.5, 6.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 6.02, 15.9375, 6.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 4.625, 9.4375],
|
||||
"to": [12.8125, 4.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 10.02, 15.5, 10.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 10.02, 15.9375, 10.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 0.625, 9.4375],
|
||||
"to": [12.8125, 0.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 14.02, 15.5, 14.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 14.02, 15.9375, 14.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 10.625, 9.625],
|
||||
"to": [12.8125, 10.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 4.02, 15.5, 4.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 4.02, 15.9375, 4.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 6.625, 9.625],
|
||||
"to": [12.9375, 6.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 8.02, 15.5, 8.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 8.02, 15.9375, 8.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 2.625, 9.625],
|
||||
"to": [12.9375, 2.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 12.02, 15.5, 12.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 12.02, 15.9375, 12.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 0, 9.25],
|
||||
"to": [13, 15, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 90, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 14, 9.25],
|
||||
"to": [12.25, 15, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.25, 0, 13.75, 1], "texture": "#s"},
|
||||
"south": {"uv": [2.25, 0, 13.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3, 0, 9.25],
|
||||
"to": [3.75, 15, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"south": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 90, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [3, 16, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.5, 0, 9.5],
|
||||
"to": [3, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 9.5],
|
||||
"to": [15.5, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11.75, 0, 9.5],
|
||||
"to": [12.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.875, 0.145, 4.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [11.75, 0.145, 12.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.75, 0, 9.5],
|
||||
"to": [8.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.75, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 0, 9.5],
|
||||
"to": [4.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [11.875, 0.145, 12.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [3.75, 0.145, 4.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.75, 0, 9.5],
|
||||
"to": [10.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [5.875, 0.145, 6.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [9.75, 0.145, 10.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.75, 0, 9.5],
|
||||
"to": [6.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [9.875, 0.145, 10.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [5.75, 0.145, 6.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,222 @@
|
|||
{
|
||||
"textures": {
|
||||
"p": "engineersdecor:block/fence/steel_mesh_pole_side",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [12.625, 12.625, 0.125],
|
||||
"to": [12.8125, 12.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 2.02, 15.5, 2.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 2.02, 15.9375, 2.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 8.625, 0.125],
|
||||
"to": [12.8125, 8.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 6.02, 15.5, 6.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 6.02, 15.9375, 6.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 4.625, 0.125],
|
||||
"to": [12.8125, 4.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 10.02, 15.5, 10.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 10.02, 15.9375, 10.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 0.625, 0.125],
|
||||
"to": [12.8125, 0.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 14.02, 15.5, 14.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 14.02, 15.9375, 14.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 10.625, 0.125],
|
||||
"to": [12.625, 10.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 4.02, 15.5, 4.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 4.02, 15.9375, 4.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 6.625, 0.5],
|
||||
"to": [12.625, 6.98, 9.9375],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 8.02, 15.5, 8.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 8.02, 15.9375, 8.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 2.625, 0.5],
|
||||
"to": [12.625, 2.98, 9.9375],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 12.02, 15.5, 12.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 12.02, 15.9375, 12.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 0, 9.25],
|
||||
"to": [13, 15, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"east": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"west": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 14, 0.75],
|
||||
"to": [13, 15, 9.25],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"west": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 10.75], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 0, 0],
|
||||
"to": [13, 15, 0.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"east": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"west": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [3, 16, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.5, 0, 9.5],
|
||||
"to": [3, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 9.5],
|
||||
"to": [15.5, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 8.75],
|
||||
"to": [12.75, 14.855, 9.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [3.875, 0.145, 4.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [11.75, 0.145, 12.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 4.75],
|
||||
"to": [12.75, 14.855, 5.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.75, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 0.75],
|
||||
"to": [12.75, 14.855, 1.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [11.875, 0.145, 12.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [3.75, 0.145, 4.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 6.75],
|
||||
"to": [12.75, 14.855, 7.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [5.875, 0.145, 6.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [9.75, 0.145, 10.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 2.75],
|
||||
"to": [12.75, 14.855, 3.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [9.875, 0.145, 10.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [5.75, 0.145, 6.125, 15], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{ "parent": "engineersdecor:block/fence/steel_mesh_fence_gate_inventory" }
|
Binary file not shown.
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 25 KiB |
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "steel_mesh_fence_gate_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:steel_mesh_fence_gate"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "Gates and Doors",
|
||||
"icon": "engineersdecor:steel_mesh_fence_gate",
|
||||
"category": "buildingblocks",
|
||||
"sortnum": 1060,
|
||||
"pages": [
|
||||
{
|
||||
"type": "spotlight",
|
||||
"title": "Steel Mesh Fence Gate",
|
||||
"item": "engineersdecor:steel_mesh_fence_gate",
|
||||
"text": "A fence gate fitting the style of the $(o)Steel Mesh Fence$(). It can be placed one block high for normal fencing, or doubled for higher cage fences, and will form a fence door accordingly.$(br)Redstone open/close signals are accepted for the bottom segment from all sides, for the top segment only from above."
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"name": "Ladders",
|
||||
"icon": "engineersdecor:treated_wood_ladder",
|
||||
"category": "buildingblocks",
|
||||
"sortnum": 1070,
|
||||
"sortnum": 1080,
|
||||
"pages": [
|
||||
{
|
||||
"type": "spotlight",
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "Windows",
|
||||
"icon": "engineersdecor:treated_wood_window",
|
||||
"category": "buildingblocks",
|
||||
"sortnum": 1060,
|
||||
"sortnum": 1070,
|
||||
"pages": [
|
||||
{
|
||||
"type": "spotlight",
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
},
|
||||
{
|
||||
"type": "text",
|
||||
"text": ""
|
||||
"text": "§nSpeed override switch$()$(br)A four-position switch in the bottom right area of the GUI allows to alter the processing speed of the furnace. Default is position 1 (normal). At high power expenses, you can alter this: $(br)$(li)Position 0: OFF$(li)Position 1: x1.0 -> RF x1$(li)Position 2: x1.5 -> RF x2$(li)Position 3: x2.0 -> RF x4$(br2)(Positions 0..4 are down, left, top, right)."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:optional",
|
||||
"result": "engineersdecor:steel_mesh_fence_gate",
|
||||
"required": ["engineersdecor:thin_steel_pole", "engineersdecor:steel_mesh_fence"]
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"PFP"
|
||||
],
|
||||
"key": {
|
||||
"P": {
|
||||
"item": "engineersdecor:thin_steel_pole"
|
||||
},
|
||||
"F": {
|
||||
"item": "engineersdecor:steel_mesh_fence"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:steel_mesh_fence_gate",
|
||||
"count": 2
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
org.gradle.daemon=false
|
||||
org.gradle.jvmargs=-Xmx8G
|
||||
version_minecraft=1.15.2
|
||||
version_forge_minecraft=1.15.2-31.1.18
|
||||
version_fml_mappings=20191105-1.14.3
|
||||
version_forge_minecraft=1.15.2-31.1.19
|
||||
version_fml_mappings=20200225-1.15.1
|
||||
version_jei=1.15.2:6.0.0.2
|
||||
version_engineersdecor=1.0.19-b5
|
||||
version_engineersdecor=1.0.20-b1
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
|
||||
"1.15.2": {
|
||||
"1.0.20-b1": "[A] Electrical Furnace: Added four-position speed switch (off, 100%, 150%, 200%), power consumption increases at higher rate (off, 100%, 200%, 400%).\n[A] Added Steel Mesh Fence Gate (single or double height gate fitting to the Steel Mesh Fence).\n[M] Waste Incinerator processing speed tweaked.\n[F] Fixed steel table visual glitch (thx Urbanxx001).\n[M] MCP/Forge mappings updated.",
|
||||
"1.0.19-b5": "[A] Added right-click display of power and progress information for Block Breaker, Solar Panel, and Tree Cutter.\n[A] Solar Panel power curve tuned.\n[A] Mod manual 1st edition release recipe added.\n[A] Factory Hopper: Resetting NBT when breaking with empty inventory (for stacking), enabled item cap for all sides.\n[M] Electrical Furnace model polished.",
|
||||
"1.0.19-b4": "[A] Ported primary Immersive Engineering dependent recipes (alternative recipes will still work if IE is not installed).\n[F] Blacklisted Treated Wood Crafting Table in inventorysorter mod (issue #88, thx Nachtflame).\n[M] Furni comparator output overrides reflect input slots and empty fuel state/power-cutoff.\n[M] Solar Panel config: Default value for internal battery capacity increased.\n[F] Block Placer: Shifted GUI player slots 1px to the right.\n[A] Added mod block tags for slabs, stairs, and walls (PR#89, thanks CrudeAustin for the data).\n[A] Added experimental Patchouli manual (creative only).",
|
||||
"1.0.19-b3": "[M] Config tweaks: Value limit ranges increased to facilitate modpacking.\n[A] Factory Hopper: Added bottom item handler (CR#227).\n[M] Block shapes refined.\n[F] Fixed duping bug (issue #87, thx Nachtflame)",
|
||||
|
@ -14,6 +15,6 @@
|
|||
},
|
||||
"promos": {
|
||||
"1.15.2-recommended": "",
|
||||
"1.15.2-latest": "1.0.19-b5"
|
||||
"1.15.2-latest": "1.0.20-b1"
|
||||
}
|
||||
}
|
|
@ -11,6 +11,13 @@ Mod sources for Minecraft version 1.15.1.
|
|||
|
||||
## Version history
|
||||
|
||||
- v1.0.20-b1 [A] Electrical Furnace: Added four-position speed switch (off, 100%, 150%, 200%), power consumption
|
||||
increases at higher rate (off, 100%, 200%, 400%).
|
||||
[A] Added Steel Mesh Fence Gate (single or double height gate fitting to the Steel Mesh Fence).
|
||||
[M] Waste Incinerator processing speed tweaked.
|
||||
[F] Fixed steel table visual glitch (thx Urbanxx001).
|
||||
[M] MCP/Forge mappings updated.
|
||||
|
||||
- v1.0.19-b5 [A] Added right-click display of power and progress information for Block Breaker, Solar Panel, and Tree Cutter.
|
||||
[A] Solar Panel power curve tuned.
|
||||
[A] Mod manual 1st edition release recipe added.
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
/*
|
||||
* BluSunrize
|
||||
* Copyright (c) 2017
|
||||
*
|
||||
* This code is licensed under "Blu's License of Common Sense"
|
||||
* Details can be found in the license file in the root folder of this project
|
||||
*/
|
||||
|
||||
package blusunrize.immersiveengineering.api.fluid;
|
||||
|
||||
import net.minecraft.util.Direction;
|
||||
|
||||
public interface IFluidPipe
|
||||
{
|
||||
boolean canOutputPressurized(boolean consumePower);
|
||||
|
||||
boolean hasOutputConnection(Direction side);
|
||||
}
|
|
@ -195,42 +195,42 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorGlassBlock PANZERGLASS_BLOCK = (BlockDecorGlassBlock)(new BlockDecorGlassBlock(
|
||||
BlockDecor.CFG_TRANSLUCENT,
|
||||
Block.Properties.create(Material.GLASS, MaterialColor.AIR).hardnessAndResistance(5f, 2000f).sound(SoundType.METAL).func_226896_b_()
|
||||
Block.Properties.create(Material.GLASS, MaterialColor.AIR).hardnessAndResistance(5f, 2000f).sound(SoundType.METAL).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "panzerglass_block"));
|
||||
|
||||
public static final BlockDecorSlab PANZERGLASS_SLAB = (BlockDecorSlab)(new BlockDecorSlab(
|
||||
BlockDecor.CFG_TRANSLUCENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(5f, 2000f).sound(SoundType.METAL).func_226896_b_()
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(5f, 2000f).sound(SoundType.METAL).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "panzerglass_slab"));
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public static final BlockDecorLadder METAL_RUNG_LADDER = (BlockDecorLadder)(new BlockDecorLadder(
|
||||
BlockDecor.CFG_DEFAULT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.0f, 25f).sound(SoundType.METAL).func_226896_b_()
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.0f, 25f).sound(SoundType.METAL).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_rung_ladder"));
|
||||
|
||||
public static final BlockDecorLadder METAL_RUNG_STEPS = (BlockDecorLadder)(new BlockDecorLadder(
|
||||
BlockDecor.CFG_DEFAULT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.0f, 25f).sound(SoundType.METAL).func_226896_b_()
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.0f, 25f).sound(SoundType.METAL).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_rung_steps"));
|
||||
|
||||
public static final BlockDecorLadder TREATED_WOOD_LADDER = (BlockDecorLadder)(new BlockDecorLadder(
|
||||
BlockDecor.CFG_DEFAULT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.0f, 25f).sound(SoundType.WOOD).func_226896_b_()
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.0f, 25f).sound(SoundType.WOOD).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_ladder"));
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public static final BlockDecor.WaterLoggable TREATED_WOOD_TABLE = (BlockDecor.WaterLoggable)(new BlockDecor.WaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(1,0,1, 15,15.9,15)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_table"));
|
||||
|
||||
public static final BlockDecorChair TREATED_WOOD_STOOL = (BlockDecorChair)(new BlockDecorChair(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(4,7,4, 12,8.8,12),
|
||||
Auxiliaries.getPixeledAABB(7,0,7, 9,7,9),
|
||||
|
@ -241,43 +241,43 @@ public class ModContent
|
|||
|
||||
public static final BlockDecor.WaterLoggable TREATED_WOOD_SIDE_TABLE = (BlockDecor.WaterLoggable)(new BlockDecor.WaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(2,0,2, 14,15.9,14)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_side_table"));
|
||||
|
||||
public static final BlockDecor.DirectedWaterLoggable TREATED_WOOD_WINDOWSILL = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_FACING_PLACEMENT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0.5,15,10.5, 15.5,16,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_windowsill"));
|
||||
|
||||
public static final BlockDecor.DirectedWaterLoggable TREATED_WOOD_BROAD_WINDOWSILL = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_FACING_PLACEMENT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0,14.5,4, 16,16,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_broad_windowsill"));
|
||||
|
||||
public static final BlockDecor.DirectedWaterLoggable INSET_LIGHT_IRON = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).lightValue(15),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).lightValue(15).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(5.2,5.2,0, 10.8,10.8,0.3)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "iron_inset_light"));
|
||||
|
||||
public static final BlockDecor.DirectedWaterLoggable FLOOR_EDGE_LIGHT_IRON = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_HORIZIONTAL,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).lightValue(15),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).lightValue(15).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(5,0,0, 11,2,0.5)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "iron_floor_edge_light"));
|
||||
|
||||
public static final BlockDecor.WaterLoggable STEEL_TABLE = (BlockDecor.WaterLoggable)(new BlockDecor.WaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0,0,0, 16,16,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_table"));
|
||||
|
||||
public static final BlockDecorFloorGrating STEEL_FLOOR_GRATING = (BlockDecorFloorGrating)(new BlockDecorFloorGrating(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0,14,0, 16,15.5,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_floor_grating"));
|
||||
|
||||
|
@ -285,13 +285,13 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorWindow TREATED_WOOD_WINDOW = (BlockDecorWindow)(new BlockDecorWindow(
|
||||
BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.GLASS),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.GLASS).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0,0,7, 16,16,9)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_window"));
|
||||
|
||||
public static final BlockDecorWindow STEEL_FRAMED_WINDOW = (BlockDecorWindow)(new BlockDecorWindow(
|
||||
BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.GLASS),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.GLASS).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0,0,7.5, 16,16,8.5)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_framed_window"));
|
||||
|
||||
|
@ -299,49 +299,49 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorStraightPole TREATED_WOOD_POLE = (BlockDecorStraightPole)(new BlockDecorStraightPole(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_IF_SAME,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(5.8,5.8,0, 10.2,10.2,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_pole"));
|
||||
|
||||
public static final BlockDecorStraightPole TREATED_WOOD_POLE_HEAD = (BlockDecorStraightPole)(new BlockDecorStraightPole(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_IF_SAME,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(5.8,5.8,0, 10.2,10.2,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_pole_head"));
|
||||
|
||||
public static final BlockDecorStraightPole TREATED_WOOD_POLE_SUPPORT = (BlockDecorStraightPole)(new BlockDecorStraightPole(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_IF_SAME,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(5.8,5.8,0, 10.2,10.2,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_pole_support"));
|
||||
|
||||
public static final BlockDecorStraightPole THIN_STEEL_POLE = (BlockDecorStraightPole)(new BlockDecorStraightPole(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(6,6,0, 10,10,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "thin_steel_pole"));
|
||||
|
||||
public static final BlockDecorStraightPole THIN_STEEL_POLE_HEAD = (BlockDecorStraightPole)(new BlockDecorStraightPole(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_IF_SAME,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(6,6,0, 10,10,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "thin_steel_pole_head"));
|
||||
|
||||
public static final BlockDecorStraightPole THICK_STEEL_POLE = (BlockDecorStraightPole)(new BlockDecorStraightPole(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(5,5,0, 11,11,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "thick_steel_pole"));
|
||||
|
||||
public static final BlockDecorStraightPole THICK_STEEL_POLE_HEAD = (BlockDecorStraightPole)(new BlockDecorStraightPole(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_IF_SAME,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(5,5,0, 11,11,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "thick_steel_pole_head"));
|
||||
|
||||
public static final BlockDecorHorizontalSupport STEEL_DOUBLE_T_SUPPORT = (BlockDecorHorizontalSupport)(new BlockDecorHorizontalSupport(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(5,11,0, 11,16,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_double_t_support"));
|
||||
|
||||
|
@ -349,37 +349,37 @@ public class ModContent
|
|||
|
||||
public static final BlockDecor.DirectedWaterLoggable SIGN_MODLOGO = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1000f).sound(SoundType.WOOD).lightValue(1),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1000f).sound(SoundType.WOOD).lightValue(1).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0,0,15.6, 16,16,16.0)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_decor"));
|
||||
|
||||
public static final BlockDecor.DirectedWaterLoggable SIGN_HOTWIRE = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_hotwire"));
|
||||
|
||||
public static final BlockDecor.DirectedWaterLoggable SIGN_DANGER = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_danger"));
|
||||
|
||||
public static final BlockDecor.DirectedWaterLoggable SIGN_DEFENSE = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_defense"));
|
||||
|
||||
public static final BlockDecor.DirectedWaterLoggable SIGN_FACTORY_AREA = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(2,2,15.6, 14,14,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_factoryarea"));
|
||||
|
||||
public static final BlockDecor.DirectedWaterLoggable SIGN_EXIT = (BlockDecor.DirectedWaterLoggable)(new BlockDecor.DirectedWaterLoggable(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(3,7,15.6, 13,13,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_exit"));
|
||||
|
||||
|
@ -387,7 +387,7 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorCraftingTable.CraftingTableBlock TREATED_WOOD_CRAFTING_TABLE = (BlockDecorCraftingTable.CraftingTableBlock)(new BlockDecorCraftingTable.CraftingTableBlock(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 15f).sound(SoundType.WOOD),
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 15f).sound(SoundType.WOOD).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(0,13,0, 16,16,16),
|
||||
Auxiliaries.getPixeledAABB(1, 0,1, 15,13,15)
|
||||
|
@ -396,7 +396,7 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorFurnace SMALL_LAB_FURNACE = (BlockDecorFurnace)(new BlockDecorFurnace(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(1,0,1, 15, 1,15),
|
||||
Auxiliaries.getPixeledAABB(0,1,1, 16,16,16),
|
||||
|
@ -405,7 +405,7 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorFurnaceElectrical SMALL_ELECTRICAL_FURNACE = (BlockDecorFurnaceElectrical)(new BlockDecorFurnaceElectrical(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(0, 0,0, 16,11,16),
|
||||
Auxiliaries.getPixeledAABB(1,11,0, 15,12,16),
|
||||
|
@ -416,14 +416,14 @@ public class ModContent
|
|||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_electrical_furnace"));
|
||||
|
||||
public static final BlockDecorDropper FACTORY_DROPPER = (BlockDecorDropper)(new BlockDecorDropper(
|
||||
BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0,0,1, 16,16,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "factory_dropper"));
|
||||
|
||||
public static final BlockDecorPlacer FACTORY_PLACER = (BlockDecorPlacer)(new BlockDecorPlacer(
|
||||
BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(0,0,2, 16,16,16),
|
||||
Auxiliaries.getPixeledAABB( 0,0,0, 1,16, 2),
|
||||
|
@ -432,8 +432,8 @@ public class ModContent
|
|||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "factory_placer"));
|
||||
|
||||
public static final BlockDecorBreaker SMALL_BLOCK_BREAKER = (BlockDecorBreaker)(new BlockDecorBreaker(
|
||||
BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(1,0,0, 15, 4, 7),
|
||||
Auxiliaries.getPixeledAABB(1,0,7, 15,12,16),
|
||||
|
@ -446,7 +446,7 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorHopper FACTORY_HOPPER = (BlockDecorHopper)(new BlockDecorHopper(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),()->{
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),()->{
|
||||
final AxisAlignedBB[] down_aabbs = new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB( 5, 0, 5, 11, 1,11),
|
||||
Auxiliaries.getPixeledAABB( 4, 1, 4, 12, 7,12),
|
||||
|
@ -498,13 +498,13 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorMineralSmelter SMALL_MINERAL_SMELTER = (BlockDecorMineralSmelter)(new BlockDecorMineralSmelter(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(1.1,0,1.1, 14.9,16,14.9)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_mineral_smelter"));
|
||||
|
||||
public static final BlockDecorSolarPanel SMALL_SOLAR_PANEL = (BlockDecorSolarPanel)(new BlockDecorSolarPanel(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(0,0,0, 16,2,16),
|
||||
Auxiliaries.getPixeledAABB(6,1.5,3, 10,10.5,13),
|
||||
|
@ -513,7 +513,7 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorMilker SMALL_MILKING_MACHINE = (BlockDecorMilker)(new BlockDecorMilker(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB( 1, 1,0, 15,14,10),
|
||||
Auxiliaries.getPixeledAABB( 0,14,0, 16,16,13),
|
||||
|
@ -525,7 +525,7 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorTreeCutter SMALL_TREE_CUTTER = (BlockDecorTreeCutter)(new BlockDecorTreeCutter(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB( 0,0, 0, 16,3,16),
|
||||
Auxiliaries.getPixeledAABB( 0,3, 0, 3,8,16),
|
||||
|
@ -539,7 +539,7 @@ public class ModContent
|
|||
public static final BlockDecorPipeValve STRAIGHT_CHECK_VALVE = (BlockDecorPipeValve)(new BlockDecorPipeValve(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK,
|
||||
BlockDecorPipeValve.CFG_CHECK_VALVE,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(2,2, 0, 14,14, 2),
|
||||
Auxiliaries.getPixeledAABB(2,2,14, 14,14,16),
|
||||
|
@ -551,7 +551,7 @@ public class ModContent
|
|||
public static final BlockDecorPipeValve STRAIGHT_REDSTONE_VALVE = (BlockDecorPipeValve)(new BlockDecorPipeValve(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK,
|
||||
BlockDecorPipeValve.CFG_REDSTONE_CONTROLLED_VALVE,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(2,2, 0, 14,14, 2),
|
||||
Auxiliaries.getPixeledAABB(2,2,14, 14,14,16),
|
||||
|
@ -563,7 +563,7 @@ public class ModContent
|
|||
public static final BlockDecorPipeValve STRAIGHT_REDSTONE_ANALOG_VALVE = (BlockDecorPipeValve)(new BlockDecorPipeValve(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK,
|
||||
BlockDecorPipeValve.CFG_REDSTONE_CONTROLLED_VALVE|BlockDecorPipeValve.CFG_ANALOG_VALVE,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(2,2, 0, 14,14, 2),
|
||||
Auxiliaries.getPixeledAABB(2,2,14, 14,14,16),
|
||||
|
@ -574,7 +574,7 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorPassiveFluidAccumulator PASSIVE_FLUID_ACCUMULATOR = (BlockDecorPassiveFluidAccumulator)(new BlockDecorPassiveFluidAccumulator(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
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)
|
||||
|
@ -583,7 +583,7 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorFluidFunnel SMALL_FLUID_FUNNEL = (BlockDecorFluidFunnel)(new BlockDecorFluidFunnel(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).func_226896_b_(),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
new AxisAlignedBB[]{
|
||||
Auxiliaries.getPixeledAABB(0, 0,0, 16,14,16),
|
||||
Auxiliaries.getPixeledAABB(1,14,1, 15,15,15),
|
||||
|
@ -595,57 +595,63 @@ public class ModContent
|
|||
|
||||
public static final BlockDecorWall CONCRETE_WALL = (BlockDecorWall)(new BlockDecorWall(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HARD_IE_DEPENDENT,
|
||||
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE)
|
||||
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "concrete_wall"));
|
||||
|
||||
public static final BlockDecorHalfSlab HALFSLAB_CONCRETE = (BlockDecorHalfSlab)(new BlockDecorHalfSlab(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HARD_IE_DEPENDENT,
|
||||
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(1f, 10f).sound(SoundType.STONE)
|
||||
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(1f, 10f).sound(SoundType.STONE).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_concrete"));
|
||||
|
||||
public static final BlockDecorHalfSlab HALFSLAB_TREATEDWOOD = (BlockDecorHalfSlab)(new BlockDecorHalfSlab(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HARD_IE_DEPENDENT,
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 4f).sound(SoundType.WOOD)
|
||||
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 4f).sound(SoundType.WOOD).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_treated_wood"));
|
||||
|
||||
public static final BlockDecorHalfSlab HALFSLAB_SHEETMETALIRON = (BlockDecorHalfSlab)(new BlockDecorHalfSlab(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HARD_IE_DEPENDENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL)
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_iron"));
|
||||
|
||||
public static final BlockDecorHalfSlab HALFSLAB_SHEETMETALSTEEL = (BlockDecorHalfSlab)(new BlockDecorHalfSlab(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HARD_IE_DEPENDENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL)
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_steel"));
|
||||
|
||||
public static final BlockDecorHalfSlab HALFSLAB_SHEETMETALCOPPER = (BlockDecorHalfSlab)(new BlockDecorHalfSlab(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HARD_IE_DEPENDENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL)
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_copper"));
|
||||
|
||||
public static final BlockDecorHalfSlab HALFSLAB_SHEETMETALGOLD = (BlockDecorHalfSlab)(new BlockDecorHalfSlab(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HARD_IE_DEPENDENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL)
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_gold"));
|
||||
|
||||
public static final BlockDecorHalfSlab HALFSLAB_SHEETMETALALUMINIUM = (BlockDecorHalfSlab)(new BlockDecorHalfSlab(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HARD_IE_DEPENDENT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL)
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1f, 10f).sound(SoundType.METAL).notSolid()
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "halfslab_sheetmetal_aluminum"));
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public static final BlockDecorFence STEEL_MESH_FENCE = (BlockDecorFence)(new BlockDecorFence(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
1.5, 16, 0.25, 0, 16
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_mesh_fence"));
|
||||
|
||||
public static final BlockDecorDoubleGate STEEL_MESH_FENCE_GATE = (BlockDecorDoubleGate)(new BlockDecorDoubleGate(
|
||||
BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0,0,6.5, 16,16,9.5)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_mesh_fence_gate"));
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public static final BlockDecorTest TEST_BLOCK = (BlockDecorTest)(new BlockDecorTest(
|
||||
BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(0f, 32000f).sound(SoundType.METAL),
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(0f, 32000f).sound(SoundType.METAL).notSolid(),
|
||||
Auxiliaries.getPixeledAABB(0,0,0, 16,16,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "test_block"));
|
||||
|
||||
|
@ -718,6 +724,7 @@ public class ModContent
|
|||
FLOOR_EDGE_LIGHT_IRON,
|
||||
STEEL_FLOOR_GRATING,
|
||||
STEEL_MESH_FENCE,
|
||||
STEEL_MESH_FENCE_GATE,
|
||||
TREATED_WOOD_POLE,
|
||||
TREATED_WOOD_POLE_HEAD,
|
||||
TREATED_WOOD_POLE_SUPPORT,
|
||||
|
@ -1001,13 +1008,13 @@ public class ModContent
|
|||
if(block instanceof IStandardBlock) {
|
||||
switch(((IStandardBlock)block).getRenderTypeHint()) {
|
||||
case CUTOUT:
|
||||
RenderTypeLookup.setRenderLayer(block, RenderType.func_228643_e_()/*cutout*/);
|
||||
RenderTypeLookup.setRenderLayer(block, RenderType.getCutout());
|
||||
break;
|
||||
case CUTOUT_MIPPED:
|
||||
RenderTypeLookup.setRenderLayer(block, RenderType.func_228641_d_()/*cutout_mipped*/);
|
||||
RenderTypeLookup.setRenderLayer(block, RenderType.getCutoutMipped());
|
||||
break;
|
||||
case TRANSLUCENT:
|
||||
RenderTypeLookup.setRenderLayer(block, RenderType.func_228645_f_()/*transparent*/);
|
||||
RenderTypeLookup.setRenderLayer(block, RenderType.getTranslucent());
|
||||
break;
|
||||
case SOLID:
|
||||
break;
|
||||
|
|
|
@ -113,11 +113,11 @@ public class BlockDecorBreaker extends BlockDecor.HorizontalWaterLoggable implem
|
|||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
{
|
||||
TileEntity te = world.getTileEntity(pos);
|
||||
if(te instanceof BTileEntity) ((BTileEntity)te).state_message(player);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -10,17 +10,18 @@ package wile.engineersdecor.blocks;
|
|||
|
||||
import wile.engineersdecor.ModContent;
|
||||
import wile.engineersdecor.ModEngineersDecor;
|
||||
import net.minecraft.world.server.ServerWorld;
|
||||
import net.minecraft.world.IWorldReader;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.entity.*;
|
||||
import net.minecraft.entity.monster.*;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.network.IPacket;
|
||||
import net.minecraft.util.math.*;
|
||||
import net.minecraft.world.IWorldReader;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.util.*;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.network.FMLPlayMessages;
|
||||
import net.minecraftforge.fml.network.NetworkHooks;
|
||||
import java.util.List;
|
||||
|
@ -45,11 +46,11 @@ public class BlockDecorChair extends BlockDecor.HorizontalWaterLoggable implemen
|
|||
{ super(config, builder.tickRandomly(), unrotatedAABBs); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(sitting_enabled && (!world.isRemote)) { EntityChair.sit(world, player, pos); }
|
||||
return true;
|
||||
if(!sitting_enabled) return ActionResultType.PASS;
|
||||
if(!world.isRemote) EntityChair.sit(world, player, pos);
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -64,8 +65,7 @@ public class BlockDecorChair extends BlockDecor.HorizontalWaterLoggable implemen
|
|||
{ return 10; }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void tick(BlockState state, World world, BlockPos pos, Random rnd)
|
||||
public void tick(BlockState state, ServerWorld world, BlockPos pos, Random rnd)
|
||||
{
|
||||
if((!sitting_enabled) || (sitting_probability < 1e-6)) return;
|
||||
final List<LivingEntity> entities = world.getEntitiesWithinAABB(MobEntity.class, new AxisAlignedBB(pos).grow(2,1,2).expand(0,1,0), e->true);
|
||||
|
|
|
@ -93,15 +93,14 @@ public class BlockDecorCraftingTable
|
|||
{ return new BlockDecorCraftingTable.CraftingTableTileEntity(); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
final TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof CraftingTableTileEntity)) return true;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return true;
|
||||
if(!(te instanceof CraftingTableTileEntity)) return ActionResultType.FAIL;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return ActionResultType.FAIL;
|
||||
NetworkHooks.openGui((ServerPlayerEntity)player,(INamedContainerProvider)te);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,155 @@
|
|||
/*
|
||||
* @file BlockDecorDoubleGate.java
|
||||
* @author Stefan Wilhelm (wile)
|
||||
* @copyright (C) 2019 Stefan Wilhelm
|
||||
* @license MIT (see https://opensource.org/licenses/MIT)
|
||||
*
|
||||
* Gate blocks that can be one or two segments high.
|
||||
*/
|
||||
package wile.engineersdecor.blocks;
|
||||
|
||||
import wile.engineersdecor.libmc.detail.Auxiliaries;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.IWorld;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.state.BooleanProperty;
|
||||
import net.minecraft.state.IntegerProperty;
|
||||
import net.minecraft.state.StateContainer;
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.util.*;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.BlockRayTraceResult;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.util.math.shapes.VoxelShapes;
|
||||
import net.minecraft.pathfinding.PathType;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class BlockDecorDoubleGate extends BlockDecor.HorizontalWaterLoggable implements IDecorBlock
|
||||
{
|
||||
public static final IntegerProperty SEGMENT = IntegerProperty.create("segment", 0, 1);
|
||||
public static final BooleanProperty OPEN = FenceGateBlock.OPEN;
|
||||
public static final int SEGMENT_LOWER = 0;
|
||||
public static final int SEGMENT_UPPER = 1;
|
||||
protected final ArrayList<VoxelShape> collision_shapes_;
|
||||
|
||||
public BlockDecorDoubleGate(long config, Block.Properties properties, AxisAlignedBB aabb)
|
||||
{ this(config, properties, new AxisAlignedBB[]{aabb}); }
|
||||
|
||||
public BlockDecorDoubleGate(long config, Block.Properties properties, AxisAlignedBB[] aabbs)
|
||||
{
|
||||
super(config, properties, aabbs);
|
||||
AxisAlignedBB[] caabbs = new AxisAlignedBB[aabbs.length];
|
||||
for(int i=0; i<caabbs.length; ++i) caabbs[i] = aabbs[i].expand(0, 0.5, 0);
|
||||
collision_shapes_ = new ArrayList<VoxelShape>(Arrays.asList(
|
||||
VoxelShapes.fullCube(),
|
||||
VoxelShapes.fullCube(),
|
||||
Auxiliaries.getUnionShape(Auxiliaries.getRotatedAABB(caabbs, Direction.NORTH, true)),
|
||||
Auxiliaries.getUnionShape(Auxiliaries.getRotatedAABB(caabbs, Direction.SOUTH, true)),
|
||||
Auxiliaries.getUnionShape(Auxiliaries.getRotatedAABB(caabbs, Direction.WEST, true)),
|
||||
Auxiliaries.getUnionShape(Auxiliaries.getRotatedAABB(caabbs, Direction.EAST, true)),
|
||||
VoxelShapes.fullCube(),
|
||||
VoxelShapes.fullCube()
|
||||
));
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getCollisionShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext selectionContext)
|
||||
{ return state.get(OPEN) ? VoxelShapes.empty() : collision_shapes_.get(state.get(HORIZONTAL_FACING).getIndex() & 0x7); }
|
||||
|
||||
@Override
|
||||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
|
||||
{ super.fillStateContainer(builder); builder.add(SEGMENT).add(OPEN); }
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockState getStateForPlacement(BlockItemUseContext context)
|
||||
{ return getInitialState(super.getStateForPlacement(context), context.getWorld(), context.getPos()); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public BlockState updatePostPlacement(BlockState state, Direction facing, BlockState facingState, IWorld world, BlockPos pos, BlockPos facingPos)
|
||||
{ return getInitialState(super.updatePostPlacement(state, facing, facingState, world, pos, facingPos), world, pos); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if((rayTraceResult.getFace()==Direction.UP) || (rayTraceResult.getFace()==Direction.DOWN) && (player.getHeldItem(hand).getItem()==this.asItem())) return ActionResultType.PASS;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
final boolean open = !state.get(OPEN);
|
||||
world.setBlockState(pos, state.with(OPEN, open),2|8|16);
|
||||
if(state.get(SEGMENT) == SEGMENT_UPPER) {
|
||||
final BlockState adjacent = world.getBlockState(pos.down());
|
||||
if(adjacent.getBlock()==this) world.setBlockState(pos.down(), adjacent.with(OPEN, open), 2|8|16);
|
||||
} else {
|
||||
final BlockState adjacent = world.getBlockState(pos.up());
|
||||
if(adjacent.getBlock()==this) world.setBlockState(pos.up(), adjacent.with(OPEN, open), 2|8|16);
|
||||
}
|
||||
world.playSound(null, pos, open?SoundEvents.BLOCK_IRON_DOOR_OPEN:SoundEvents.BLOCK_IRON_DOOR_CLOSE, SoundCategory.BLOCKS, 0.7f, 1.4f);
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean allowsMovement(BlockState state, IBlockReader world, BlockPos pos, PathType type)
|
||||
{ return state.get(OPEN); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void neighborChanged(BlockState state, World world, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving)
|
||||
{
|
||||
if(world.isRemote) return;
|
||||
boolean powered = false;
|
||||
BlockState adjacent;
|
||||
BlockPos adjacent_pos;
|
||||
if(state.get(SEGMENT) == SEGMENT_UPPER) {
|
||||
adjacent_pos = pos.down();
|
||||
adjacent = world.getBlockState(adjacent_pos);
|
||||
if(adjacent.getBlock()!=this) adjacent = null;
|
||||
if(world.getRedstonePower(pos.up(), Direction.UP) > 0) {
|
||||
powered = true;
|
||||
} else if((adjacent!=null) && (world.isBlockPowered(pos.down(2)))) {
|
||||
powered = true;
|
||||
}
|
||||
} else {
|
||||
adjacent_pos = pos.up();
|
||||
adjacent = world.getBlockState(adjacent_pos);
|
||||
if(adjacent.getBlock()!=this) adjacent = null;
|
||||
if(world.isBlockPowered(pos)) {
|
||||
powered = true;
|
||||
} else if((adjacent!=null) && (world.getRedstonePower(pos.up(2), Direction.UP) > 0)) {
|
||||
powered = true;
|
||||
}
|
||||
}
|
||||
boolean sound = false;
|
||||
if(powered != state.get(OPEN)) {
|
||||
world.setBlockState(pos, state.with(OPEN, powered), 2|8|16);
|
||||
sound = true;
|
||||
}
|
||||
if((adjacent != null) && (powered != adjacent.get(OPEN))) {
|
||||
world.setBlockState(adjacent_pos, adjacent.with(OPEN, powered), 2|8|16);
|
||||
sound = true;
|
||||
}
|
||||
if(sound) {
|
||||
world.playSound(null, pos, powered?SoundEvents.BLOCK_IRON_DOOR_OPEN:SoundEvents.BLOCK_IRON_DOOR_CLOSE, SoundCategory.BLOCKS, 0.7f, 1.4f);
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
private BlockState getInitialState(BlockState state, IWorld world, BlockPos pos)
|
||||
{
|
||||
final BlockState down = world.getBlockState(pos.down());
|
||||
if(down.getBlock() == this) return state.with(SEGMENT, SEGMENT_UPPER).with(OPEN, down.get(OPEN)).with(HORIZONTAL_FACING, down.get(HORIZONTAL_FACING));
|
||||
final BlockState up = world.getBlockState(pos.up());
|
||||
if(up.getBlock() == this) return state.with(SEGMENT, SEGMENT_LOWER).with(OPEN, up.get(OPEN)).with(HORIZONTAL_FACING, up.get(HORIZONTAL_FACING));
|
||||
return state.with(SEGMENT, SEGMENT_LOWER).with(OPEN, false);
|
||||
}
|
||||
|
||||
}
|
|
@ -143,15 +143,14 @@ public class BlockDecorDropper extends BlockDecor.Directed implements IDecorBloc
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
final TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof BlockDecorDropper.BTileEntity)) return true;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return true;
|
||||
if(!(te instanceof BlockDecorDropper.BTileEntity)) return ActionResultType.FAIL;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return ActionResultType.FAIL;
|
||||
NetworkHooks.openGui((ServerPlayerEntity)player,(INamedContainerProvider)te);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
package wile.engineersdecor.blocks;
|
||||
|
||||
import wile.engineersdecor.libmc.blocks.StandardFenceBlock;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IWorldReader;
|
||||
import net.minecraft.block.*;
|
||||
|
||||
|
||||
|
@ -19,4 +22,8 @@ public class BlockDecorFence extends StandardFenceBlock implements IDecorBlock
|
|||
|
||||
public BlockDecorFence(long config, Block.Properties properties, double pole_width, double pole_height, double side_width, double side_max_y, double side_min_y)
|
||||
{ super(config, properties, pole_width, pole_height, side_width, side_max_y, side_min_y); }
|
||||
|
||||
@Override
|
||||
protected boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||
{ return ((facingState.getBlock()) instanceof BlockDecorDoubleGate) || super.attachesTo(facingState, world, facingPos, side); }
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import net.minecraft.fluid.IFluidState;
|
|||
import net.minecraft.tileentity.ITickableTileEntity;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.math.*;
|
||||
|
@ -123,13 +124,12 @@ public class BlockDecorFluidFunnel extends BlockDecor implements IDecorBlock
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof BTileEntity)) return false;
|
||||
return FluidUtil.interactWithFluidHandler(player, hand, world, pos, rayTraceResult.getFace());
|
||||
if(!(te instanceof BTileEntity)) return ActionResultType.FAIL;
|
||||
return FluidUtil.interactWithFluidHandler(player, hand, world, pos, rayTraceResult.getFace()) ? ActionResultType.SUCCESS : ActionResultType.FAIL;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -149,16 +149,15 @@ public class BlockDecorFurnace extends BlockDecor.Horizontal implements IDecorBl
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
final TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof BlockDecorFurnace.BTileEntity)) return true;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return true;
|
||||
if(!(te instanceof BlockDecorFurnace.BTileEntity)) return ActionResultType.FAIL;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return ActionResultType.FAIL;
|
||||
NetworkHooks.openGui((ServerPlayerEntity)player,(INamedContainerProvider)te);
|
||||
player.addStat(Stats.INTERACT_WITH_FURNACE);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -68,15 +68,15 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
{ return new BlockDecorFurnaceElectrical.BTileEntity(); }
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
final TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof BlockDecorFurnaceElectrical.BTileEntity)) return true;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return true;
|
||||
if(!(te instanceof BlockDecorFurnaceElectrical.BTileEntity)) return ActionResultType.FAIL;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return ActionResultType.FAIL;
|
||||
NetworkHooks.openGui((ServerPlayerEntity)player,(INamedContainerProvider)te);
|
||||
player.addStat(Stats.INTERACT_WITH_FURNACE);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -112,7 +112,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
public static final int FIFO_INTERVAL = 20;
|
||||
public static final int HEAT_CAPACITY = 200;
|
||||
public static final int HEAT_INCREMENT = 20;
|
||||
public static final int MAX_ENERGY_TRANSFER = 256;
|
||||
public static final int MAX_ENERGY_TRANSFER = 1024;
|
||||
public static final int MAX_ENERGY_BUFFER = 32000;
|
||||
public static final int MAX_SPEED_SETTING = 2;
|
||||
public static final int NUM_OF_SLOTS = 7;
|
||||
|
@ -133,6 +133,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
private static int energy_consumption_ = DEFAULT_SCALED_ENERGY_CONSUMPTION;
|
||||
private static int transfer_energy_consumption_ = DEFAULT_SCALED_ENERGY_CONSUMPTION / 8;
|
||||
private static int proc_speed_percent_ = DEFAULT_SPEED_PERCENT;
|
||||
private static double speed_setting_factor_[] = {0.0, 1.0, 1.5, 2.0};
|
||||
|
||||
public static void on_config(int speed_percent, int standard_energy_per_tick, boolean with_automatic_inventory_pulling)
|
||||
{
|
||||
|
@ -145,15 +146,16 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
|
||||
// BTileEntity -----------------------------------------------------------------------------
|
||||
|
||||
private int burntime_left_;
|
||||
private int proc_time_elapsed_;
|
||||
private int proc_time_needed_;
|
||||
private int energy_stored_;
|
||||
private int field_max_energy_stored_;
|
||||
private int field_isburning_;
|
||||
private int speed_;
|
||||
private int tick_timer_;
|
||||
private int fifo_timer_;
|
||||
private int burntime_left_ = 0;
|
||||
private int proc_time_elapsed_ = 0;
|
||||
private int proc_time_needed_ = 0;
|
||||
private int energy_stored_ = 0;
|
||||
private int field_max_energy_stored_ = 0;
|
||||
private int field_isburning_ = 0;
|
||||
private int speed_ = 1;
|
||||
private int tick_timer_ = 0;
|
||||
private int fifo_timer_ = 0;
|
||||
private boolean enabled_ = false;
|
||||
|
||||
public BTileEntity()
|
||||
{ this(ModContent.TET_SMALL_ELECTRICAL_FURNACE); }
|
||||
|
@ -185,6 +187,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
proc_time_needed_ = nbt.getInt("CookTimeTotal");
|
||||
energy_stored_ = nbt.getInt("Energy");
|
||||
speed_ = nbt.getInt("SpeedSetting");
|
||||
speed_ = (speed_ < 0) ? (1) : ((speed_>3) ? 3 : speed_);
|
||||
}
|
||||
|
||||
protected void writenbt(CompoundNBT nbt)
|
||||
|
@ -468,7 +471,12 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
if(transferItems(FIFO_INPUT_0_SLOT_NO, SMELTING_INPUT_SLOT_NO, 64)) dirty = true;
|
||||
if(transferItems(FIFO_INPUT_1_SLOT_NO, FIFO_INPUT_0_SLOT_NO, 64)) { dirty = true; } else { shift_in = true; }
|
||||
}
|
||||
if((!(stacks_.get(SMELTING_INPUT_SLOT_NO)).isEmpty()) && (energy_stored_ >= energy_consumption_)) {
|
||||
if(energy_stored_ < energy_consumption()) {
|
||||
enabled_ = false;
|
||||
} else if(energy_stored_ >= (MAX_ENERGY_BUFFER/2)) {
|
||||
enabled_ = true;
|
||||
}
|
||||
if((!(stacks_.get(SMELTING_INPUT_SLOT_NO)).isEmpty()) && (enabled_) && (speed_>0) && (speed_<4)) {
|
||||
IRecipe last_recipe = currentRecipe();
|
||||
updateCurrentRecipe();
|
||||
if(currentRecipe() != last_recipe) {
|
||||
|
@ -486,7 +494,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
}
|
||||
if(burning() && can_smelt) {
|
||||
if(heat_up()) dirty = true;
|
||||
proc_time_elapsed_ += (TICK_INTERVAL * proc_speed_percent_/100);
|
||||
proc_time_elapsed_ += (int)(TICK_INTERVAL * proc_speed_percent_ * speed_setting_factor_[speed_] / 100);
|
||||
if(proc_time_elapsed_ >= proc_time_needed_) {
|
||||
proc_time_elapsed_ = 0;
|
||||
proc_time_needed_ = getSmeltingTimeNeeded(world, stacks_.get(SMELTING_INPUT_SLOT_NO));
|
||||
|
@ -510,7 +518,6 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
if(dirty) markDirty();
|
||||
field_max_energy_stored_ = getMaxEnergyStored();
|
||||
field_isburning_ = burning() ? 1 : 0;
|
||||
//if(this.energy_stored_ < this.getMaxEnergyStored() / 5) this.energy_stored_ = this.getMaxEnergyStored();
|
||||
}
|
||||
|
||||
// Furnace --------------------------------------------------------------------------------------
|
||||
|
@ -596,15 +603,25 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
return dirty;
|
||||
}
|
||||
|
||||
// returns TE dirty
|
||||
int energy_consumption()
|
||||
{
|
||||
switch(speed_) {
|
||||
case 1: return energy_consumption_;
|
||||
case 2: return energy_consumption_ * 2;
|
||||
case 3: return energy_consumption_ * 4;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean heat_up()
|
||||
{
|
||||
if(energy_stored_ < (energy_consumption_)) return false;
|
||||
int p = energy_consumption();
|
||||
if((p<=0) || (energy_stored_ < p)) return false;
|
||||
if(burntime_left_ >= (HEAT_CAPACITY-HEAT_INCREMENT)) return false;
|
||||
energy_stored_ -= energy_consumption_;
|
||||
energy_stored_ -= p;
|
||||
burntime_left_ += HEAT_INCREMENT;
|
||||
this.markDirty();
|
||||
return true;
|
||||
return true; // returns TE dirty
|
||||
}
|
||||
|
||||
private void sync_blockstate()
|
||||
|
@ -728,9 +745,13 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
public void onServerPacketReceived(int windowId, CompoundNBT nbt)
|
||||
{}
|
||||
|
||||
@Override
|
||||
public void onClientPacketReceived(int windowId, PlayerEntity player, CompoundNBT nbt)
|
||||
{}
|
||||
{
|
||||
if(!(inventory_ instanceof BTileEntity)) return;
|
||||
BTileEntity te = (BTileEntity)inventory_;
|
||||
if(nbt.contains("speed")) te.speed_ = MathHelper.clamp(nbt.getInt("speed"), 0, 3);
|
||||
te.markDirty();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -773,9 +794,35 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace implements ID
|
|||
blit(x0+79, y0+30, 176, 15, 1+progress_px(17), 15);
|
||||
int we = energy_px(32, 8);
|
||||
if(we>0) blit(x0+88, y0+53, 185, 30, we, 13);
|
||||
switch(getContainer().field(4)) {
|
||||
case 0: blit(x0+144, y0+57, 180, 57, 6, 9); break;
|
||||
case 1: blit(x0+142, y0+58, 190, 58, 9, 6); break;
|
||||
case 2: blit(x0+144, y0+56, 200, 57, 6, 9); break;
|
||||
case 3: blit(x0+143, y0+58, 210, 58, 9, 6); break;
|
||||
default: break;
|
||||
}
|
||||
RenderSystem.disableBlend();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean mouseClicked(double mouseX, double mouseY, int mouseButton)
|
||||
{
|
||||
BContainer container = (BContainer)getContainer();
|
||||
int mx = (int)(mouseX - getGuiLeft() + .5), my = (int)(mouseY - getGuiTop() + .5);
|
||||
if((!isPointInRegion(136, 48, 28, 28, mouseX, mouseY))) {
|
||||
return super.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
} else if(isPointInRegion(144, 64, 6, 10, mouseX, mouseY)) {
|
||||
container.onGuiAction("speed", 0);
|
||||
} else if(isPointInRegion(134, 58, 10, 6, mouseX, mouseY)) {
|
||||
container.onGuiAction("speed", 1);
|
||||
} else if(isPointInRegion(144, 48, 6, 10, mouseX, mouseY)) {
|
||||
container.onGuiAction("speed", 2);
|
||||
} else if(isPointInRegion(150, 58, 10, 6, mouseX, mouseY)) {
|
||||
container.onGuiAction("speed", 3);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private int progress_px(int pixels)
|
||||
{ final int tc=getContainer().field(2), T=getContainer().field(3); return ((T>0) && (tc>0)) ? (tc * pixels / T) : (0); }
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
*/
|
||||
package wile.engineersdecor.blocks;
|
||||
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShapes;
|
||||
import wile.engineersdecor.ModContent;
|
||||
import wile.engineersdecor.ModEngineersDecor;
|
||||
import wile.engineersdecor.libmc.detail.Inventories;
|
||||
|
@ -58,6 +60,10 @@ public class BlockDecorHopper extends BlockDecor.Directed implements IDecorBlock
|
|||
public BlockDecorHopper(long config, Block.Properties builder, final Supplier<ArrayList<VoxelShape>> shape_supplier)
|
||||
{ super(config, builder, shape_supplier); }
|
||||
|
||||
@Override
|
||||
public VoxelShape getCollisionShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext context)
|
||||
{ return VoxelShapes.fullCube(); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean hasComparatorInputOverride(BlockState state)
|
||||
|
@ -121,15 +127,14 @@ public class BlockDecorHopper extends BlockDecor.Directed implements IDecorBlock
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
final TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof BTileEntity)) return true;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return true;
|
||||
if(!(te instanceof BTileEntity)) return ActionResultType.FAIL;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return ActionResultType.FAIL;
|
||||
NetworkHooks.openGui((ServerPlayerEntity)player,(INamedContainerProvider)te);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -86,7 +86,7 @@ public class BlockDecorLadder extends LadderBlock implements IDecorBlock
|
|||
// Player update event, forwarded from the main mod instance.
|
||||
public static void onPlayerUpdateEvent(final PlayerEntity player)
|
||||
{
|
||||
if((without_speed_boost_) || (player.onGround) || (!player.isOnLadder()) || (player.func_225608_bj_()/*isSneaking()*/) || (player.isSpectator())) return;
|
||||
if((without_speed_boost_) || (player.onGround) || (!player.isOnLadder()) || (player.isShiftKeyDown()) || (player.isSpectator())) return;
|
||||
double lvy = player.getLookVec().y;
|
||||
if(Math.abs(lvy) < 0.94) return;
|
||||
final BlockPos pos = player.getPosition();
|
||||
|
|
|
@ -93,15 +93,14 @@ public class BlockDecorMilker extends BlockDecor.Horizontal implements IDecorBlo
|
|||
{ return new BTileEntity(); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
BTileEntity te = getTe(world, pos);
|
||||
if(te==null) return true;
|
||||
if(te==null) return ActionResultType.FAIL;
|
||||
final ItemStack in_stack = player.getHeldItem(hand);
|
||||
final ItemStack out_stack = BTileEntity.milk_filled_container_item(in_stack);
|
||||
if(out_stack.isEmpty() && (te.fluid_handler()!=null)) return FluidUtil.interactWithFluidHandler(player, hand, te.fluid_handler());
|
||||
if(out_stack.isEmpty() && (te.fluid_handler()!=null)) return FluidUtil.interactWithFluidHandler(player, hand, te.fluid_handler()) ? ActionResultType.SUCCESS : ActionResultType.FAIL;
|
||||
boolean drained = false;
|
||||
IItemHandler player_inventory = new PlayerMainInvWrapper(player.inventory);
|
||||
if(te.fluid_level() >= BTileEntity.BUCKET_SIZE) {
|
||||
|
@ -122,7 +121,7 @@ public class BlockDecorMilker extends BlockDecor.Horizontal implements IDecorBlo
|
|||
if(drained) {
|
||||
world.playSound(null, pos, SoundEvents.ITEM_BUCKET_FILL, SoundCategory.BLOCKS, 0.8f, 1f);
|
||||
}
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
@ -697,7 +696,7 @@ public class BlockDecorMilker extends BlockDecor.Horizontal implements IDecorBlo
|
|||
log("shouldContinueExecuting() -> already aborted");
|
||||
return false;
|
||||
} else if(creature.getNavigator().noPath()) {
|
||||
if((!creature.getNavigator().setPath(creature.getNavigator().func_225466_a(target_pos_.getX(), target_pos_.getY(), target_pos_.getZ(), 0), movementSpeed))) {
|
||||
if((!creature.getNavigator().setPath(creature.getNavigator().getPathToPos(target_pos_.getX(), target_pos_.getY(), target_pos_.getZ(), 0), movementSpeed))) {
|
||||
log("shouldContinueExecuting() -> abort, no path");
|
||||
abort();
|
||||
return false;
|
||||
|
|
|
@ -111,13 +111,12 @@ public class BlockDecorMineralSmelter extends BlockDecor.Horizontal implements I
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(player.func_225608_bj_()/*isSneaking()*/) return false;
|
||||
if(player.isShiftKeyDown()) return ActionResultType.PASS;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
BTileEntity te = getTe(world, pos);
|
||||
if(te==null) return true;
|
||||
if(te==null) return ActionResultType.FAIL;
|
||||
final ItemStack stack = player.getHeldItem(hand);
|
||||
boolean dirty = false;
|
||||
if(te.accepts_lava_container(stack)) {
|
||||
|
@ -161,7 +160,7 @@ public class BlockDecorMineralSmelter extends BlockDecor.Horizontal implements I
|
|||
dirty = true;
|
||||
}
|
||||
if(dirty) player.inventory.markDirty();
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -23,10 +23,11 @@ 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.nbt.CompoundNBT;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
@ -56,13 +57,13 @@ public class BlockDecorPassiveFluidAccumulator extends BlockDecor.Directed imple
|
|||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof BTileEntity)) return true;
|
||||
if(!(te instanceof BTileEntity)) return ActionResultType.FAIL;
|
||||
((BTileEntity)te).send_device_stats(player);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -125,15 +125,14 @@ public class BlockDecorPlacer extends BlockDecor.Directed implements IDecorBlock
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
final TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof BTileEntity)) return true;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return true;
|
||||
if(!(te instanceof BTileEntity)) return ActionResultType.FAIL;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return ActionResultType.FAIL;
|
||||
NetworkHooks.openGui((ServerPlayerEntity)player,(INamedContainerProvider)te);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -24,6 +24,7 @@ import net.minecraft.tileentity.TileEntity;
|
|||
import net.minecraft.tileentity.ITickableTileEntity;
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
@ -61,12 +62,11 @@ public class BlockDecorSolarPanel extends BlockDecor implements IDecorBlock
|
|||
{ return new BlockDecorSolarPanel.BTileEntity(); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
{
|
||||
TileEntity te = world.getTileEntity(pos);
|
||||
if(te instanceof BTileEntity) ((BTileEntity)te).state_message(player);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -211,7 +211,7 @@ public class BlockDecorSolarPanel extends BlockDecor implements IDecorBlock
|
|||
BlockState nstate = state.with(EXPOSITION, e);
|
||||
if(nstate != state) world.setBlockState(pos, nstate, 1|2);
|
||||
final double eff = (1.0-((world.getRainStrength(1f)*0.6)+(world.getThunderStrength(1f)*0.3)));
|
||||
final double ll = ((double)(world.func_225524_e_().getLightEngine(LightType.SKY).getLightFor(getPos())))/15;
|
||||
final double ll = ((double)(world.getLightManager().getLightEngine(LightType.SKY).getLightFor(getPos())))/15;
|
||||
final double rf = Math.sin((Math.PI/2) * Math.sqrt(((double)(((theta<0)||(theta>180))?(0):((theta>90)?(180-theta):(theta))))/90));
|
||||
current_production_ = (int)(Math.min(rf*rf*eff*ll, 1) * peak_power_per_tick_);
|
||||
accumulated_power_ = Math.min(accumulated_power_ + (current_production_*(TICK_INTERVAL*ACCUMULATION_INTERVAL)), max_power_storage_);
|
||||
|
|
|
@ -21,6 +21,7 @@ import net.minecraft.tileentity.ITickableTileEntity;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.fluid.Fluids;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
@ -79,12 +80,12 @@ public class BlockDecorTest extends BlockDecor.Directed implements Auxiliaries.I
|
|||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
{
|
||||
TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof BTileEntity)) return false;
|
||||
if(!(te instanceof BTileEntity)) return ActionResultType.SUCCESS;
|
||||
((BTileEntity)te).activated(player, hand, hit);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -82,12 +82,11 @@ public class BlockDecorTreeCutter extends BlockDecor.Horizontal implements IDeco
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
{
|
||||
TileEntity te = world.getTileEntity(pos);
|
||||
if(te instanceof BTileEntity) ((BTileEntity)te).state_message(player);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -134,15 +134,14 @@ public class BlockDecorWasteIncinerator extends BlockDecor implements IDecorBloc
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
final TileEntity te = world.getTileEntity(pos);
|
||||
if(!(te instanceof BTileEntity)) return true;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return true;
|
||||
if(!(te instanceof BTileEntity)) return ActionResultType.FAIL;
|
||||
if((!(player instanceof ServerPlayerEntity) && (!(player instanceof FakePlayer)))) return ActionResultType.FAIL;
|
||||
NetworkHooks.openGui((ServerPlayerEntity)player,(INamedContainerProvider)te);
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -166,6 +165,7 @@ public class BlockDecorWasteIncinerator extends BlockDecor implements IDecorBloc
|
|||
public static final int NUM_OF_FIELDS = 1;
|
||||
public static final int TICK_INTERVAL = 20;
|
||||
public static final int ENERGIZED_TICK_INTERVAL = 5;
|
||||
public static final int INCINERATION_STACK_DECREMENT = 4;
|
||||
public static final int MAX_ENERGY_BUFFER = 16000;
|
||||
public static final int MAX_ENERGY_TRANSFER = 256;
|
||||
public static final int DEFAULT_ENERGY_CONSUMPTION = 16;
|
||||
|
@ -190,7 +190,6 @@ public class BlockDecorWasteIncinerator extends BlockDecor implements IDecorBloc
|
|||
private int energy_stored_;
|
||||
protected NonNullList<ItemStack> stacks_ = NonNullList.<ItemStack>withSize(NUM_OF_SLOTS, ItemStack.EMPTY);
|
||||
|
||||
|
||||
public BTileEntity()
|
||||
{ this(ModContent.TET_WASTE_INCINERATOR); }
|
||||
|
||||
|
@ -503,7 +502,7 @@ public class BlockDecorWasteIncinerator extends BlockDecor implements IDecorBloc
|
|||
ItemStack first_stack = stacks_.get(0);
|
||||
boolean shift = !first_stack.isEmpty();
|
||||
if(is_processing) {
|
||||
processing_stack.shrink(1);
|
||||
processing_stack.shrink(INCINERATION_STACK_DECREMENT);
|
||||
if(processing_stack.getCount() <= 0) {
|
||||
processing_stack = ItemStack.EMPTY;
|
||||
is_processing = false;
|
||||
|
@ -516,22 +515,11 @@ public class BlockDecorWasteIncinerator extends BlockDecor implements IDecorBloc
|
|||
dirty = true;
|
||||
}
|
||||
if(shift) {
|
||||
int max_shift_slot_no = BURN_SLOT_NO-1;
|
||||
for(int i=1; i<BURN_SLOT_NO-1; ++i) { if(stacks_.get(i).isEmpty()) { max_shift_slot_no=i; break; } }
|
||||
if(max_shift_slot_no < (BURN_SLOT_NO-1)) {
|
||||
// re-stack
|
||||
boolean stacked = false;
|
||||
for(int i=1; i<=max_shift_slot_no; ++i) {
|
||||
if(transferItems(i-1, i, getInventoryStackLimit())) {
|
||||
dirty = true;
|
||||
stacked = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!stacked) {
|
||||
shiftStacks(0, max_shift_slot_no);
|
||||
}
|
||||
} else if(!is_processing) {
|
||||
boolean transferred = false;
|
||||
for(int i=BURN_SLOT_NO-1; i>0; --i) {
|
||||
transferred |= transferItems(i-1, i, getInventoryStackLimit());
|
||||
}
|
||||
if((!is_processing) && (!transferred)) {
|
||||
shiftStacks(0, BURN_SLOT_NO);
|
||||
dirty = true;
|
||||
}
|
||||
|
|
|
@ -82,9 +82,6 @@ public class ModRenderers
|
|||
{ super(dispatcher); }
|
||||
|
||||
@Override
|
||||
public void func_225616_a_(final BlockDecorCraftingTable.CraftingTableTileEntity te, float f2, MatrixStack mxs, IRenderTypeBuffer buf, int i5, int i6)
|
||||
{ render(te, f2, mxs, buf, i5, i6); }
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public void render(final BlockDecorCraftingTable.CraftingTableTileEntity te, float unused1, MatrixStack mxs, IRenderTypeBuffer buf, int i5, int i6)
|
||||
{
|
||||
|
@ -102,17 +99,14 @@ public class ModRenderers
|
|||
float oy = 0.5f;
|
||||
float ry = ((yrotations[di]+180) + ((prnd*60)-30)) % 360;
|
||||
if(stack.isEmpty()) return;
|
||||
mxs.func_227860_a_(); // mxs.push()
|
||||
mxs.func_227861_a_(0.5+ox, 0.5+oy, 0.5+oz); // mxs.translate()
|
||||
|
||||
mxs.func_227863_a_(Vector3f.field_229179_b_.func_229187_a_(90.0f)); // mxs.transform(Vector3f.x_plus.rotation(90))
|
||||
|
||||
mxs.func_227863_a_(Vector3f.field_229183_f_.func_229187_a_(ry)); // mxs.transform(Vector3f.z_plus.rotation(ry))
|
||||
|
||||
mxs.func_227861_a_(rndo, rndo, 0); // mxs.translate()
|
||||
mxs.func_227862_a_(scaler, scaler, scaler); // mxs.scale()
|
||||
Minecraft.getInstance().getItemRenderer().func_229110_a_(stack, net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType.FIXED, i5, i6, mxs, buf);
|
||||
mxs.func_227865_b_(); // mxs.pop()
|
||||
mxs.push();
|
||||
mxs.translate(0.5+ox, 0.5+oy, 0.5+oz);
|
||||
mxs.rotate(Vector3f.XP.rotationDegrees(90.0f));
|
||||
mxs.rotate(Vector3f.ZP.rotationDegrees(ry));
|
||||
mxs.translate(rndo, rndo, 0);
|
||||
mxs.scale(scaler, scaler, scaler);
|
||||
Minecraft.getInstance().getItemRenderer().renderItem(stack, net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType.FIXED, i5, i6, mxs, buf);
|
||||
mxs.pop(); // mxs.pop()
|
||||
}
|
||||
} catch(Throwable e) {
|
||||
if(--tesr_error_counter<=0) {
|
||||
|
|
|
@ -138,29 +138,28 @@ public class SlabSliceBlock extends StandardBlocks.WaterLoggable implements Stan
|
|||
{ return new ArrayList<ItemStack>(Collections.singletonList(new ItemStack(this.asItem(), num_slabs_contained_in_parts_[state.get(PARTS) & 0xf]))); }
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult rayTraceResult)
|
||||
{
|
||||
Direction face = rayTraceResult.getFace();
|
||||
final ItemStack stack = player.getHeldItem(hand);
|
||||
if(stack.isEmpty() || (Block.getBlockFromItem(stack.getItem()) != this)) return false;
|
||||
if((face != Direction.UP) && (face != Direction.DOWN)) return false;
|
||||
if(stack.isEmpty() || (Block.getBlockFromItem(stack.getItem()) != this)) return ActionResultType.PASS;
|
||||
if((face != Direction.UP) && (face != Direction.DOWN)) return ActionResultType.PASS;
|
||||
int parts = state.get(PARTS);
|
||||
if((face != Direction.UP) && (parts > 7)) {
|
||||
world.setBlockState(pos, state.with(PARTS, parts-1), 3);
|
||||
} else if((face != Direction.DOWN) && (parts < 7)) {
|
||||
world.setBlockState(pos, state.with(PARTS, parts+1), 3);
|
||||
} else {
|
||||
return (parts != 7);
|
||||
return (parts != 7) ? ActionResultType.SUCCESS : ActionResultType.PASS;
|
||||
}
|
||||
if(world.isRemote) return true;
|
||||
if(world.isRemote) return ActionResultType.SUCCESS;
|
||||
if(!player.isCreative()) {
|
||||
stack.shrink(1);
|
||||
if(player.inventory != null) player.inventory.markDirty();
|
||||
}
|
||||
SoundType st = this.getSoundType(state, world, pos, null);
|
||||
world.playSound(null, pos, st.getPlaceSound(), SoundCategory.BLOCKS, (st.getVolume()+1f)/2.5f, 0.9f*st.getPitch());
|
||||
return true;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -101,28 +101,16 @@ public class StandardBlocks
|
|||
vshape = shape;
|
||||
}
|
||||
|
||||
///////////// --------------------------------------------------------------------------------------------------------
|
||||
// 1.15 transition
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
{ return ActionResultType.PASS; }
|
||||
|
||||
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit)
|
||||
{ return false; }
|
||||
|
||||
@Deprecated
|
||||
public ActionResultType func_225533_a_(BlockState p_225533_1_, World p_225533_2_, BlockPos p_225533_3_, PlayerEntity p_225533_4_, Hand p_225533_5_, BlockRayTraceResult p_225533_6_)
|
||||
{
|
||||
return onBlockActivated(p_225533_1_,p_225533_2_,p_225533_3_,p_225533_4_,p_225533_5_,p_225533_6_) ? ActionResultType.SUCCESS : ActionResultType.PASS;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void func_225534_a_(BlockState p_225534_1_, ServerWorld p_225534_2_, BlockPos p_225534_3_, Random p_225534_4_)
|
||||
{ tick(p_225534_1_,p_225534_2_,p_225534_3_,p_225534_4_); }
|
||||
|
||||
public void tick(BlockState state, World world, BlockPos pos, Random rnd)
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void tick(BlockState state, ServerWorld world, BlockPos pos, Random rnd)
|
||||
{}
|
||||
|
||||
// 1.15 /transition
|
||||
///////////// --------------------------------------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void addInformation(ItemStack stack, @Nullable IBlockReader world, List<ITextComponent> tooltip, ITooltipFlag flag)
|
||||
|
@ -319,7 +307,7 @@ public class StandardBlocks
|
|||
// default: placement on the face the player clicking
|
||||
}
|
||||
if((config & CFG_OPPOSITE_PLACEMENT)!=0) facing = facing.getOpposite();
|
||||
if(((config & CFG_FLIP_PLACEMENT_SHIFTCLICK) != 0) && (context.getPlayer().func_225608_bj_()/*isSneaking()*/)) facing = facing.getOpposite();
|
||||
if(((config & CFG_FLIP_PLACEMENT_SHIFTCLICK) != 0) && (context.getPlayer().isShiftKeyDown())) facing = facing.getOpposite();
|
||||
return super.getStateForPlacement(context).with(FACING, facing);
|
||||
}
|
||||
}
|
||||
|
@ -380,7 +368,7 @@ public class StandardBlocks
|
|||
facing = ((facing==Direction.UP)||(facing==Direction.DOWN)) ? (context.getPlacementHorizontalFacing()) : facing;
|
||||
}
|
||||
if((config & CFG_OPPOSITE_PLACEMENT)!=0) facing = facing.getOpposite();
|
||||
if(((config & CFG_FLIP_PLACEMENT_SHIFTCLICK) != 0) && (context.getPlayer().func_225608_bj_()/*isSneaking()*/)) facing = facing.getOpposite();
|
||||
if(((config & CFG_FLIP_PLACEMENT_SHIFTCLICK) != 0) && (context.getPlayer().isShiftKeyDown())) facing = facing.getOpposite();
|
||||
return super.getStateForPlacement(context).with(HORIZONTAL_FACING, facing);
|
||||
}
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ public class StandardFenceBlock extends WallBlock implements StandardBlocks.ISta
|
|||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
|
||||
{ super.fillStateContainer(builder); }
|
||||
|
||||
private boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||
protected boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||
{
|
||||
final Block block = facingState.getBlock();
|
||||
if((block instanceof FenceGateBlock) || (block instanceof StandardFenceBlock) || (block instanceof VariantWallBlock)) return true;
|
||||
|
|
|
@ -85,7 +85,7 @@ public class LootTableGen extends LootTableProvider
|
|||
ItemLootEntry.Builder iltb = ItemLootEntry.builder(block);
|
||||
iltb.acceptFunction(CopyName.builder(Source.BLOCK_ENTITY));
|
||||
if(block.hasTileEntity(block.getDefaultState())) {
|
||||
iltb.acceptFunction(CopyNbt.func_215881_a(CopyNbt.Source.BLOCK_ENTITY));
|
||||
iltb.acceptFunction(CopyNbt.builder(CopyNbt.Source.BLOCK_ENTITY));
|
||||
}
|
||||
return LootTable.builder().addLootPool(LootPool.builder().name(rl_path).rolls(ConstantRange.of(1)).addEntry(iltb));
|
||||
}
|
||||
|
|
|
@ -79,15 +79,15 @@ public class Auxiliaries
|
|||
@OnlyIn(Dist.CLIENT)
|
||||
public static final boolean isShiftDown()
|
||||
{
|
||||
return (InputMappings.isKeyDown(SidedProxy.mc().func_228018_at_()/*getMainWindow()*/.getHandle(), GLFW.GLFW_KEY_LEFT_SHIFT) ||
|
||||
InputMappings.isKeyDown(SidedProxy.mc().func_228018_at_()/*getMainWindow()*/.getHandle(), GLFW.GLFW_KEY_RIGHT_SHIFT));
|
||||
return (InputMappings.isKeyDown(SidedProxy.mc().getMainWindow().getHandle(), GLFW.GLFW_KEY_LEFT_SHIFT) ||
|
||||
InputMappings.isKeyDown(SidedProxy.mc().getMainWindow().getHandle(), GLFW.GLFW_KEY_RIGHT_SHIFT));
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public static final boolean isCtrlDown()
|
||||
{
|
||||
return (InputMappings.isKeyDown(SidedProxy.mc().func_228018_at_()/*getMainWindow()*/.getHandle(), GLFW.GLFW_KEY_LEFT_CONTROL) ||
|
||||
InputMappings.isKeyDown(SidedProxy.mc().func_228018_at_()/*getMainWindow()*/.getHandle(), GLFW.GLFW_KEY_RIGHT_CONTROL));
|
||||
return (InputMappings.isKeyDown(SidedProxy.mc().getMainWindow().getHandle(), GLFW.GLFW_KEY_LEFT_CONTROL) ||
|
||||
InputMappings.isKeyDown(SidedProxy.mc().getMainWindow().getHandle(), GLFW.GLFW_KEY_RIGHT_CONTROL));
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -89,7 +89,7 @@ public class Overlay
|
|||
if(deadline() < System.currentTimeMillis()) return;
|
||||
String txt = text();
|
||||
if(txt.isEmpty()) return;
|
||||
final MainWindow win = mc.func_228018_at_()/*getMainWindow()*/;
|
||||
final MainWindow win = mc.getMainWindow();
|
||||
final FontRenderer fr = mc.fontRenderer;
|
||||
final boolean was_unicode = fr.getBidiFlag();
|
||||
try {
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=north,open=false,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model" },
|
||||
"facing=north,open=true,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model_open" },
|
||||
"facing=south,open=false,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model" , "y":180 },
|
||||
"facing=south,open=true,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model_open", "y":180 },
|
||||
"facing=west,open=false,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model" , "y":270 },
|
||||
"facing=west,open=true,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model_open", "y":270 },
|
||||
"facing=east,open=false,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model" , "y":90 },
|
||||
"facing=east,open=true,segment=0": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_bottom_model_open", "y":90 },
|
||||
|
||||
"facing=north,open=false,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model" },
|
||||
"facing=north,open=true,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model_open" },
|
||||
"facing=south,open=false,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model" , "y":180 },
|
||||
"facing=south,open=true,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model_open", "y":180 },
|
||||
"facing=west,open=false,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model" , "y":270 },
|
||||
"facing=west,open=true,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model_open", "y":270 },
|
||||
"facing=east,open=false,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model" , "y":90 },
|
||||
"facing=east,open=true,segment=1": { "model": "engineersdecor:block/fence/steel_mesh_fence_gate_top_model_open", "y":90 }
|
||||
}
|
||||
}
|
|
@ -151,6 +151,8 @@
|
|||
"block.engineersdecor.steel_framed_window.help": "§6Steel framed triple glazed window. Well insulating. §r Does not connect to adjacent blocks like glass panes.",
|
||||
"block.engineersdecor.steel_mesh_fence": "Steel Mesh Fence",
|
||||
"block.engineersdecor.steel_mesh_fence.help": "§6Industrial style fence.§r\nDoes not connect do regular fences.",
|
||||
"block.engineersdecor.steel_mesh_fence_gate": "Steel Mesh Fence Gate",
|
||||
"block.engineersdecor.steel_mesh_fence_gate.help": "§6Industrial style fence gate that fits well to the Steel Mesh Fence.§r\nCan be placed as single or double size gate.",
|
||||
"block.engineersdecor.small_lab_furnace": "Small Laboratory Furnace",
|
||||
"block.engineersdecor.small_lab_furnace.help": "§6Small metal cased lab kiln.§r Solid fuel consuming, updraught. Slightly hotter and better isolated than a cobblestone furnace, therefore more efficient. Two auxiliary slots e.g. for storage. Two stack internal hopper fifos for input, output, and fuel. Place an external heater into a aux slot and connect power for electrical smelting speed boost.",
|
||||
"block.engineersdecor.small_electrical_furnace": "Small Electrical Furnace",
|
||||
|
|
|
@ -151,6 +151,8 @@
|
|||
"block.engineersdecor.steel_framed_window.help": "§6Стальной каркас окна с тройным остеклением. Хорошо изолирует. §r Не подключается к смежным блокам, таким как стеклянные панели.",
|
||||
"block.engineersdecor.steel_mesh_fence": "Забор из стальной сетки",
|
||||
"block.engineersdecor.steel_mesh_fence.help": "§6Забор в индустриальном стиле.§r\nНе стыкуется с обычными заборами.",
|
||||
"block.engineersdecor.steel_mesh_fence_gate": "Steel Mesh Fence Gate",
|
||||
"block.engineersdecor.steel_mesh_fence_gate.help": "§6Industrial style fence gate that fits well to the Steel Mesh Fence.§r\nCan be placed as single or double size gate.",
|
||||
"block.engineersdecor.small_lab_furnace": "Компактная лабораторная печь",
|
||||
"block.engineersdecor.small_lab_furnace.help": "§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива сверху. Немного горячее и изолированней каменной, поэтому быстрее. Два вспомогательных слота, например для хранения. Два слота-воронки для ввода, вывода, и топлива. Поместите внешний нагреватель в слот AUX и подключите питание для электрического повышения скорости обработки.",
|
||||
"block.engineersdecor.small_electrical_furnace": "Компактная конвейерная электрическая печь",
|
||||
|
|
|
@ -151,6 +151,8 @@
|
|||
"block.engineersdecor.steel_framed_window.help": "§6钢框三层玻璃窗。绝缘良好。§r不像玻璃板一样连接到相邻方块。",
|
||||
"block.engineersdecor.steel_mesh_fence": "钢丝栅栏",
|
||||
"block.engineersdecor.steel_mesh_fence.help": "§6工业式栅栏。§r\n不与普通栅栏连接。",
|
||||
"block.engineersdecor.steel_mesh_fence_gate": "Steel Mesh Fence Gate",
|
||||
"block.engineersdecor.steel_mesh_fence_gate.help": "§6Industrial style fence gate that fits well to the Steel Mesh Fence.§r\nCan be placed as single or double size gate.",
|
||||
"block.engineersdecor.small_lab_furnace": "小型实验室炉",
|
||||
"block.engineersdecor.small_lab_furnace.help": "§6小型金属壳实验室窑。§r消耗固体燃料,向上排气。 比圆石炉稍微热一点,隔热性也更好,因此效率更高。 有两个用于储存的辅助格。两个堆叠的内部漏斗对输入、输出和燃料进行队列管理。 在辅助格放置一个外置加热器并通入电力可以加快熔炼速度。",
|
||||
"block.engineersdecor.small_electrical_furnace": "小型电炉",
|
||||
|
|
|
@ -0,0 +1,267 @@
|
|||
{
|
||||
"textures": {
|
||||
"p": "engineersdecor:block/fence/steel_mesh_pole_side",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [3.125, 13.625, 9.4375],
|
||||
"to": [12.8125, 13.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 2.02, 15.5, 2.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 2.02, 15.9375, 2.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 9.625, 9.4375],
|
||||
"to": [12.8125, 9.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 6.02, 15.5, 6.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 6.02, 15.9375, 6.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 5.625, 9.4375],
|
||||
"to": [12.8125, 5.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 10.02, 15.5, 10.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 10.02, 15.9375, 10.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 1.625, 9.4375],
|
||||
"to": [12.8125, 1.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 14.02, 15.5, 14.375], "texture": "#s"},
|
||||
"east": {"uv": [8, 14.02, 8.1875, 14.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 14.02, 15.9375, 14.375], "texture": "#s"},
|
||||
"west": {"uv": [7.8125, 14.02, 8, 14.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 11.625, 9.625],
|
||||
"to": [12.8125, 11.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 4.02, 15.5, 4.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 4.02, 15.9375, 4.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 12.625, 9.875],
|
||||
"to": [5.3125, 13.23, 10.1875],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 9.5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.6875, 2.77, 12.875, 3.375], "texture": "#s"},
|
||||
"east": {"uv": [5.8125, 2.77, 6, 3.375], "texture": "#s"},
|
||||
"south": {"uv": [3.125, 2.77, 5.3125, 3.375], "texture": "#s"},
|
||||
"west": {"uv": [10, 2.77, 10.1875, 3.375], "texture": "#s"},
|
||||
"up": {"uv": [3.125, 10, 5.3125, 10.1875], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [3.125, 5.8125, 5.3125, 6], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 12.625, 9],
|
||||
"to": [5.3125, 13.23, 9.3125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 9.5, 9.125]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.6875, 2.77, 12.875, 3.375], "texture": "#s"},
|
||||
"east": {"uv": [5.8125, 2.77, 6, 3.375], "texture": "#s"},
|
||||
"south": {"uv": [3.125, 2.77, 5.3125, 3.375], "texture": "#s"},
|
||||
"west": {"uv": [10, 2.77, 10.1875, 3.375], "texture": "#s"},
|
||||
"up": {"uv": [3.125, 10, 5.3125, 10.1875], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [3.125, 5.8125, 5.3125, 6], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 7.625, 9.625],
|
||||
"to": [12.9375, 7.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 8.02, 15.5, 8.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 8.02, 15.9375, 8.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 3.625, 9.625],
|
||||
"to": [12.9375, 3.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 12.02, 15.5, 12.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 12.02, 15.9375, 12.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 1, 9.25],
|
||||
"to": [13, 16, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 15, 9.25],
|
||||
"to": [12.25, 16, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"south": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 1, 9.25],
|
||||
"to": [12.25, 2, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, -5.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"east": {"uv": [7.625, 0, 8.375, 1], "texture": "#s"},
|
||||
"south": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"west": {"uv": [7.625, 0, 8.375, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3, 1, 9.25],
|
||||
"to": [3.75, 16, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"south": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"},
|
||||
"down": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 270, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [3, 16, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"},
|
||||
"down": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 270, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.5, 0, 9.5],
|
||||
"to": [3, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"},
|
||||
"down": {"uv": [0, 5.5, 3, 6.5], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 9.5],
|
||||
"to": [15.5, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"},
|
||||
"down": {"uv": [0, 5.5, 3, 6.5], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11.75, 1.375, 9.5],
|
||||
"to": [12.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.875, 0.145, 4.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [11.75, 0.145, 12.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.75, 1.375, 9.5],
|
||||
"to": [8.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.75, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 1.375, 9.5],
|
||||
"to": [4.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [11.875, 0.145, 12.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [3.75, 0.145, 4.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.75, 1.375, 9.5],
|
||||
"to": [10.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [5.875, 0.145, 6.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [9.75, 0.145, 10.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.75, 1.375, 9.5],
|
||||
"to": [6.125, 15.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [9.875, 0.145, 10.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [5.75, 0.145, 6.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,267 @@
|
|||
{
|
||||
"textures": {
|
||||
"p": "engineersdecor:block/fence/steel_mesh_pole_side",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [12.625, 13.625, 0.125],
|
||||
"to": [12.8125, 13.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 2.02, 15.5, 2.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 2.02, 15.9375, 2.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 9.625, 0.125],
|
||||
"to": [12.8125, 9.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 6.02, 15.5, 6.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 6.02, 15.9375, 6.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 5.625, 0.125],
|
||||
"to": [12.8125, 5.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 10.02, 15.5, 10.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 10.02, 15.9375, 10.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 1.625, 0.125],
|
||||
"to": [12.8125, 1.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.8125, 14.02, 8, 14.375], "texture": "#s"},
|
||||
"east": {"uv": [0.0625, 14.02, 15.5, 14.375], "texture": "#s"},
|
||||
"south": {"uv": [8, 14.02, 8.1875, 14.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 14.02, 15.9375, 14.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 11.625, 0.125],
|
||||
"to": [12.625, 11.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 4.02, 15.5, 4.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 4.02, 15.9375, 4.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.0625, 12.625, 0.125],
|
||||
"to": [12.375, 13.23, 2.3125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 2.77, 10.1875, 3.375], "texture": "#s"},
|
||||
"east": {"uv": [10.6875, 2.77, 12.875, 3.375], "texture": "#s"},
|
||||
"south": {"uv": [5.8125, 2.77, 6, 3.375], "texture": "#s"},
|
||||
"west": {"uv": [3.125, 2.77, 5.3125, 3.375], "texture": "#s"},
|
||||
"up": {"uv": [3.125, 10, 5.3125, 10.1875], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [3.125, 5.8125, 5.3125, 6], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.9375, 12.625, 0.125],
|
||||
"to": [13.25, 13.23, 2.3125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 2.77, 10.1875, 3.375], "texture": "#s"},
|
||||
"east": {"uv": [10.6875, 2.77, 12.875, 3.375], "texture": "#s"},
|
||||
"south": {"uv": [5.8125, 2.77, 6, 3.375], "texture": "#s"},
|
||||
"west": {"uv": [3.125, 2.77, 5.3125, 3.375], "texture": "#s"},
|
||||
"up": {"uv": [3.125, 10, 5.3125, 10.1875], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [3.125, 5.8125, 5.3125, 6], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 7.625, 0.5],
|
||||
"to": [12.625, 7.98, 9.9375],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 8.02, 15.5, 8.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 8.02, 15.9375, 8.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 3.625, 0.5],
|
||||
"to": [12.625, 3.98, 9.9375],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 12.02, 15.5, 12.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 12.02, 15.9375, 12.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 1, 9.25],
|
||||
"to": [13, 16, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"east": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"west": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 15, 0.75],
|
||||
"to": [13, 16, 9.25],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"west": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 1, 0.75],
|
||||
"to": [13, 2, 9.25],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"west": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 1, 0],
|
||||
"to": [13, 16, 0.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"east": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"west": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"},
|
||||
"down": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 270, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [3, 16, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"},
|
||||
"down": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 270, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.5, 0, 9.5],
|
||||
"to": [3, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"},
|
||||
"down": {"uv": [0, 5.5, 3, 6.5], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 9.5],
|
||||
"to": [15.5, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"},
|
||||
"down": {"uv": [0, 5.5, 3, 6.5], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 8.75],
|
||||
"to": [12.75, 15.855, 9.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [3.875, 0.145, 4.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [11.75, 0.145, 12.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 4.75],
|
||||
"to": [12.75, 15.855, 5.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.75, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 0.75],
|
||||
"to": [12.75, 15.855, 1.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [11.875, 0.145, 12.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [3.75, 0.145, 4.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 6.75],
|
||||
"to": [12.75, 15.855, 7.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [5.875, 0.145, 6.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [9.75, 0.145, 10.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 1.375, 2.75],
|
||||
"to": [12.75, 15.855, 3.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 8.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [9.875, 0.145, 10.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [5.75, 0.145, 6.125, 15], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,319 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [7.5, 0, 3],
|
||||
"to": [8.5, 16, 4],
|
||||
"faces": {
|
||||
"north": {"uv": [7.5, 0, 8.5, 16], "texture": "#s"},
|
||||
"east": {"uv": [12, 0, 13, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.5, 0, 8.5, 16], "texture": "#s"},
|
||||
"west": {"uv": [3, 0, 4, 16], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 3, 8.5, 4], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 12, 8.5, 13], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 0, 12],
|
||||
"to": [8.5, 16, 13],
|
||||
"faces": {
|
||||
"north": {"uv": [7.5, 0, 8.5, 16], "texture": "#s"},
|
||||
"east": {"uv": [3, 0, 4, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.5, 0, 8.5, 16], "texture": "#s"},
|
||||
"west": {"uv": [12, 0, 13, 16], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 12, 8.5, 13], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 3, 8.5, 4], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 15, 4],
|
||||
"to": [8.5, 16, 12],
|
||||
"faces": {
|
||||
"east": {"uv": [4, 0, 12, 1], "texture": "#s"},
|
||||
"west": {"uv": [4, 0, 12, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 4, 8.5, 12], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 4, 8.5, 12], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 7, 4],
|
||||
"to": [8.5, 9, 5],
|
||||
"faces": {
|
||||
"east": {"uv": [11, 7, 12, 9], "texture": "#s"},
|
||||
"south": {"uv": [7.5, 7, 8.5, 9], "texture": "#s"},
|
||||
"west": {"uv": [4, 7, 5, 9], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 4, 8.5, 5], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 11, 8.5, 12], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.5, 0, 4],
|
||||
"to": [8.5, 0.5, 12],
|
||||
"faces": {
|
||||
"east": {"uv": [4, 15.5, 12, 16], "texture": "#s"},
|
||||
"west": {"uv": [4, 15.5, 12, 16], "texture": "#s"},
|
||||
"up": {"uv": [7.5, 4, 8.5, 12], "texture": "#t"},
|
||||
"down": {"uv": [7.5, 4, 8.5, 12], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 4.125, 3.5],
|
||||
"to": [8.125, 4.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 11.5, 12.5, 11.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 11.5, 12.5, 11.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 5.8125],
|
||||
"to": [8.05, 15.375, 6.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [9.8125, 0.625, 10.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [5.8125, 0.625, 6.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 8.125, 3.5],
|
||||
"to": [8.125, 8.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 7.5, 12.5, 7.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 7.5, 12.5, 7.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 9.8125],
|
||||
"to": [8.05, 15.375, 10.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [5.8125, 0.625, 6.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [9.8125, 0.625, 10.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 12.125, 3.5],
|
||||
"to": [8.125, 12.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 3.5, 12.5, 3.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 3.5, 12.5, 3.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 2.125, 3.5],
|
||||
"to": [8.125, 2.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 13.5, 12.5, 13.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 13.5, 12.5, 13.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 3.8125],
|
||||
"to": [8.05, 15.375, 4.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [11.8125, 0.625, 12.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [3.8125, 0.625, 4.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 6.125, 3.5],
|
||||
"to": [8.125, 6.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 9.5, 12.5, 9.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 9.5, 12.5, 9.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 7.8125],
|
||||
"to": [8.05, 15.375, 8.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [7.8125, 0.625, 8.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [7.8125, 0.625, 8.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 10.125, 3.5],
|
||||
"to": [8.125, 10.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 5.5, 12.5, 5.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 5.5, 12.5, 5.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 11.8125],
|
||||
"to": [8.05, 15.375, 12.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [3.8125, 0.625, 4.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [11.8125, 0.625, 12.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 14.125, 3.5],
|
||||
"to": [8.125, 14.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 1.5, 12.5, 1.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 1.5, 12.5, 1.875], "texture": "#s"},
|
||||
"up": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [8, 3.5, 8.125, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 1.125, 3.5],
|
||||
"to": [8, 1.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 14.5, 12.5, 14.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 14.5, 12.5, 14.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 5.125, 3.5],
|
||||
"to": [8, 5.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 10.5, 12.5, 10.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 10.5, 12.5, 10.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 6.8125],
|
||||
"to": [8.05, 15.375, 7.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [8.8125, 0.625, 9.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [6.8125, 0.625, 7.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 9.125, 3.5],
|
||||
"to": [8, 9.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 6.5, 12.5, 6.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 6.5, 12.5, 6.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 10.8125],
|
||||
"to": [8.05, 15.375, 11.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [4.8125, 0.625, 5.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [10.8125, 0.625, 11.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 13.125, 3.5],
|
||||
"to": [8, 13.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 2.5, 12.5, 2.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 2.5, 12.5, 2.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 3.125, 3.5],
|
||||
"to": [8, 3.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 12.5, 12.5, 12.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 12.5, 12.5, 12.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 4.8125],
|
||||
"to": [8.05, 15.375, 5.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [10.8125, 0.625, 11.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [4.8125, 0.625, 5.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 7.125, 3.5],
|
||||
"to": [8, 7.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 8.5, 12.5, 8.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 8.5, 12.5, 8.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.925, 0, 8.8125],
|
||||
"to": [8.05, 15.375, 9.1875],
|
||||
"faces": {
|
||||
"north": {"uv": [7.95, 0.625, 8.075, 16], "texture": "#s"},
|
||||
"east": {"uv": [6.8125, 0.625, 7.1875, 16], "texture": "#s"},
|
||||
"south": {"uv": [7.925, 0.625, 8.05, 16], "texture": "#t"},
|
||||
"west": {"uv": [8.8125, 0.625, 9.1875, 16], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.875, 11.125, 3.5],
|
||||
"to": [8, 11.5, 12.5],
|
||||
"faces": {
|
||||
"east": {"uv": [3.5, 4.5, 12.5, 4.875], "texture": "#s"},
|
||||
"west": {"uv": [3.5, 4.5, 12.5, 4.875], "texture": "#s"},
|
||||
"up": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#t"},
|
||||
"down": {"uv": [7.875, 3.5, 8, 12.5], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [9, 35, 0],
|
||||
"translation": [0, 0, -1],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 1.5, 0],
|
||||
"scale": [0.3, 0.3, 0.3]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 135, 0],
|
||||
"translation": [-0.25, 0.5, 0],
|
||||
"scale": [0.7, 0.7, 0.7]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [0, 90, 0],
|
||||
"translation": [0, 0, -0.25]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,220 @@
|
|||
{
|
||||
"textures": {
|
||||
"p": "engineersdecor:block/fence/steel_mesh_pole_side",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [3.125, 12.625, 9.4375],
|
||||
"to": [12.8125, 12.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 2.02, 15.5, 2.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 2.02, 15.9375, 2.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 8.625, 9.4375],
|
||||
"to": [12.8125, 8.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 6.02, 15.5, 6.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 6.02, 15.9375, 6.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 4.625, 9.4375],
|
||||
"to": [12.8125, 4.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 10.02, 15.5, 10.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 10.02, 15.9375, 10.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 0.625, 9.4375],
|
||||
"to": [12.8125, 0.98, 9.625],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 14.02, 15.5, 14.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 14.02, 15.9375, 14.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.125, 10.625, 9.625],
|
||||
"to": [12.8125, 10.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 4.02, 15.5, 4.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 4.02, 15.9375, 4.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 6.625, 9.625],
|
||||
"to": [12.9375, 6.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 8.02, 15.5, 8.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 8.02, 15.9375, 8.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.5, 2.625, 9.625],
|
||||
"to": [12.9375, 2.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.0625, 12.02, 15.5, 12.375], "texture": "#s"},
|
||||
"south": {"uv": [0.5, 12.02, 15.9375, 12.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 0, 9.25],
|
||||
"to": [13, 15, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 90, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 14, 9.25],
|
||||
"to": [12.25, 15, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.25, 0, 13.75, 1], "texture": "#s"},
|
||||
"south": {"uv": [2.25, 0, 13.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 90, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 270, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3, 0, 9.25],
|
||||
"to": [3.75, 15, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"south": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 90, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [3, 16, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.5, 0, 9.5],
|
||||
"to": [3, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 9.5],
|
||||
"to": [15.5, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11.75, 0, 9.5],
|
||||
"to": [12.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.875, 0.145, 4.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [11.75, 0.145, 12.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7.75, 0, 9.5],
|
||||
"to": [8.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.75, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3.75, 0, 9.5],
|
||||
"to": [4.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [11.875, 0.145, 12.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [3.75, 0.145, 4.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.75, 0, 9.5],
|
||||
"to": [10.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [5.875, 0.145, 6.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [9.75, 0.145, 10.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5.75, 0, 9.5],
|
||||
"to": [6.125, 14.855, 9.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.375, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [9.875, 0.145, 10.25, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"south": {"uv": [5.75, 0.145, 6.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,222 @@
|
|||
{
|
||||
"textures": {
|
||||
"p": "engineersdecor:block/fence/steel_mesh_pole_side",
|
||||
"t": "engineersdecor:block/fence/steel_mesh_top",
|
||||
"particle": "engineersdecor:block/fence/steel_mesh_fence",
|
||||
"s": "engineersdecor:block/fence/steel_mesh_fence"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [12.625, 12.625, 0.125],
|
||||
"to": [12.8125, 12.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 2.02, 15.5, 2.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 2.02, 15.9375, 2.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 8.625, 0.125],
|
||||
"to": [12.8125, 8.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 6.02, 15.5, 6.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 6.02, 15.9375, 6.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 4.625, 0.125],
|
||||
"to": [12.8125, 4.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 10.02, 15.5, 10.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 10.02, 15.9375, 10.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.625, 0.625, 0.125],
|
||||
"to": [12.8125, 0.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 14.02, 15.5, 14.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 14.02, 15.9375, 14.375], "texture": "#s"},
|
||||
"up": {"uv": [7.8125, 0.0625, 8, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.8125, 0.5, 8, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 10.625, 0.125],
|
||||
"to": [12.625, 10.98, 9.8125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 4.02, 15.5, 4.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 4.02, 15.9375, 4.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 6.625, 0.5],
|
||||
"to": [12.625, 6.98, 9.9375],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 8.02, 15.5, 8.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 8.02, 15.9375, 8.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.4375, 2.625, 0.5],
|
||||
"to": [12.625, 2.98, 9.9375],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [0.0625, 12.02, 15.5, 12.375], "texture": "#s"},
|
||||
"west": {"uv": [0.5, 12.02, 15.9375, 12.375], "texture": "#s"},
|
||||
"up": {"uv": [8, 0.0625, 8.1875, 15.5], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [8, 0.5, 8.1875, 15.9375], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 0, 9.25],
|
||||
"to": [13, 15, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"east": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"west": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 1.5, 8.375, 2.25], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 14, 0.75],
|
||||
"to": [13, 15, 9.25],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"east": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"west": {"uv": [2.25, 0, 10.75, 1], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 2.25, 8.375, 10.75], "rotation": 180, "texture": "#s"},
|
||||
"down": {"uv": [7.625, 2.25, 8.375, 13.75], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.25, 0, 0],
|
||||
"to": [13, 15, 0.75],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"east": {"uv": [13.75, 0, 14.5, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.625, 0, 8.375, 15], "texture": "#s"},
|
||||
"west": {"uv": [1.5, 0, 2.25, 15], "texture": "#s"},
|
||||
"up": {"uv": [7.625, 13.75, 8.375, 14.5], "rotation": 180, "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 6.5],
|
||||
"to": [16, 16, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 6.5],
|
||||
"to": [3, 16, 9.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"south": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#p"},
|
||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "rotation": 90, "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.5, 0, 9.5],
|
||||
"to": [3, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [-5, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 9.5],
|
||||
"to": [15.5, 16, 10.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 11]},
|
||||
"faces": {
|
||||
"east": {"uv": [6, 0, 7, 16], "texture": "#p"},
|
||||
"south": {"uv": [0, 0, 3, 16], "texture": "#p"},
|
||||
"west": {"uv": [10, 0, 11, 16], "texture": "#p"},
|
||||
"up": {"uv": [6, 12, 9, 13], "texture": "#t"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 8.75],
|
||||
"to": [12.75, 14.855, 9.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [3.875, 0.145, 4.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [11.75, 0.145, 12.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 4.75],
|
||||
"to": [12.75, 14.855, 5.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [7.875, 0.145, 8.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [7.75, 0.145, 8.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 0.75],
|
||||
"to": [12.75, 14.855, 1.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [11.875, 0.145, 12.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [3.75, 0.145, 4.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 6.75],
|
||||
"to": [12.75, 14.855, 7.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [5.875, 0.145, 6.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [9.75, 0.145, 10.125, 15], "texture": "#s"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12.5, 0, 2.75],
|
||||
"to": [12.75, 14.855, 3.125],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12.625, 7.5, 9.625]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"east": {"uv": [9.875, 0.145, 10.25, 15], "texture": "#s"},
|
||||
"south": {"uv": [7.875, 0.145, 8.125, 15], "texture": "#s"},
|
||||
"west": {"uv": [5.75, 0.145, 6.125, 15], "texture": "#s"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{ "parent": "engineersdecor:block/fence/steel_mesh_fence_gate_inventory" }
|
Binary file not shown.
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 25 KiB |
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "steel_mesh_fence_gate_dlt",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
}
|
||||
],
|
||||
"name": "engineersdecor:steel_mesh_fence_gate"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "Gates and Doors",
|
||||
"icon": "engineersdecor:steel_mesh_fence_gate",
|
||||
"category": "buildingblocks",
|
||||
"sortnum": 1060,
|
||||
"pages": [
|
||||
{
|
||||
"type": "spotlight",
|
||||
"title": "Steel Mesh Fence Gate",
|
||||
"item": "engineersdecor:steel_mesh_fence_gate",
|
||||
"text": "A fence gate fitting the style of the $(o)Steel Mesh Fence$(). It can be placed one block high for normal fencing, or doubled for higher cage fences, and will form a fence door accordingly.$(br)Redstone open/close signals are accepted for the bottom segment from all sides, for the top segment only from above."
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"text": ""
|
||||
}
|
||||
]
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"name": "Ladders",
|
||||
"icon": "engineersdecor:treated_wood_ladder",
|
||||
"category": "buildingblocks",
|
||||
"sortnum": 1070,
|
||||
"sortnum": 1080,
|
||||
"pages": [
|
||||
{
|
||||
"type": "spotlight",
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "Windows",
|
||||
"icon": "engineersdecor:treated_wood_window",
|
||||
"category": "buildingblocks",
|
||||
"sortnum": 1060,
|
||||
"sortnum": 1070,
|
||||
"pages": [
|
||||
{
|
||||
"type": "spotlight",
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
},
|
||||
{
|
||||
"type": "text",
|
||||
"text": ""
|
||||
"text": "§nSpeed override switch$()$(br)A four-position switch in the bottom right area of the GUI allows to alter the processing speed of the furnace. Default is position 1 (normal). At high power expenses, you can alter this: $(br)$(li)Position 0: OFF$(li)Position 1: x1.0 -> RF x1$(li)Position 2: x1.5 -> RF x2$(li)Position 3: x2.0 -> RF x4$(br2)(Positions 0..4 are down, left, top, right)."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:optional",
|
||||
"result": "engineersdecor:steel_mesh_fence_gate",
|
||||
"required": ["engineersdecor:thin_steel_pole", "engineersdecor:steel_mesh_fence"]
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"PFP"
|
||||
],
|
||||
"key": {
|
||||
"P": {
|
||||
"item": "engineersdecor:thin_steel_pole"
|
||||
},
|
||||
"F": {
|
||||
"item": "engineersdecor:steel_mesh_fence"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:steel_mesh_fence_gate",
|
||||
"count": 2
|
||||
}
|
||||
}
|
4
Makefile
4
Makefile
|
@ -41,10 +41,6 @@ compare:
|
|||
@djs tasks.js compare-blockstates -v
|
||||
@djs tasks.js compare-textures -v
|
||||
|
||||
migrate-from-112:
|
||||
@cd 1.12; make -s port-languages
|
||||
@djs tasks.js migrate-textures -v
|
||||
|
||||
# For reviewers: I am using a local repository for experimental changes,
|
||||
# this target copies the local working tree to the location of the
|
||||
# repository that you cloned.
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
"1.12.2-recommended": "1.0.19",
|
||||
"1.12.2-latest": "1.0.19",
|
||||
"1.14.4-recommended": "",
|
||||
"1.14.4-latest": "1.0.19-b5",
|
||||
"1.14.4-latest": "1.0.20-b1",
|
||||
"1.15.2-recommended": "",
|
||||
"1.15.2-latest": "1.0.19-b5"
|
||||
"1.15.2-latest": "1.0.20-b1"
|
||||
},
|
||||
"1.12.2": {
|
||||
"1.0.19": "[R] Release based on v1.0.19-b4. Release-to-release changes: * Transfer fixes for Tree Cutter / Block Braker, and Factory hopper. * Cleanups, feature backports * Visual fixes and improvements\n[A] Backport of status display for Tree Cutter, Block Breaker and Solar Panel.",
|
||||
"1.0.19": "[R] Release based on v1.0.19-b4. Release-to-release changes: * Transfer fixes for Tree Cutter / Block Breaker, and Factory hopper. * Cleanups, feature backports * Visual fixes and improvements\n[A] Backport of status display for Tree Cutter, Block Breaker and Solar Panel.",
|
||||
"1.0.19-b4": "[A] Creative tab opt-out visibility handling added (issue #90, thx pimalel233).",
|
||||
"1.0.19-b3": "[A] Factory Hopper: Added bottom item handler (CR#227).",
|
||||
"1.0.19-b2": "[F] Fixed Floor Grating item pass-through jitters (thx Cid).\n[M] Removed obsolete recipe collision testing recipes.",
|
||||
|
@ -89,6 +89,7 @@
|
|||
"1.0.0-b1": "[A] Initial structure.\n[A] Added clinker bricks and clinker brick stairs.\n[A] Added slag bricks and slag brick stairs.\n[A] Added metal rung ladder.\n[A] Added staggered metal steps ladder.\n[A] Added treated wood ladder.\n[A] Added treated wood pole.\n[A] Added treated wood table."
|
||||
},
|
||||
"1.14.4": {
|
||||
"1.0.20-b1": "[A] Electrical Furnace: Added four-position speed switch (off, 100%, 150%, 200%), power consumption increases at higher rate (off, 100%, 200%, 400%).\n[A] Added Steel Mesh Fence Gate (single or double height gate fitting to the Steel Mesh Fence).\n[M] Waste Incinerator processing speed tweaked.",
|
||||
"1.0.19-b5": "[A] Added right-click display of power and progress information for Block Breaker, Solar Panel, and Tree Cutter.\n[A] Solar Panel power curve tuned.\n[A] Mod manual 1st edition release recipe added.\n[A] Factory Hopper: Resetting NBT when breaking with empty inventory (for stacking), enabled item cap for all sides.\n[M] Electrical Furnace model polished.",
|
||||
"1.0.19-b4": "[A] Ported primary Immersive Engineering dependent recipes (alternative recipes will still work if IE is not installed).\n[M] Furni comparator output overrides reflect input slots and empty fuel state/power-cutoff.\n[M] Solar Panel config: Default value for internal battery capacity increased.\n[F] Block Placer: Shifted GUI player slots 1px to the right.\n[A] Added mod block tags for slabs, stairs, and walls (PR#89, thanks CrudeAustin for the data).\n[A] Added experimental Patchouli manual (creative only).\n[!] Skipped blacklisting Treated Wood Crafting Table slots for the inventorysorter mod due to potential startup crashes for single player games (issue #88 fix deferred).",
|
||||
"1.0.19-b3": "[M] Config tweaks: Value limit ranges increased to facilitate modpacking.\n[A] Factory Hopper: Added bottom item handler (CR#227).\n[M] Block shapes refined.\n[F] Fixed duping bug (issue #87, thx Nachtflame)",
|
||||
|
@ -136,6 +137,7 @@
|
|||
"1.0.7-b3": "[A] Initial 1.14.2 port of decorative blocks."
|
||||
},
|
||||
"1.15.2": {
|
||||
"1.0.20-b1": "[A] Electrical Furnace: Added four-position speed switch (off, 100%, 150%, 200%), power consumption increases at higher rate (off, 100%, 200%, 400%).\n[A] Added Steel Mesh Fence Gate (single or double height gate fitting to the Steel Mesh Fence).\n[M] Waste Incinerator processing speed tweaked.\n[F] Fixed steel table visual glitch (thx Urbanxx001).\n[M] MCP/Forge mappings updated.",
|
||||
"1.0.19-b5": "[A] Added right-click display of power and progress information for Block Breaker, Solar Panel, and Tree Cutter.\n[A] Solar Panel power curve tuned.\n[A] Mod manual 1st edition release recipe added.\n[A] Factory Hopper: Resetting NBT when breaking with empty inventory (for stacking), enabled item cap for all sides.\n[M] Electrical Furnace model polished.",
|
||||
"1.0.19-b4": "[A] Ported primary Immersive Engineering dependent recipes (alternative recipes will still work if IE is not installed).\n[F] Blacklisted Treated Wood Crafting Table in inventorysorter mod (issue #88, thx Nachtflame).\n[M] Furni comparator output overrides reflect input slots and empty fuel state/power-cutoff.\n[M] Solar Panel config: Default value for internal battery capacity increased.\n[F] Block Placer: Shifted GUI player slots 1px to the right.\n[A] Added mod block tags for slabs, stairs, and walls (PR#89, thanks CrudeAustin for the data).\n[A] Added experimental Patchouli manual (creative only).",
|
||||
"1.0.19-b3": "[M] Config tweaks: Value limit ranges increased to facilitate modpacking.\n[A] Factory Hopper: Added bottom item handler (CR#227).\n[M] Block shapes refined.\n[F] Fixed duping bug (issue #87, thx Nachtflame)",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue