create saw assets and saw recipes
This commit is contained in:
@@ -10,17 +10,8 @@
|
|||||||
- [ ] Grinding wheel rotate
|
- [ ] Grinding wheel rotate
|
||||||
|
|
||||||
## Current Feature
|
## Current Feature
|
||||||
- [ ] Redstone Engine Model
|
- [ ] Recipe Handler for saw
|
||||||
- [ ] Engine Refactor
|
- [ ] Sound for block break
|
||||||
- [ ] Slots for Engines
|
|
||||||
- [ ] Tool Slot
|
|
||||||
- [ ] Gearbox Slot
|
|
||||||
- [ ] Grinding Blade
|
|
||||||
- [ ] Fan
|
|
||||||
- [ ] powered-axle
|
|
||||||
- [ ] Gearbox Block
|
|
||||||
- [ ] Engine Overclocking
|
|
||||||
- [ ] Gears
|
|
||||||
|
|
||||||
## Feature Optimizations
|
## Feature Optimizations
|
||||||
- [ ] Untick Bloomery and Forge
|
- [ ] Untick Bloomery and Forge
|
||||||
@@ -65,6 +56,17 @@ rename s/iron/steel/ iron*
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Completed
|
### Completed
|
||||||
|
- [x] Redstone Engine Model
|
||||||
|
- [x] Engine Refactor
|
||||||
|
- [x] Slots for Engines
|
||||||
|
- [x] Tool Slot
|
||||||
|
- [x] Gearbox Slot
|
||||||
|
- [x] Grinding Blade
|
||||||
|
- [x] Fan
|
||||||
|
- [x] powered-axle
|
||||||
|
- [x] Gearbox Block
|
||||||
|
- [x] Engine Overclocking
|
||||||
|
- [x] Gears
|
||||||
- [x] weapon upgrades
|
- [x] weapon upgrades
|
||||||
- [x] Grinding Bench
|
- [x] Grinding Bench
|
||||||
- [x] Repair ToolHead
|
- [x] Repair ToolHead
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
|
|||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import net.minecraftforge.registries.IForgeRegistry;
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
import nmd.primal.forgecraft.blocks.machine.MachineSaw;
|
||||||
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
|
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
|
||||||
|
import nmd.primal.forgecraft.crafting.MachineSawCrafting;
|
||||||
import nmd.primal.forgecraft.crafting.WorkbenchCrafting;
|
import nmd.primal.forgecraft.crafting.WorkbenchCrafting;
|
||||||
import nmd.primal.forgecraft.init.ModItems;
|
import nmd.primal.forgecraft.init.ModItems;
|
||||||
//import nmd.primal.forgecraft.Item.ModItems;
|
//import nmd.primal.forgecraft.Item.ModItems;
|
||||||
@@ -57,6 +59,7 @@ public class ModInfo {
|
|||||||
// In-World Recipes
|
// In-World Recipes
|
||||||
public static final IForgeRegistry<CrucibleCrafting> CRUCIBLE_CRAFTING = GameRegistry.findRegistry(CrucibleCrafting.class);
|
public static final IForgeRegistry<CrucibleCrafting> CRUCIBLE_CRAFTING = GameRegistry.findRegistry(CrucibleCrafting.class);
|
||||||
public static final IForgeRegistry<WorkbenchCrafting> WORKBENCH_CRAFTING = GameRegistry.findRegistry(WorkbenchCrafting.class);
|
public static final IForgeRegistry<WorkbenchCrafting> WORKBENCH_CRAFTING = GameRegistry.findRegistry(WorkbenchCrafting.class);
|
||||||
|
public static final IForgeRegistry<MachineSawCrafting> MACHINE_SAW_CRAFTING = GameRegistry.findRegistry(MachineSawCrafting.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -35,6 +35,13 @@ public abstract class CustomContainerFacingActive extends BlockContainer {
|
|||||||
setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
|
||||||
|
{
|
||||||
|
super.breakBlock(worldIn, pos, state);
|
||||||
|
worldIn.removeTileEntity(pos);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
|
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,150 @@
|
|||||||
|
package nmd.primal.forgecraft.blocks.machine;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.EnumFacing;
|
||||||
|
import net.minecraft.util.EnumHand;
|
||||||
|
import net.minecraft.util.SoundCategory;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import nmd.primal.core.api.PrimalAPI;
|
||||||
|
import nmd.primal.core.common.helper.PlayerHelper;
|
||||||
|
import nmd.primal.core.common.helper.RecipeHelper;
|
||||||
|
import nmd.primal.forgecraft.blocks.CustomContainerFacingActive;
|
||||||
|
import nmd.primal.forgecraft.crafting.MachineSawCrafting;
|
||||||
|
import nmd.primal.forgecraft.init.ModBlocks;
|
||||||
|
import nmd.primal.forgecraft.init.ModSounds;
|
||||||
|
import nmd.primal.forgecraft.tiles.TileMachineSaw;
|
||||||
|
import nmd.primal.forgecraft.tiles.TileRedstoneEngine;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class MachineSaw extends CustomContainerFacingActive {
|
||||||
|
|
||||||
|
public MachineSaw(Material material, String registryName) {
|
||||||
|
super(material, registryName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
|
||||||
|
if (!world.isRemote) {
|
||||||
|
if (hand.equals(EnumHand.MAIN_HAND)) {
|
||||||
|
TileMachineSaw tile = (TileMachineSaw) world.getTileEntity(pos);
|
||||||
|
ItemStack playerStack = player.getHeldItem(hand);
|
||||||
|
|
||||||
|
if (tile.isItemValidForSlot(0, playerStack)) {
|
||||||
|
ItemStack setStack = playerStack.copy();
|
||||||
|
setStack.setCount(1);
|
||||||
|
tile.setSlotStack(0, setStack);
|
||||||
|
playerStack.shrink(1);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(playerStack.isEmpty()){
|
||||||
|
if(player.isSneaking()){
|
||||||
|
PlayerHelper.spawnItemOnPlayer(world, player, tile.slotList);
|
||||||
|
tile.clearSlots();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block block, BlockPos fromPos) {
|
||||||
|
if (!world.isRemote) {
|
||||||
|
TileMachineSaw tile = (TileMachineSaw) world.getTileEntity(pos);
|
||||||
|
|
||||||
|
if(state.getValue(FACING).equals (EnumFacing.NORTH)){
|
||||||
|
if(world.getBlockState(pos.west()).getBlock().equals(ModBlocks.redstoneengine)){
|
||||||
|
updateValues(world, pos, tile, state, pos.west());
|
||||||
|
sawThings(world, pos, state, tile, fromPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if(state.getValue(FACING).equals (EnumFacing.SOUTH)){
|
||||||
|
if(world.getBlockState(pos.east()).getBlock().equals(ModBlocks.redstoneengine)){
|
||||||
|
updateValues(world, pos, tile, state, pos.east());
|
||||||
|
sawThings(world, pos, state, tile, fromPos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(state.getValue(FACING).equals (EnumFacing.EAST)){
|
||||||
|
if(world.getBlockState(pos.north()).getBlock().equals(ModBlocks.redstoneengine)){
|
||||||
|
updateValues(world, pos, tile, state, pos.north());
|
||||||
|
sawThings(world, pos, state, tile, fromPos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(state.getValue(FACING).equals (EnumFacing.WEST)){
|
||||||
|
if(world.getBlockState(pos.south()).getBlock().equals(ModBlocks.redstoneengine)){
|
||||||
|
updateValues(world, pos, tile, state, pos.south());
|
||||||
|
sawThings(world, pos, state, tile, fromPos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public TileEntity createNewTileEntity(World worldIn, int meta) {
|
||||||
|
return new TileMachineSaw();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sawThings(World world, BlockPos pos, IBlockState state, TileMachineSaw tile, BlockPos fromPos){
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE) && tile.getTransfer() ){
|
||||||
|
if(fromPos.equals(pos.up())) {
|
||||||
|
IBlockState sawState = world.getBlockState(fromPos);
|
||||||
|
ItemStack sawStack = new ItemStack(Item.getItemFromBlock(sawState.getBlock()), 1, sawState.getBlock().getMetaFromState(sawState));
|
||||||
|
MachineSawCrafting recipe = MachineSawCrafting.getRecipe(sawStack);
|
||||||
|
if(recipe != null){
|
||||||
|
if(!recipe.isDisabled()) {
|
||||||
|
if(PrimalAPI.randomCheck(15-tile.getRedstone())){
|
||||||
|
PlayerHelper.spawnItemOnGround(world, pos.offset(state.getValue(FACING)), recipe.getOutput());
|
||||||
|
world.destroyBlock(pos.up(), false);
|
||||||
|
} else {
|
||||||
|
world.destroyBlock(pos.up(), true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setValues(TileMachineSaw tile, TileRedstoneEngine tileRedstoneEngine){
|
||||||
|
tile.setPower(tileRedstoneEngine.getPower());
|
||||||
|
tile.setTorque(tileRedstoneEngine.getTorque());
|
||||||
|
tile.setRpm(tileRedstoneEngine.getRPM());
|
||||||
|
tile.setRedstone(tileRedstoneEngine.getRedstone());
|
||||||
|
tile.setGearMulti(tileRedstoneEngine.getGearMulti());
|
||||||
|
tile.setTransfer(tileRedstoneEngine.getTransfer());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void clearValues(TileMachineSaw tile, TileRedstoneEngine tileRedstoneEngine){
|
||||||
|
tile.setPower(0);
|
||||||
|
tile.setTorque(0);
|
||||||
|
tile.setRpm(0);
|
||||||
|
tile.setRedstone(0);
|
||||||
|
tile.setTransfer(tileRedstoneEngine.getTransfer());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateValues(World world, BlockPos pos, TileMachineSaw tile, IBlockState state, BlockPos offsetPos){
|
||||||
|
TileRedstoneEngine tileEngine = (TileRedstoneEngine) world.getTileEntity(offsetPos);
|
||||||
|
if(world.getBlockState(offsetPos).getValue(PrimalAPI.States.ACTIVE) && tileEngine.getTransfer()){
|
||||||
|
setValues(tile, tileEngine);
|
||||||
|
world.setBlockState(pos, state.withProperty(PrimalAPI.States.ACTIVE, true), 2);
|
||||||
|
}
|
||||||
|
if(!world.getBlockState(offsetPos).getValue(PrimalAPI.States.ACTIVE) || !tileEngine.getTransfer()){
|
||||||
|
clearValues(tile, tileEngine);
|
||||||
|
world.setBlockState(pos, state.withProperty(PrimalAPI.States.ACTIVE, false), 2);
|
||||||
|
tile.markDirty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,16 +4,20 @@ import net.minecraft.block.Block;
|
|||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.inventory.ItemStackHelper;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraft.util.EnumHand;
|
import net.minecraft.util.EnumHand;
|
||||||
|
import net.minecraft.util.NonNullList;
|
||||||
import net.minecraft.util.math.AxisAlignedBB;
|
import net.minecraft.util.math.AxisAlignedBB;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IBlockAccess;
|
import net.minecraft.world.IBlockAccess;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.chunk.Chunk;
|
||||||
import nmd.primal.core.api.PrimalAPI;
|
import nmd.primal.core.api.PrimalAPI;
|
||||||
import nmd.primal.core.common.helper.PlayerHelper;
|
import nmd.primal.core.common.helper.PlayerHelper;
|
||||||
|
import nmd.primal.core.common.helper.RecipeHelper;
|
||||||
import nmd.primal.forgecraft.blocks.CustomContainerFacingActive;
|
import nmd.primal.forgecraft.blocks.CustomContainerFacingActive;
|
||||||
import nmd.primal.forgecraft.tiles.TileRedstoneEngine;
|
import nmd.primal.forgecraft.tiles.TileRedstoneEngine;
|
||||||
|
|
||||||
@@ -22,7 +26,10 @@ import java.util.Random;
|
|||||||
|
|
||||||
public class RedstoneEngine extends CustomContainerFacingActive {
|
public class RedstoneEngine extends CustomContainerFacingActive {
|
||||||
|
|
||||||
protected static final AxisAlignedBB boundBox = new AxisAlignedBB(0/16D, 0/16D, 0/16D, 1, 9 / 16D, 1);
|
protected static final AxisAlignedBB boundBoxNorth = new AxisAlignedBB(0/16D, 0/16D, 0/16D, 10/16D, 27 / 32D, 16/16D);
|
||||||
|
protected static final AxisAlignedBB boundBoxSouth = new AxisAlignedBB(6/16D, 6/16D, 0/16D, 1, 27 / 32D, 16/16D);
|
||||||
|
protected static final AxisAlignedBB boundBoxEast = new AxisAlignedBB(0/16D, 0/16D, 0/16D, 16/16D, 27 / 32D, 10/16D);
|
||||||
|
protected static final AxisAlignedBB boundBoxWest = new AxisAlignedBB(0/16D, 0/16D, 6/16D, 1, 27 / 32D, 16/16D);
|
||||||
|
|
||||||
public RedstoneEngine(Material material, String registryName) {
|
public RedstoneEngine(Material material, String registryName) {
|
||||||
super(material, registryName);
|
super(material, registryName);
|
||||||
@@ -34,6 +41,7 @@ public class RedstoneEngine extends CustomContainerFacingActive {
|
|||||||
if(hand.equals(EnumHand.MAIN_HAND)) {
|
if(hand.equals(EnumHand.MAIN_HAND)) {
|
||||||
TileRedstoneEngine tile = (TileRedstoneEngine) world.getTileEntity(pos);
|
TileRedstoneEngine tile = (TileRedstoneEngine) world.getTileEntity(pos);
|
||||||
ItemStack playerStack = player.getHeldItem(hand);
|
ItemStack playerStack = player.getHeldItem(hand);
|
||||||
|
Chunk chunk = world.getChunkFromBlockCoords(pos);
|
||||||
|
|
||||||
if(tile.isItemValidForSlot(0, playerStack)){
|
if(tile.isItemValidForSlot(0, playerStack)){
|
||||||
ItemStack setStack = playerStack.copy();
|
ItemStack setStack = playerStack.copy();
|
||||||
@@ -47,12 +55,27 @@ public class RedstoneEngine extends CustomContainerFacingActive {
|
|||||||
setStack.setCount(1);
|
setStack.setCount(1);
|
||||||
tile.setSlotStack(1, setStack);
|
tile.setSlotStack(1, setStack);
|
||||||
playerStack.shrink(1);
|
playerStack.shrink(1);
|
||||||
|
tile.setTransfer(true);
|
||||||
|
|
||||||
|
if( world.getRedstonePower(pos.down(), EnumFacing.UP)>0 ||
|
||||||
|
world.getRedstonePower(pos.offset(state.getValue(FACING).getOpposite()), state.getValue(FACING))>0 ) {
|
||||||
|
if(world.getRedstonePower(pos.down(), EnumFacing.UP) > world.getRedstonePower(pos.offset(state.getValue(FACING).getOpposite()), state.getValue(FACING))){
|
||||||
|
tile.setRedstone(world.getRedstonePower(pos.down(), EnumFacing.UP));
|
||||||
|
} else {
|
||||||
|
tile.setRedstone(world.getRedstonePower(pos.offset(state.getValue(FACING).getOpposite()), state.getValue(FACING)));
|
||||||
|
}
|
||||||
|
tile.setPower();
|
||||||
|
this.setValues(tile);
|
||||||
|
}
|
||||||
|
world.markAndNotifyBlock(pos, chunk, state, state, 3);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if(playerStack.isEmpty()){
|
if(playerStack.isEmpty()){
|
||||||
if(player.isSneaking()){
|
if(player.isSneaking()){
|
||||||
PlayerHelper.spawnItemOnPlayer(world, player, tile.slotList);
|
PlayerHelper.spawnItemOnPlayer(world, player, tile.slotList);
|
||||||
tile.clearSlots();
|
tile.clearSlots();
|
||||||
|
tile.setTransfer(false);
|
||||||
|
world.markAndNotifyBlock(pos, chunk, state, state, 3);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -67,34 +90,38 @@ public class RedstoneEngine extends CustomContainerFacingActive {
|
|||||||
TileRedstoneEngine tile = (TileRedstoneEngine) world.getTileEntity(pos);
|
TileRedstoneEngine tile = (TileRedstoneEngine) world.getTileEntity(pos);
|
||||||
if (fromPos.equals(pos.down()) || fromPos.equals(pos.offset(state.getValue(FACING).getOpposite()))) {
|
if (fromPos.equals(pos.down()) || fromPos.equals(pos.offset(state.getValue(FACING).getOpposite()))) {
|
||||||
if (world.isBlockIndirectlyGettingPowered(pos)>0) {
|
if (world.isBlockIndirectlyGettingPowered(pos)>0) {
|
||||||
world.setBlockState(pos, state.withProperty(PrimalAPI.States.ACTIVE, true), 2);
|
|
||||||
int power = world.isBlockIndirectlyGettingPowered(pos);
|
int power = world.isBlockIndirectlyGettingPowered(pos);
|
||||||
tile.setRedstone(power);
|
tile.setRedstone(power);
|
||||||
tile.updateBlock();
|
tile.setPower();
|
||||||
|
this.setValues(tile);
|
||||||
|
world.setBlockState(pos, state.withProperty(PrimalAPI.States.ACTIVE, true), 3);
|
||||||
}
|
}
|
||||||
if (!world.isBlockPowered(pos)) {
|
if (!world.isBlockPowered(pos)) {
|
||||||
world.setBlockState(pos, state.withProperty(PrimalAPI.States.ACTIVE, false), 2);
|
|
||||||
tile.setRedstone(0);
|
tile.setRedstone(0);
|
||||||
tile.updateBlock();
|
tile.setPower();
|
||||||
|
this.setValues(tile);
|
||||||
|
world.setBlockState(pos, state.withProperty(PrimalAPI.States.ACTIVE, false), 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) {
|
|
||||||
if (state.getValue(PrimalAPI.States.ACTIVE) == Boolean.TRUE) {
|
|
||||||
if (state.getValue(PistonBellows.FACING) == EnumFacing.NORTH) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos)
|
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos)
|
||||||
{
|
{
|
||||||
return boundBox;
|
if(state.getValue(FACING).equals(EnumFacing.NORTH)){
|
||||||
|
return boundBoxNorth;
|
||||||
|
}
|
||||||
|
if(state.getValue(FACING).equals(EnumFacing.SOUTH)){
|
||||||
|
return boundBoxSouth;
|
||||||
|
}
|
||||||
|
if(state.getValue(FACING).equals(EnumFacing.EAST)){
|
||||||
|
return boundBoxEast;
|
||||||
|
}
|
||||||
|
if(state.getValue(FACING).equals(EnumFacing.WEST)){
|
||||||
|
return boundBoxWest;
|
||||||
|
}
|
||||||
|
return boundBoxNorth;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -103,4 +130,35 @@ public class RedstoneEngine extends CustomContainerFacingActive {
|
|||||||
return new TileRedstoneEngine();
|
return new TileRedstoneEngine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setValues(TileRedstoneEngine tile){
|
||||||
|
if(!tile.getSlotStack(0).isEmpty()){
|
||||||
|
NonNullList<ItemStack> gearboxList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
||||||
|
if(tile.getSlotStack(0).getSubCompound("BlockEntityTag") != null) {
|
||||||
|
ItemStackHelper.loadAllItems(tile.getSlotStack(0).getSubCompound("BlockEntityTag"), gearboxList);
|
||||||
|
if (RecipeHelper.isOreName(gearboxList.get(0), "gearPrimalMedium") &&
|
||||||
|
RecipeHelper.isOreName(gearboxList.get(1), "gearPrimalMedium") &&
|
||||||
|
RecipeHelper.isOreName(gearboxList.get(2), "gearboxCoverPrimal")) {
|
||||||
|
tile.setRPM(1200F/(60-2*tile.getRedstone()));
|
||||||
|
tile.setTorque(tile.getPower()/tile.getRPM());
|
||||||
|
tile.setGearMulti(1F);
|
||||||
|
}
|
||||||
|
if (RecipeHelper.isOreName(gearboxList.get(0), "gearPrimalSmall") &&
|
||||||
|
RecipeHelper.isOreName(gearboxList.get(1), "gearPrimalLarge") &&
|
||||||
|
RecipeHelper.isOreName(gearboxList.get(2), "gearboxCoverPrimal")) {
|
||||||
|
tile.setRPM((1200F/(60-2*tile.getRedstone()))*4);
|
||||||
|
tile.setTorque(tile.getPower()/tile.getRPM());
|
||||||
|
tile.setGearMulti(4F);
|
||||||
|
}
|
||||||
|
if (RecipeHelper.isOreName(gearboxList.get(0), "gearPrimalLarge") &&
|
||||||
|
RecipeHelper.isOreName(gearboxList.get(1), "gearPrimalSmall") &&
|
||||||
|
RecipeHelper.isOreName(gearboxList.get(2), "gearboxCoverPrimal")) {
|
||||||
|
|
||||||
|
tile.setRPM((1200F/(60-2*tile.getRedstone()))/4);
|
||||||
|
tile.setTorque(tile.getPower()/tile.getRPM());
|
||||||
|
tile.setGearMulti(0.25F);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
151
kfc/src/main/java/nmd/primal/forgecraft/compat/ct/CTSaw.java
Normal file
151
kfc/src/main/java/nmd/primal/forgecraft/compat/ct/CTSaw.java
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
package nmd.primal.forgecraft.compat.ct;
|
||||||
|
|
||||||
|
|
||||||
|
import crafttweaker.CraftTweakerAPI;
|
||||||
|
import crafttweaker.IAction;
|
||||||
|
import crafttweaker.annotations.ModOnly;
|
||||||
|
import crafttweaker.annotations.ZenRegister;
|
||||||
|
import crafttweaker.api.item.IIngredient;
|
||||||
|
import crafttweaker.api.item.IItemStack;
|
||||||
|
import crafttweaker.api.minecraft.CraftTweakerMC;
|
||||||
|
import net.minecraft.inventory.ItemStackHelper;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.crafting.Ingredient;
|
||||||
|
import nmd.primal.core.api.PrimalAPI;
|
||||||
|
import nmd.primal.core.common.PrimalCore;
|
||||||
|
import nmd.primal.core.common.helper.RecipeHelper;
|
||||||
|
import nmd.primal.forgecraft.ModInfo;
|
||||||
|
import nmd.primal.forgecraft.blocks.machine.MachineSaw;
|
||||||
|
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
|
||||||
|
import nmd.primal.forgecraft.crafting.MachineSawCrafting;
|
||||||
|
import stanhebben.zenscript.annotations.ZenClass;
|
||||||
|
import stanhebben.zenscript.annotations.ZenMethod;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ZenClass("mods.forgecraft.MachineSaw")
|
||||||
|
@ModOnly(ModInfo.MOD_ID)
|
||||||
|
@ZenRegister
|
||||||
|
public class CTSaw {
|
||||||
|
|
||||||
|
static
|
||||||
|
{
|
||||||
|
PrimalCore.LOGGER.info("Registering CraftTweaker: " + MachineSawCrafting.RECIPE_PREFIX);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ZenMethod
|
||||||
|
public static void addRecipe(IIngredient ing0,
|
||||||
|
IIngredient output,
|
||||||
|
String recipe_name)
|
||||||
|
{
|
||||||
|
CraftTweakerAPI.apply(new Add(ing0, output, recipe_name));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ZenMethod
|
||||||
|
public static void removeRecipe(String recipe_name)
|
||||||
|
{
|
||||||
|
CraftTweakerAPI.apply(new Remove(recipe_name));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ZenMethod
|
||||||
|
public static void removeAll()
|
||||||
|
{
|
||||||
|
CraftTweakerAPI.apply(new RemoveAll());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class Add implements IAction
|
||||||
|
{
|
||||||
|
private final String recipe_name;
|
||||||
|
private final Ingredient ing0;
|
||||||
|
private final List<ItemStack> output;
|
||||||
|
private boolean isDisabled, isHidden;
|
||||||
|
|
||||||
|
public Add(IIngredient I0, IIngredient output, String recipe_name)
|
||||||
|
{
|
||||||
|
|
||||||
|
ItemStack[] array0 = null;
|
||||||
|
ItemStack[] emptyArray = new ItemStack[1];
|
||||||
|
emptyArray[0] = ItemStack.EMPTY;
|
||||||
|
|
||||||
|
if(I0 != null) {
|
||||||
|
List<ItemStack> zeroIList = I0.getItems().stream().map(CraftTweakerMC::getItemStack).collect(Collectors.toList());
|
||||||
|
array0 = zeroIList.stream().toArray(ItemStack[]::new);
|
||||||
|
}
|
||||||
|
if(I0 == null) {
|
||||||
|
array0 = emptyArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.recipe_name = recipe_name;
|
||||||
|
this.ing0 = Ingredient.fromStacks(array0);
|
||||||
|
this.output = RecipeHelper.getIIngredientStacks(output);
|
||||||
|
this.isDisabled = false;
|
||||||
|
this.isHidden = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void apply()
|
||||||
|
{
|
||||||
|
PrimalCore.LOGGER.info("Add CraftTweaker Recipe: " + this.recipe_name);
|
||||||
|
MachineSawCrafting.REGISTRY.register(new MachineSawCrafting(
|
||||||
|
this.ing0,
|
||||||
|
this.output).setRecipeName(this.recipe_name));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String describe()
|
||||||
|
{
|
||||||
|
return "[" + ModInfo.MOD_NAME + "] Adding Crafting Tweaker recipe for: " + MachineSawCrafting.RECIPE_PREFIX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static class Remove implements IAction
|
||||||
|
{
|
||||||
|
private String recipe_name;
|
||||||
|
|
||||||
|
public Remove(String recipe_name)
|
||||||
|
{
|
||||||
|
this.recipe_name = recipe_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void apply()
|
||||||
|
{
|
||||||
|
MachineSawCrafting recipe = MachineSawCrafting.getRecipe(recipe_name);
|
||||||
|
if (recipe != null && !recipe.isHidden())
|
||||||
|
{
|
||||||
|
PrimalCore.LOGGER.info("Remove CraftTweaker Recipe: " + recipe_name);
|
||||||
|
recipe.setDisabled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String describe()
|
||||||
|
{
|
||||||
|
return "[" + ModInfo.MOD_NAME + "] Removing Crafting Tweaker recipe for:" + MachineSawCrafting.RECIPE_PREFIX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class RemoveAll implements IAction
|
||||||
|
{
|
||||||
|
public RemoveAll() { }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void apply()
|
||||||
|
{
|
||||||
|
for (MachineSawCrafting recipe : MachineSawCrafting.RECIPES)
|
||||||
|
{
|
||||||
|
if (!recipe.isHidden())
|
||||||
|
recipe.setDisabled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String describe()
|
||||||
|
{
|
||||||
|
return "[" + ModInfo.MOD_NAME + "] Removing Crafting Tweaker recipe for:" + MachineSawCrafting.RECIPE_PREFIX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
package nmd.primal.forgecraft.crafting;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
import net.minecraft.init.Items;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.crafting.Ingredient;
|
||||||
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
import nmd.primal.core.common.helper.RecipeHelper;
|
||||||
|
import nmd.primal.core.common.recipes.AbstractRecipe;
|
||||||
|
import nmd.primal.forgecraft.ModInfo;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by mminaie on 11/11/17.
|
||||||
|
*/
|
||||||
|
public class MachineSawCrafting extends AbstractRecipe<MachineSawCrafting> { //extends AbstractCrafting<CrucibleCrafting> {
|
||||||
|
|
||||||
|
// ***************************************************************************** //
|
||||||
|
// Recipe Handler CrucibleHandler
|
||||||
|
// ***************************************************************************** //
|
||||||
|
|
||||||
|
public static final String RECIPE_PREFIX = "machine_saw";
|
||||||
|
public static final IForgeRegistry<MachineSawCrafting> REGISTRY = ModInfo.Registries.MACHINE_SAW_CRAFTING;
|
||||||
|
|
||||||
|
public static Collection<MachineSawCrafting> getRECIPES() {
|
||||||
|
return RECIPES;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Collection<MachineSawCrafting> RECIPES = REGISTRY.getValuesCollection();
|
||||||
|
|
||||||
|
private Ingredient input;
|
||||||
|
private List<ItemStack> output;
|
||||||
|
|
||||||
|
public Ingredient getInput() {
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
public void setInput(Ingredient input) {
|
||||||
|
this.input = input;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ItemStack> getOutput() {
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
public void setOutput(List<ItemStack> output) {
|
||||||
|
this.output = output;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MachineSawCrafting(Ingredient input, List<ItemStack> output){
|
||||||
|
super();
|
||||||
|
this.input = input;
|
||||||
|
this.output = output;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean compare(Ingredient ingredient, ItemStack stack){
|
||||||
|
if(stack == null){
|
||||||
|
stack = new ItemStack(Items.AIR, 1);
|
||||||
|
}
|
||||||
|
if(ingredient == null && stack.isEmpty()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ingredient.test(ItemStack.EMPTY)) {
|
||||||
|
if (stack.isEmpty()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ingredient.apply(stack)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isRecipe(ItemStack input){
|
||||||
|
for(MachineSawCrafting recipe : RECIPES){
|
||||||
|
if(input == null){
|
||||||
|
input = ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
if(compare(recipe.input, input)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MachineSawCrafting getRecipe(ItemStack input){
|
||||||
|
for(MachineSawCrafting recipe : RECIPES){
|
||||||
|
if(input == null){
|
||||||
|
input = ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
if(recipe.input.apply(input)){
|
||||||
|
return recipe;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Collection<MachineSawCrafting> getRecipes() {
|
||||||
|
return RECIPES;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getRecipePrefix() {
|
||||||
|
return RECIPE_PREFIX;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shim for getting a recipe directly from correctly formatted name
|
||||||
|
* @param recipe_name basic recipe name, no prefix or mod id
|
||||||
|
* @return Recipe object
|
||||||
|
*/
|
||||||
|
@Nullable
|
||||||
|
public static MachineSawCrafting getRecipe(String recipe_name)
|
||||||
|
{
|
||||||
|
return REGISTRY.getValue(getFullRecipeName(RECIPE_PREFIX, recipe_name));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
package nmd.primal.forgecraft.crafting.registery;
|
||||||
|
|
||||||
|
import crafttweaker.api.block.IBlock;
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.init.Items;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.crafting.Ingredient;
|
||||||
|
import net.minecraft.util.NonNullList;
|
||||||
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
|
import net.minecraftforge.fml.common.Mod;
|
||||||
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||||
|
import net.minecraftforge.oredict.OreDictionary;
|
||||||
|
import net.minecraftforge.oredict.OreIngredient;
|
||||||
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
import nmd.primal.core.api.PrimalAPI;
|
||||||
|
import nmd.primal.core.common.helper.RecipeHelper;
|
||||||
|
import nmd.primal.forgecraft.ModInfo;
|
||||||
|
import nmd.primal.forgecraft.crafting.MachineSawCrafting;
|
||||||
|
import nmd.primal.forgecraft.crafting.WorkbenchCrafting;
|
||||||
|
import nmd.primal.forgecraft.init.ModItems;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@GameRegistry.ObjectHolder(ModInfo.MOD_ID)
|
||||||
|
@Mod.EventBusSubscriber
|
||||||
|
public final class RecipesMachineSaw {
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void registerRecipes(RegistryEvent.Register<MachineSawCrafting> event) {
|
||||||
|
PrimalAPI.logger(7, "Registering Recipes: " + MachineSawCrafting.RECIPE_PREFIX);
|
||||||
|
final IForgeRegistry<MachineSawCrafting> recipes = event.getRegistry();
|
||||||
|
|
||||||
|
ItemStack sticks = new ItemStack(Items.STICK, 2);
|
||||||
|
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("logOak"),
|
||||||
|
RecipeHelper.buildList((new ItemStack(Item.getItemFromBlock(Blocks.PLANKS), 4, 0)),
|
||||||
|
(new ItemStack(PrimalAPI.Items.BARK_OAK, 4)),
|
||||||
|
sticks))
|
||||||
|
.setRecipeName("oakPlanks"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("logSpruce"),
|
||||||
|
RecipeHelper.buildList((new ItemStack(Item.getItemFromBlock(Blocks.PLANKS), 4, 1)),
|
||||||
|
(new ItemStack(PrimalAPI.Items.BARK_SPRUCE, 4)),
|
||||||
|
sticks))
|
||||||
|
.setRecipeName("sprucePlanks"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("logBirch"),
|
||||||
|
RecipeHelper.buildList( (new ItemStack(Item.getItemFromBlock(Blocks.PLANKS), 4, 2)),
|
||||||
|
(new ItemStack(PrimalAPI.Items.BARK_BIRCH, 4)),
|
||||||
|
sticks))
|
||||||
|
.setRecipeName("birchPlanks"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("logJungle"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(Item.getItemFromBlock(Blocks.PLANKS), 4, 3)))
|
||||||
|
.setRecipeName("junglePlanks"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("logAcacia"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(Item.getItemFromBlock(Blocks.PLANKS), 4, 0)))
|
||||||
|
.setRecipeName("acaciaPlanks"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("logIronwood"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(Item.getItemFromBlock(PrimalAPI.Blocks.PLANKS), 4, 0)))
|
||||||
|
.setRecipeName("ironwoodPlanks"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("logYew"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(Item.getItemFromBlock(PrimalAPI.Blocks.PLANKS), 4, 1)))
|
||||||
|
.setRecipeName("yewPlanks"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("logCorypha"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(Item.getItemFromBlock(PrimalAPI.Blocks.PLANKS), 4, 3)))
|
||||||
|
.setRecipeName("coryphaPlanks"));
|
||||||
|
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("strippedOak"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(PrimalAPI.Items.LOGS_SPLIT_OAK, 6)))
|
||||||
|
.setRecipeName("splitOak"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("strippedSpruce"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(PrimalAPI.Items.LOGS_SPLIT_SPRUCE, 6)))
|
||||||
|
.setRecipeName("splitSpruce"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("strippedBirch"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(PrimalAPI.Items.LOGS_SPLIT_BIRCH, 6)))
|
||||||
|
.setRecipeName("splitBirch"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("strippedJungle"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(PrimalAPI.Items.LOGS_SPLIT_JUNGLE, 6)))
|
||||||
|
.setRecipeName("splitJungle"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("strippedAcacia"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(PrimalAPI.Items.LOGS_SPLIT_ACACIA, 6)))
|
||||||
|
.setRecipeName("splitAcacia"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("strippedDarkOak"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(PrimalAPI.Items.LOGS_SPLIT_DARK_OAK, 6)))
|
||||||
|
.setRecipeName("splitDarkOak"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("strippedIronwood"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(PrimalAPI.Items.LOGS_SPLIT_IRONWOOD, 6)))
|
||||||
|
.setRecipeName("splitIronwood"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("strippedYew"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(PrimalAPI.Items.LOGS_SPLIT_YEW, 6)))
|
||||||
|
.setRecipeName("splitYew"));
|
||||||
|
recipes.register(new MachineSawCrafting(
|
||||||
|
new OreIngredient("strippedCorypha"),
|
||||||
|
RecipeHelper.buildList(new ItemStack(PrimalAPI.Items.LOGS_SPLIT_CORYPHA, 6)))
|
||||||
|
.setRecipeName("splitCorypha"));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -49,13 +49,16 @@ public class ModBlocks {
|
|||||||
public static Block pistonbellowsacacia;
|
public static Block pistonbellowsacacia;
|
||||||
|
|
||||||
public static Block stoneanvil;
|
public static Block stoneanvil;
|
||||||
public static Block ironanvil;
|
//public static Block ironanvil;
|
||||||
|
|
||||||
public static Block workbench;
|
public static Block workbench;
|
||||||
public static Block sharpbench;
|
public static Block sharpbench;
|
||||||
|
|
||||||
public static Block yewstave;
|
public static Block yewstave;
|
||||||
|
|
||||||
|
/** M A C H I N E S **/
|
||||||
|
public static Block machinesaw;
|
||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
|
|
||||||
nbtCrucible = new NBTCrucible(Material.ROCK, "nbtcrucible");
|
nbtCrucible = new NBTCrucible(Material.ROCK, "nbtcrucible");
|
||||||
@@ -91,6 +94,8 @@ public class ModBlocks {
|
|||||||
|
|
||||||
yewstave = new YewStave(Material.WOOD, "yewstave", 3.0F);
|
yewstave = new YewStave(Material.WOOD, "yewstave", 3.0F);
|
||||||
|
|
||||||
|
machinesaw = new MachineSaw(Material.IRON, "ironmachinesaw");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -127,6 +132,8 @@ public class ModBlocks {
|
|||||||
registerBlockWithItem(sharpbench);
|
registerBlockWithItem(sharpbench);
|
||||||
|
|
||||||
registerBlockWithItem(yewstave);
|
registerBlockWithItem(yewstave);
|
||||||
|
|
||||||
|
registerBlockWithItem(machinesaw);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
@@ -162,6 +169,7 @@ public class ModBlocks {
|
|||||||
|
|
||||||
registerRender(yewstave);
|
registerRender(yewstave);
|
||||||
|
|
||||||
|
registerRender(machinesaw);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void registerBlockWithItem(Block block)
|
private static void registerBlockWithItem(Block block)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import net.minecraftforge.registries.RegistryBuilder;
|
|||||||
import nmd.primal.core.api.PrimalAPI;
|
import nmd.primal.core.api.PrimalAPI;
|
||||||
import nmd.primal.forgecraft.ModInfo;
|
import nmd.primal.forgecraft.ModInfo;
|
||||||
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
|
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
|
||||||
|
import nmd.primal.forgecraft.crafting.MachineSawCrafting;
|
||||||
import nmd.primal.forgecraft.crafting.WorkbenchCrafting;
|
import nmd.primal.forgecraft.crafting.WorkbenchCrafting;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,5 +36,12 @@ public class ModRegistries {
|
|||||||
registryWorkbench.setIDRange(0, 1000);
|
registryWorkbench.setIDRange(0, 1000);
|
||||||
registryWorkbench.create();
|
registryWorkbench.create();
|
||||||
|
|
||||||
|
PrimalAPI.logger(1, "Custom Registry", MachineSawCrafting.RECIPE_PREFIX);
|
||||||
|
RegistryBuilder registryMachineSaw = new RegistryBuilder();
|
||||||
|
registryMachineSaw.setType(MachineSawCrafting.class);
|
||||||
|
registryMachineSaw.setName(new ResourceLocation(ModInfo.MOD_ID, "recipes_" + MachineSawCrafting.RECIPE_PREFIX));
|
||||||
|
registryMachineSaw.setIDRange(0, 1000);
|
||||||
|
registryMachineSaw.create();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ public class ModSounds {
|
|||||||
public static SoundEvent BOW_TWANG;
|
public static SoundEvent BOW_TWANG;
|
||||||
public static SoundEvent CHISEL_HIT;
|
public static SoundEvent CHISEL_HIT;
|
||||||
public static SoundEvent CHISEL_HIT_FINISHED;
|
public static SoundEvent CHISEL_HIT_FINISHED;
|
||||||
|
public static SoundEvent ENGINE_EXTENSION;
|
||||||
|
public static SoundEvent ENGINE_RETRACTION;
|
||||||
|
public static SoundEvent SAW_MACHINE;
|
||||||
|
|
||||||
public static void registerSounds()
|
public static void registerSounds()
|
||||||
{
|
{
|
||||||
@@ -23,6 +26,9 @@ public class ModSounds {
|
|||||||
BOW_TWANG = registerSound("bow_twang");
|
BOW_TWANG = registerSound("bow_twang");
|
||||||
CHISEL_HIT = registerSound("chisel_hit");
|
CHISEL_HIT = registerSound("chisel_hit");
|
||||||
CHISEL_HIT_FINISHED = registerSound("chisel_hit_finished");
|
CHISEL_HIT_FINISHED = registerSound("chisel_hit_finished");
|
||||||
|
ENGINE_EXTENSION = registerSound("piston_engine_out");
|
||||||
|
ENGINE_RETRACTION = registerSound("piston_engine_in");
|
||||||
|
SAW_MACHINE = registerSound("saw_machine");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static SoundEvent registerSound(String name)
|
private static SoundEvent registerSound(String name)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ public class ModTileRenders {
|
|||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileSharpBench.class, new TileSharpBenchRender());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileSharpBench.class, new TileSharpBenchRender());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileRedstoneEngine.class, new TileRedstoneEngineRender());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileRedstoneEngine.class, new TileRedstoneEngineRender());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileGearbox.class, new TileGearboxRender());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileGearbox.class, new TileGearboxRender());
|
||||||
|
ClientRegistry.bindTileEntitySpecialRenderer(TileMachineSaw.class, new TileMachineSawRender());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package nmd.primal.forgecraft.init;
|
package nmd.primal.forgecraft.init;
|
||||||
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraftforge.fml.common.registry.ForgeRegistries;
|
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||||
import nmd.primal.forgecraft.tiles.*;
|
import nmd.primal.forgecraft.tiles.*;
|
||||||
|
|
||||||
@@ -22,6 +21,7 @@ public class ModTiles {
|
|||||||
registerTileEntity(TileSharpBench.class, "sharpbench");
|
registerTileEntity(TileSharpBench.class, "sharpbench");
|
||||||
registerTileEntity(TileRedstoneEngine.class, "redstoneengine");
|
registerTileEntity(TileRedstoneEngine.class, "redstoneengine");
|
||||||
registerTileEntity(TileGearbox.class, "gearbox");
|
registerTileEntity(TileGearbox.class, "gearbox");
|
||||||
|
registerTileEntity(TileMachineSaw.class, "machine");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void registerTileEntity(Class<? extends TileEntity> tile_class, String baseName) {
|
private static void registerTileEntity(Class<? extends TileEntity> tile_class, String baseName) {
|
||||||
|
|||||||
@@ -0,0 +1,418 @@
|
|||||||
|
package nmd.primal.forgecraft.renders.blocks;
|
||||||
|
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.renderer.OpenGlHelper;
|
||||||
|
import net.minecraft.client.renderer.RenderItem;
|
||||||
|
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
|
||||||
|
import net.minecraft.client.renderer.texture.TextureMap;
|
||||||
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.EnumFacing;
|
||||||
|
import net.minecraft.util.SoundCategory;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import nmd.primal.core.api.PrimalAPI;
|
||||||
|
import nmd.primal.forgecraft.blocks.CustomContainerFacingActive;
|
||||||
|
import nmd.primal.forgecraft.blocks.machine.MachineSaw;
|
||||||
|
import nmd.primal.forgecraft.init.ModBlocks;
|
||||||
|
import nmd.primal.forgecraft.init.ModSounds;
|
||||||
|
import nmd.primal.forgecraft.tiles.TileMachineSaw;
|
||||||
|
import nmd.primal.forgecraft.tiles.TileRedstoneEngine;
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by mminaie on 4/9/17.
|
||||||
|
*/
|
||||||
|
public class TileMachineSawRender extends TileEntitySpecialRenderer<TileMachineSaw> {
|
||||||
|
private RenderItem renderItem = Minecraft.getMinecraft().getRenderItem();
|
||||||
|
private boolean sound1;
|
||||||
|
|
||||||
|
private boolean getSound1() {
|
||||||
|
return sound1;
|
||||||
|
}
|
||||||
|
private void setSound1(boolean sound) {
|
||||||
|
this.sound1 = sound;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(TileMachineSaw tile, double x, double y, double z, float partialTicks, int destroyStage, float alpha) {
|
||||||
|
BlockPos pos = tile.getPos();
|
||||||
|
IBlockState state = this.getWorld().getBlockState(pos);
|
||||||
|
World world = tile.getWorld();
|
||||||
|
|
||||||
|
ItemStack saw = tile.getSlotStack(0);
|
||||||
|
|
||||||
|
if (state.getBlock() instanceof MachineSaw) {
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated(x, y, z);
|
||||||
|
GL11.glScalef(1.0f, 1.0f, 1.0f);
|
||||||
|
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
|
||||||
|
float prevLGTX = OpenGlHelper.lastBrightnessX;
|
||||||
|
float prevLGTY = OpenGlHelper.lastBrightnessY;
|
||||||
|
int bright = tile.getWorld().getCombinedLight(pos.up(), 0);
|
||||||
|
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, bright % 65536, bright / 65536);
|
||||||
|
|
||||||
|
//N O R T H
|
||||||
|
if (state.getValue(CustomContainerFacingActive.FACING) == EnumFacing.NORTH) {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((16 / 32D), (27 / 32D), (16 / 32D));
|
||||||
|
GL11.glRotatef(180 , 0.0F, 1.0F, 0.0F);
|
||||||
|
if(world.getBlockState(pos.west()).getBlock().equals(ModBlocks.redstoneengine)) {
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE) && tile.getTransfer()) {
|
||||||
|
GL11.glRotatef(-360 * createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone()), 1.0F, 0.0F, 0.0F);
|
||||||
|
if(createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone())<=0.02F && !getSound1()){
|
||||||
|
world.playSound(pos.getX(), pos.getY(), pos.getZ(), ModSounds.SAW_MACHINE, SoundCategory.BLOCKS, 0.15F, 1.0F, true);
|
||||||
|
}
|
||||||
|
if(createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone())>0.02F && getSound1()){
|
||||||
|
setSound1(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
renderItem.renderItem(saw, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
//S O U T H//
|
||||||
|
if (state.getValue(CustomContainerFacingActive.FACING) == EnumFacing.SOUTH) {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((16 / 32D), (27 / 32D), (16 / 32D));
|
||||||
|
if(world.getBlockState(pos.east()).getBlock().equals(ModBlocks.redstoneengine)) {
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE) && tile.getTransfer()) {
|
||||||
|
GL11.glRotatef(-360 * createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone()), 1.0F, 0.0F, 0.0F);
|
||||||
|
if(createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone())<=0.02F && !getSound1()){
|
||||||
|
world.playSound(pos.getX(), pos.getY(), pos.getZ(), ModSounds.SAW_MACHINE, SoundCategory.BLOCKS, 0.15F, 1.0F, true);
|
||||||
|
}
|
||||||
|
if(createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone())>0.02F && getSound1()){
|
||||||
|
setSound1(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
renderItem.renderItem(saw, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
//E A S T//
|
||||||
|
if (state.getValue(CustomContainerFacingActive.FACING) == EnumFacing.EAST) {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((16 / 32D), (27 / 32D), (16 / 32D));
|
||||||
|
GL11.glRotatef(90 , 0.0F, 1.0F, 0.0F);
|
||||||
|
if(world.getBlockState(pos.north()).getBlock().equals(ModBlocks.redstoneengine)) {
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE) && tile.getTransfer()) {
|
||||||
|
GL11.glRotatef(360 * createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone()), 1.0F, 0.0F, 0.0F);
|
||||||
|
if(createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone())<=0.02F && !getSound1()){
|
||||||
|
world.playSound(pos.getX(), pos.getY(), pos.getZ(), ModSounds.SAW_MACHINE, SoundCategory.BLOCKS, 0.15F, 1.0F, true);
|
||||||
|
}
|
||||||
|
if(createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone())>0.02F && getSound1()){
|
||||||
|
setSound1(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
renderItem.renderItem(saw, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
//W E S T//
|
||||||
|
if (state.getValue(CustomContainerFacingActive.FACING) == EnumFacing.WEST) {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((16 / 32D), (27 / 32D), (16 / 32D));
|
||||||
|
GL11.glRotatef(-90 , 0.0F, 1.0F, 0.0F);
|
||||||
|
if(world.getBlockState(pos.south()).getBlock().equals(ModBlocks.redstoneengine)) {
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE) && tile.getTransfer()) {
|
||||||
|
GL11.glRotatef(360 * createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone()), 1.0F, 0.0F, 0.0F);
|
||||||
|
if(createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone())<=0.02F && !getSound1()){
|
||||||
|
world.playSound(pos.getX(), pos.getY(), pos.getZ(), ModSounds.SAW_MACHINE, SoundCategory.BLOCKS, 0.15F, 1.0F, true);
|
||||||
|
}
|
||||||
|
if(createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone())>0.02F && getSound1()){
|
||||||
|
setSound1(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
renderItem.renderItem(saw, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public float createOutputK(World world, Float gearMulti, int redstone){
|
||||||
|
if(gearMulti==1){
|
||||||
|
float k = (60 - (redstone*2));
|
||||||
|
float time = (int) (world.getTotalWorldTime() % k);
|
||||||
|
float tempK = (time / k);
|
||||||
|
return tempK;
|
||||||
|
} else if (gearMulti==4){
|
||||||
|
float fastk = (60 - (redstone*2))*0.25F;
|
||||||
|
float fastTime = (int) (world.getTotalWorldTime() % fastk);
|
||||||
|
float tempk = fastTime / fastk;
|
||||||
|
return tempk;
|
||||||
|
} else if(gearMulti==0.25){
|
||||||
|
float slowk = (60 - (redstone*2))*4F;
|
||||||
|
float slowTime = (int) (world.getTotalWorldTime() % slowk);
|
||||||
|
float tempk = slowTime / slowk;
|
||||||
|
return tempk;
|
||||||
|
} else return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/************************
|
||||||
|
S O U T H
|
||||||
|
************************/
|
||||||
|
/*
|
||||||
|
if (state.getValue(CustomContainerFacingActive.FACING) == EnumFacing.SOUTH) {
|
||||||
|
/***CRANK***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((21/32D), (16/32D), (25/32D));
|
||||||
|
GL11.glRotatef(180, 0.0F, 1.0F, 0.0F);
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
|
GL11.glRotatef(360*(time / k), 1.0F, 0.0F, 0.0F);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(crank, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***PISTON***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((29/32D), 16/32D, 1/16D);
|
||||||
|
GL11.glRotatef(180, 0.0F, 1.0F, 0.0F);
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
|
doPistonRotations(time, k, angle, percentK, testAngle);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***ARM1***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
GL11.glTranslated((29/32D), 16/32D, 3/32D);
|
||||||
|
GL11.glRotatef(180, 0.0F, 1.0F, 0.0F);
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
|
doPistonRotations(time, k, angle, percentK, testAngle);
|
||||||
|
GL11.glTranslated(0, 0, tempZ);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***GEARBOX***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
GL11.glTranslated(16/32D, 23/32D, 16/32D);
|
||||||
|
GL11.glRotatef(90, 0F, 1F, 0.0F);
|
||||||
|
renderItem.renderItem(gearbox, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***TOOL SLOT***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
float gearMulti = 1;
|
||||||
|
|
||||||
|
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
||||||
|
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||||
|
|
||||||
|
NonNullList<ItemStack> gearList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
||||||
|
if(gearbox.getSubCompound("BlockEntityTag") != null) {
|
||||||
|
ItemStackHelper.loadAllItems(gearbox.getSubCompound("BlockEntityTag"), gearList);
|
||||||
|
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalSmall")) {
|
||||||
|
gearMulti=4F;
|
||||||
|
}
|
||||||
|
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalMedium")) {
|
||||||
|
gearMulti=1;
|
||||||
|
}
|
||||||
|
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalLarge")) {
|
||||||
|
gearMulti=0.25f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
|
GL11.glRotatef(-360*(percentK*gearMulti), 1.0F, 0.0F, 0.0F);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
/************************
|
||||||
|
E A S T
|
||||||
|
************************/
|
||||||
|
/*
|
||||||
|
if (state.getValue(CustomContainerFacingActive.FACING) == EnumFacing.EAST) {
|
||||||
|
/***CRANK***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((25/32D), (16/32D), (11/32D));
|
||||||
|
GL11.glRotatef(-90, 0.0F, 1.0F, 0.0F);
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
|
GL11.glRotatef(360*(time / k), 1.0F, 0.0F, 0.0F);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(crank, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***PISTON***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((3/32D), 16/32D, 3/32D);
|
||||||
|
GL11.glRotatef(-90, 0.0F, 1.0F, 0.0F);
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
|
doPistonRotations(time, k, angle, percentK, testAngle);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***ARM1***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
GL11.glTranslated((3/32D), 16/32D, 3/32D);
|
||||||
|
GL11.glRotatef(-90, 0.0F, 1.0F, 0.0F);
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
|
doPistonRotations(time, k, angle, percentK, testAngle);
|
||||||
|
GL11.glTranslated(0, 0, tempZ);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***GEARBOX***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
GL11.glTranslated(16/32D, 23/32D, 16/32D);
|
||||||
|
GL11.glRotatef(180, 0F, 1F, 0.0F);
|
||||||
|
renderItem.renderItem(gearbox, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***TOOL SLOT***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
float gearMulti = 1;
|
||||||
|
|
||||||
|
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
||||||
|
GL11.glRotatef(-90, 0F, 1F, 0F);
|
||||||
|
|
||||||
|
NonNullList<ItemStack> gearList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
||||||
|
if(gearbox.getSubCompound("BlockEntityTag") != null) {
|
||||||
|
ItemStackHelper.loadAllItems(gearbox.getSubCompound("BlockEntityTag"), gearList);
|
||||||
|
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalSmall")) {
|
||||||
|
gearMulti=4F;
|
||||||
|
}
|
||||||
|
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalMedium")) {
|
||||||
|
gearMulti=1;
|
||||||
|
}
|
||||||
|
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalLarge")) {
|
||||||
|
gearMulti=0.25f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
|
GL11.glRotatef(-360*(percentK*gearMulti), 1.0F, 0.0F, 0.0F);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
/************************
|
||||||
|
W E S T
|
||||||
|
************************/
|
||||||
|
/*
|
||||||
|
if (state.getValue(CustomContainerFacingActive.FACING) == EnumFacing.WEST) {
|
||||||
|
/***CRANK***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((7/32D), (16/32D), (21/32D));
|
||||||
|
GL11.glRotatef(90, 0.0F, 1.0F, 0.0F);
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
|
GL11.glRotatef(360*(time / k), 1.0F, 0.0F, 0.0F);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(crank, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***PISTON***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated((29/32D), 16/32D, 29/32D);
|
||||||
|
GL11.glRotatef(90, 0.0F, 1.0F, 0.0F);
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
|
doPistonRotations(time, k, angle, percentK, testAngle);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***ARM1***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
GL11.glTranslated((29/32D), 16/32D, 29/32D);
|
||||||
|
GL11.glRotatef(90, 0.0F, 1.0F, 0.0F);
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
|
doPistonRotations(time, k, angle, percentK, testAngle);
|
||||||
|
GL11.glTranslated(0, 0, tempZ);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***GEARBOX***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
GL11.glTranslated(16/32D, 23/32D, 16/32D);
|
||||||
|
//GL11.glRotatef(180, 0F, 1F, 0.0F);
|
||||||
|
renderItem.renderItem(gearbox, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
/***TOOL SLOT***/
|
||||||
|
/*
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
float gearMulti = 1;
|
||||||
|
|
||||||
|
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
||||||
|
GL11.glRotatef(90, 0F, 1F, 0F);
|
||||||
|
|
||||||
|
NonNullList<ItemStack> gearList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
||||||
|
if(gearbox.getSubCompound("BlockEntityTag") != null) {
|
||||||
|
ItemStackHelper.loadAllItems(gearbox.getSubCompound("BlockEntityTag"), gearList);
|
||||||
|
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalSmall")) {
|
||||||
|
gearMulti=4F;
|
||||||
|
}
|
||||||
|
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalMedium")) {
|
||||||
|
gearMulti=1;
|
||||||
|
}
|
||||||
|
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalLarge")) {
|
||||||
|
gearMulti=0.25f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
|
GL11.glRotatef(-360*(percentK*gearMulti), 1.0F, 0.0F, 0.0F);
|
||||||
|
}
|
||||||
|
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
//OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY);
|
||||||
|
//GL11.glPopMatrix();
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
/*if( percentK >= 0 && percentK < 0.25 ) {
|
||||||
|
GL11.glRotatef(angle * (time/(k/4)), 1.0F, 0.0F, 0.0F);
|
||||||
|
}
|
||||||
|
float halfFloat = time - (k/4);
|
||||||
|
if( percentK >= 0.25 && percentK < 0.5) {
|
||||||
|
GL11.glRotatef(angle * (((k/4)-halfFloat)/(k/4)), 1.0F, 0.0F, 0.0F);
|
||||||
|
}
|
||||||
|
if( percentK >= 0.5 && percentK < 0.75) {
|
||||||
|
GL11.glRotatef(-angle * ((time-(k/2))/(k/4)), 1.0F, 0.0F, 0.0F);
|
||||||
|
}
|
||||||
|
float thirdFloat = time - ((k/4)*3);
|
||||||
|
if( percentK >= 0.75 && percentK < 1) {
|
||||||
|
GL11.glRotatef(-angle * (((k/4)-thirdFloat)/(k/4)), 1.0F, 0.0F, 0.0F);
|
||||||
|
|
||||||
|
}*/
|
||||||
@@ -7,16 +7,21 @@ import net.minecraft.client.renderer.RenderItem;
|
|||||||
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
|
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
|
||||||
import net.minecraft.client.renderer.texture.TextureMap;
|
import net.minecraft.client.renderer.texture.TextureMap;
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.SoundEvents;
|
||||||
import net.minecraft.inventory.ItemStackHelper;
|
import net.minecraft.inventory.ItemStackHelper;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraft.util.NonNullList;
|
import net.minecraft.util.NonNullList;
|
||||||
|
import net.minecraft.util.SoundCategory;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.World;
|
||||||
import nmd.primal.core.api.PrimalAPI;
|
import nmd.primal.core.api.PrimalAPI;
|
||||||
import nmd.primal.core.common.helper.RecipeHelper;
|
import nmd.primal.core.common.helper.RecipeHelper;
|
||||||
import nmd.primal.forgecraft.blocks.CustomContainerFacingActive;
|
import nmd.primal.forgecraft.blocks.CustomContainerFacingActive;
|
||||||
import nmd.primal.forgecraft.blocks.machine.RedstoneEngine;
|
import nmd.primal.forgecraft.blocks.machine.RedstoneEngine;
|
||||||
import nmd.primal.forgecraft.init.ModItems;
|
import nmd.primal.forgecraft.init.ModItems;
|
||||||
|
import nmd.primal.forgecraft.init.ModSounds;
|
||||||
import nmd.primal.forgecraft.tiles.TileRedstoneEngine;
|
import nmd.primal.forgecraft.tiles.TileRedstoneEngine;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
@@ -29,19 +34,53 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
private static int time =0;
|
private static int time =0;
|
||||||
//private static float k =60;
|
//private static float k =60;
|
||||||
private static float angle = 17;
|
private static float angle = 17;
|
||||||
|
private boolean sound1;
|
||||||
|
private boolean sound2;
|
||||||
|
|
||||||
|
private boolean getSound1() {
|
||||||
|
return sound1;
|
||||||
|
}
|
||||||
|
private void setSound1(boolean sound) {
|
||||||
|
this.sound1 = sound;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean getSound2() {
|
||||||
|
return sound2;
|
||||||
|
}
|
||||||
|
private void setSound2(boolean sound) {
|
||||||
|
this.sound2 = sound;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void doPistonRotations(int t, float kon, float a, float pk, float testa, World world, BlockPos pos){
|
||||||
|
|
||||||
private void doPistonRotations(int t, float kon, float a, float pk, float testa){
|
|
||||||
if( pk >= 0 && pk < 0.25 ) {
|
if( pk >= 0 && pk < 0.25 ) {
|
||||||
|
if(pk<=0.02 && !getSound2()){
|
||||||
|
world.playSound(pos.getX(), pos.getY(), pos.getZ(), ModSounds.ENGINE_RETRACTION, SoundCategory.BLOCKS, 0.25F, 1.0F, true);
|
||||||
|
setSound2(true);
|
||||||
|
}
|
||||||
|
|
||||||
GL11.glRotatef(angle * (time/(kon/4)), 1.0F, 0.0F, 0.0F);
|
GL11.glRotatef(angle * (time/(kon/4)), 1.0F, 0.0F, 0.0F);
|
||||||
}
|
}
|
||||||
if( pk >= 0.25 && pk < 0.5) {
|
if( pk >= 0.25 && pk < 0.5) {
|
||||||
|
if(getSound2()){
|
||||||
|
setSound2(false);
|
||||||
|
}
|
||||||
GL11.glRotatef(testa, 1.0F, 0.0F, 0.0F);
|
GL11.glRotatef(testa, 1.0F, 0.0F, 0.0F);
|
||||||
}
|
}
|
||||||
if( pk >= 0.5 && pk < 0.75) {
|
if( pk >= 0.5 && pk < 0.75) {
|
||||||
|
if(pk<=0.52 && !getSound1()){
|
||||||
|
world.playSound(pos.getX(), pos.getY(), pos.getZ(), ModSounds.ENGINE_EXTENSION, SoundCategory.BLOCKS, 0.2F, 1.0F, true);
|
||||||
|
setSound1(true);
|
||||||
|
}
|
||||||
|
|
||||||
GL11.glRotatef(testa, 1.0F, 0.0F, 0.0F);
|
GL11.glRotatef(testa, 1.0F, 0.0F, 0.0F);
|
||||||
}
|
}
|
||||||
float thirdFloat = time - ((kon/4)*3);
|
float thirdFloat = time - ((kon/4)*3);
|
||||||
if( pk >= 0.75 && pk < 1) {
|
if( pk >= 0.75 && pk <= 1) {
|
||||||
|
if(getSound1()){
|
||||||
|
setSound1(false);
|
||||||
|
}
|
||||||
GL11.glRotatef(-angle * (((kon/4)-thirdFloat)/(kon/4)), 1.0F, 0.0F, 0.0F);
|
GL11.glRotatef(-angle * (((kon/4)-thirdFloat)/(kon/4)), 1.0F, 0.0F, 0.0F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -51,12 +90,12 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
{
|
{
|
||||||
BlockPos pos = tile.getPos();
|
BlockPos pos = tile.getPos();
|
||||||
IBlockState state = this.getWorld().getBlockState(pos);
|
IBlockState state = this.getWorld().getBlockState(pos);
|
||||||
|
World world = tile.getWorld();
|
||||||
|
|
||||||
ItemStack crank = new ItemStack(ModItems.woodcrank);
|
ItemStack crank = new ItemStack(ModItems.woodcrank);
|
||||||
ItemStack arm = new ItemStack(ModItems.woodpistonarm);
|
ItemStack arm = new ItemStack(ModItems.woodpistonarm);
|
||||||
ItemStack piston = new ItemStack(ModItems.woodpiston);
|
ItemStack piston = new ItemStack(ModItems.woodpiston);
|
||||||
|
|
||||||
|
|
||||||
ItemStack gearbox = tile.getSlotStack(0);
|
ItemStack gearbox = tile.getSlotStack(0);
|
||||||
ItemStack slotTool = tile.getSlotStack(1);
|
ItemStack slotTool = tile.getSlotStack(1);
|
||||||
|
|
||||||
@@ -64,19 +103,7 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
time = (int) (tile.getWorld().getTotalWorldTime() % k);
|
time = (int) (tile.getWorld().getTotalWorldTime() % k);
|
||||||
float percentK = time / k;
|
float percentK = time / k;
|
||||||
|
|
||||||
float slowk = (60 - (tile.getRedstone()*2))*0.25F;
|
|
||||||
float slowTime = (int) (tile.getWorld().getTotalWorldTime() % slowk);
|
|
||||||
float percentKSlow = slowTime / slowk;
|
|
||||||
|
|
||||||
float fastk = (60 - (tile.getRedstone()*2))*4F;
|
|
||||||
float fastTime = (int) (tile.getWorld().getTotalWorldTime() % fastk);
|
|
||||||
float percentKFast = fastTime / fastk;
|
|
||||||
|
|
||||||
float percentKMed = percentK;
|
|
||||||
//System.out.println(k + ":" + time + ":" + percentK);
|
|
||||||
|
|
||||||
if (state.getBlock() instanceof RedstoneEngine) {
|
if (state.getBlock() instanceof RedstoneEngine) {
|
||||||
|
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(x, y, z);
|
GL11.glTranslated(x, y, z);
|
||||||
GL11.glScalef(1.0f, 1.0f, 1.0f);
|
GL11.glScalef(1.0f, 1.0f, 1.0f);
|
||||||
@@ -111,7 +138,7 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated((3/32D), 16/32D, 15/16D);
|
GL11.glTranslated((3/32D), 16/32D, 15/16D);
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
doPistonRotations(time, k, angle, percentK, testAngle, world, pos);
|
||||||
}
|
}
|
||||||
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
@@ -123,7 +150,7 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
//GL11.glTranslated(0.0, ((3/16D) * Math.cos(Math.toRadians( (360*(time / k))-90) )),
|
//GL11.glTranslated(0.0, ((3/16D) * Math.cos(Math.toRadians( (360*(time / k))-90) )),
|
||||||
// (3/16D)+((3/16D) * Math.sin(Math.toRadians( (360*(time / k))-90 ))) );
|
// (3/16D)+((3/16D) * Math.sin(Math.toRadians( (360*(time / k))-90 ))) );
|
||||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
doPistonRotations(time, k, angle, percentK, testAngle, world, pos);
|
||||||
GL11.glTranslated(0, 0, tempZ);
|
GL11.glTranslated(0, 0, tempZ);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -141,27 +168,12 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
/***A X L E***/
|
/***A X L E***/
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
float gearMulti = 1;
|
|
||||||
|
|
||||||
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
||||||
//GL11.glRotatef(45, 1.0F, 0.0F, 0.0F);
|
|
||||||
|
|
||||||
NonNullList<ItemStack> gearList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
|
||||||
if(gearbox.getSubCompound("BlockEntityTag") != null) {
|
|
||||||
ItemStackHelper.loadAllItems(gearbox.getSubCompound("BlockEntityTag"), gearList);
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalSmall")) {
|
|
||||||
gearMulti=percentKSlow;
|
|
||||||
}
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalMedium")) {
|
|
||||||
gearMulti=percentKMed;
|
|
||||||
}
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalLarge")) {
|
|
||||||
gearMulti=percentKFast;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
GL11.glRotatef(-360*(gearMulti), 1.0F, 0.0F, 0.0F);
|
|
||||||
|
GL11.glRotatef(-360 * createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone()) , 1.0F, 0.0F, 0.0F);
|
||||||
|
//GL11.glRotatef(-360*(percentKFast), 1.0F, 0.0F, 0.0F);
|
||||||
}
|
}
|
||||||
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
@@ -185,7 +197,7 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glTranslated((29/32D), 16/32D, 1/16D);
|
GL11.glTranslated((29/32D), 16/32D, 1/16D);
|
||||||
GL11.glRotatef(180, 0.0F, 1.0F, 0.0F);
|
GL11.glRotatef(180, 0.0F, 1.0F, 0.0F);
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
doPistonRotations(time, k, angle, percentK, testAngle, world, pos);
|
||||||
}
|
}
|
||||||
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
@@ -196,7 +208,7 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glTranslated((29/32D), 16/32D, 3/32D);
|
GL11.glTranslated((29/32D), 16/32D, 3/32D);
|
||||||
GL11.glRotatef(180, 0.0F, 1.0F, 0.0F);
|
GL11.glRotatef(180, 0.0F, 1.0F, 0.0F);
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
doPistonRotations(time, k, angle, percentK, testAngle, world, pos);
|
||||||
GL11.glTranslated(0, 0, tempZ);
|
GL11.glTranslated(0, 0, tempZ);
|
||||||
}
|
}
|
||||||
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
||||||
@@ -218,22 +230,8 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
||||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||||
|
|
||||||
NonNullList<ItemStack> gearList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
|
||||||
if(gearbox.getSubCompound("BlockEntityTag") != null) {
|
|
||||||
ItemStackHelper.loadAllItems(gearbox.getSubCompound("BlockEntityTag"), gearList);
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalSmall")) {
|
|
||||||
gearMulti=4F;
|
|
||||||
}
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalMedium")) {
|
|
||||||
gearMulti=1;
|
|
||||||
}
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalLarge")) {
|
|
||||||
gearMulti=0.25f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
GL11.glRotatef(-360*(percentK*gearMulti), 1.0F, 0.0F, 0.0F);
|
GL11.glRotatef(-360*createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone()), 1.0F, 0.0F, 0.0F);
|
||||||
}
|
}
|
||||||
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
@@ -257,7 +255,7 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glTranslated((3/32D), 16/32D, 3/32D);
|
GL11.glTranslated((3/32D), 16/32D, 3/32D);
|
||||||
GL11.glRotatef(-90, 0.0F, 1.0F, 0.0F);
|
GL11.glRotatef(-90, 0.0F, 1.0F, 0.0F);
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
doPistonRotations(time, k, angle, percentK, testAngle, world, pos);
|
||||||
}
|
}
|
||||||
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
@@ -268,7 +266,7 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glTranslated((3/32D), 16/32D, 3/32D);
|
GL11.glTranslated((3/32D), 16/32D, 3/32D);
|
||||||
GL11.glRotatef(-90, 0.0F, 1.0F, 0.0F);
|
GL11.glRotatef(-90, 0.0F, 1.0F, 0.0F);
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
doPistonRotations(time, k, angle, percentK, testAngle, world, pos);
|
||||||
GL11.glTranslated(0, 0, tempZ);
|
GL11.glTranslated(0, 0, tempZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -291,22 +289,8 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
||||||
GL11.glRotatef(-90, 0F, 1F, 0F);
|
GL11.glRotatef(-90, 0F, 1F, 0F);
|
||||||
|
|
||||||
NonNullList<ItemStack> gearList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
|
||||||
if(gearbox.getSubCompound("BlockEntityTag") != null) {
|
|
||||||
ItemStackHelper.loadAllItems(gearbox.getSubCompound("BlockEntityTag"), gearList);
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalSmall")) {
|
|
||||||
gearMulti=4F;
|
|
||||||
}
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalMedium")) {
|
|
||||||
gearMulti=1;
|
|
||||||
}
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalLarge")) {
|
|
||||||
gearMulti=0.25f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
GL11.glRotatef(-360*(percentK*gearMulti), 1.0F, 0.0F, 0.0F);
|
GL11.glRotatef(-360*createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone()), 1.0F, 0.0F, 0.0F);
|
||||||
}
|
}
|
||||||
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
@@ -330,7 +314,7 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glTranslated((29/32D), 16/32D, 29/32D);
|
GL11.glTranslated((29/32D), 16/32D, 29/32D);
|
||||||
GL11.glRotatef(90, 0.0F, 1.0F, 0.0F);
|
GL11.glRotatef(90, 0.0F, 1.0F, 0.0F);
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
doPistonRotations(time, k, angle, percentK, testAngle, world, pos);
|
||||||
}
|
}
|
||||||
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
renderItem.renderItem(piston, ItemCameraTransforms.TransformType.FIXED);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
@@ -341,7 +325,7 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glTranslated((29/32D), 16/32D, 29/32D);
|
GL11.glTranslated((29/32D), 16/32D, 29/32D);
|
||||||
GL11.glRotatef(90, 0.0F, 1.0F, 0.0F);
|
GL11.glRotatef(90, 0.0F, 1.0F, 0.0F);
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
doPistonRotations(time, k, angle, percentK, testAngle, world, pos);
|
||||||
GL11.glTranslated(0, 0, tempZ);
|
GL11.glTranslated(0, 0, tempZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -364,22 +348,8 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
GL11.glTranslated((16/32D), 16/32D, 16/32D);
|
||||||
GL11.glRotatef(90, 0F, 1F, 0F);
|
GL11.glRotatef(90, 0F, 1F, 0F);
|
||||||
|
|
||||||
NonNullList<ItemStack> gearList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
|
||||||
if(gearbox.getSubCompound("BlockEntityTag") != null) {
|
|
||||||
ItemStackHelper.loadAllItems(gearbox.getSubCompound("BlockEntityTag"), gearList);
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalSmall")) {
|
|
||||||
gearMulti=4F;
|
|
||||||
}
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalMedium")) {
|
|
||||||
gearMulti=1;
|
|
||||||
}
|
|
||||||
if(RecipeHelper.isOreName(gearList.get(0), "gearPrimalLarge")) {
|
|
||||||
gearMulti=0.25f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||||
GL11.glRotatef(-360*(percentK*gearMulti), 1.0F, 0.0F, 0.0F);
|
GL11.glRotatef(-360*createOutputK(tile.getWorld(), tile.getGearMulti(), tile.getRedstone()), 1.0F, 0.0F, 0.0F);
|
||||||
}
|
}
|
||||||
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
@@ -389,20 +359,24 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
|||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float createOutputK(World world, Float gearMulti, int redstone){
|
||||||
|
if(gearMulti==1){
|
||||||
|
float k = (60 - (redstone*2));
|
||||||
|
float time = (int) (world.getTotalWorldTime() % k);
|
||||||
|
float tempK = (time / k);
|
||||||
|
return tempK;
|
||||||
|
} else if (gearMulti==4){
|
||||||
|
float fastk = (60 - (redstone*2))*0.25F;
|
||||||
|
float fastTime = (int) (world.getTotalWorldTime() % fastk);
|
||||||
|
float tempk = fastTime / fastk;
|
||||||
|
return tempk;
|
||||||
|
} else if(gearMulti==0.25){
|
||||||
|
float slowk = (60 - (redstone*2))*4F;
|
||||||
|
float slowTime = (int) (world.getTotalWorldTime() % slowk);
|
||||||
|
float tempk = slowTime / slowk;
|
||||||
|
return tempk;
|
||||||
|
} else return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if( percentK >= 0 && percentK < 0.25 ) {
|
|
||||||
GL11.glRotatef(angle * (time/(k/4)), 1.0F, 0.0F, 0.0F);
|
|
||||||
}
|
}
|
||||||
float halfFloat = time - (k/4);
|
|
||||||
if( percentK >= 0.25 && percentK < 0.5) {
|
|
||||||
GL11.glRotatef(angle * (((k/4)-halfFloat)/(k/4)), 1.0F, 0.0F, 0.0F);
|
|
||||||
}
|
|
||||||
if( percentK >= 0.5 && percentK < 0.75) {
|
|
||||||
GL11.glRotatef(-angle * ((time-(k/2))/(k/4)), 1.0F, 0.0F, 0.0F);
|
|
||||||
}
|
|
||||||
float thirdFloat = time - ((k/4)*3);
|
|
||||||
if( percentK >= 0.75 && percentK < 1) {
|
|
||||||
GL11.glRotatef(-angle * (((k/4)-thirdFloat)/(k/4)), 1.0F, 0.0F, 0.0F);
|
|
||||||
|
|
||||||
}*/
|
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
package nmd.primal.forgecraft.tiles;
|
||||||
|
|
||||||
|
import net.minecraft.inventory.ItemStackHelper;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.util.ITickable;
|
||||||
|
import net.minecraft.util.NonNullList;
|
||||||
|
import nmd.primal.forgecraft.items.blocks.ItemGearbox;
|
||||||
|
import nmd.primal.forgecraft.items.enginetools.BaseEngineTool;
|
||||||
|
|
||||||
|
public class TileMachineSaw extends TileBaseSlot /*implements ITickable*/ {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private float torque;
|
||||||
|
private float power;
|
||||||
|
private float rpm;
|
||||||
|
|
||||||
|
private int redstone;
|
||||||
|
private float gearMulti;
|
||||||
|
|
||||||
|
private boolean transfer;
|
||||||
|
private boolean playSound;
|
||||||
|
|
||||||
|
public int getRedstone() {
|
||||||
|
return redstone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRedstone(int redstone) {
|
||||||
|
this.redstone = redstone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getGearMulti() {
|
||||||
|
return gearMulti;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGearMulti(float gearMulti) {
|
||||||
|
this.gearMulti = gearMulti;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTorque(float torque) {
|
||||||
|
this.torque = torque;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPower(float power) {
|
||||||
|
this.power = power;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRpm(float rpm) {
|
||||||
|
this.rpm = rpm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getTorque() {
|
||||||
|
return torque;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getPower() {
|
||||||
|
return power;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getRpm() {
|
||||||
|
return rpm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getTransfer() {
|
||||||
|
return transfer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTransfer(boolean transfer) {
|
||||||
|
this.transfer = transfer;
|
||||||
|
}
|
||||||
|
public boolean getPlaySound() {
|
||||||
|
return playSound;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlaySound(boolean playSound) {
|
||||||
|
this.playSound = playSound;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TileMachineSaw() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isItemValidForSlot(int index, ItemStack stack) {
|
||||||
|
|
||||||
|
if(index == 0){
|
||||||
|
if(this.getSlotStack(0).isEmpty() && stack.getItem() instanceof BaseEngineTool) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ***************************************************************************** //
|
||||||
|
// NBT
|
||||||
|
// ***************************************************************************** //
|
||||||
|
@Override
|
||||||
|
public NBTTagCompound readNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
super.readNBT(nbt);
|
||||||
|
this.torque = nbt.getFloat("torque");
|
||||||
|
this.power = nbt.getFloat("power");
|
||||||
|
this.rpm = nbt.getFloat("rpm");
|
||||||
|
this.redstone = nbt.getInteger("redstone");
|
||||||
|
this.gearMulti = nbt.getFloat("gear");
|
||||||
|
this.transfer = nbt.getBoolean("transfer");
|
||||||
|
return nbt;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NBTTagCompound writeNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
nbt.setFloat("torque", this.torque);
|
||||||
|
nbt.setFloat("power", this.power);
|
||||||
|
nbt.setFloat("rpm", this.rpm);
|
||||||
|
nbt.setInteger("redstone", this.redstone);
|
||||||
|
nbt.setFloat("gear", this.gearMulti);
|
||||||
|
nbt.setBoolean("transfer", this.transfer);
|
||||||
|
super.writeNBT(nbt);
|
||||||
|
return nbt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,55 +1,47 @@
|
|||||||
package nmd.primal.forgecraft.tiles;
|
package nmd.primal.forgecraft.tiles;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.state.IBlockState;
|
|
||||||
import net.minecraft.inventory.ItemStackHelper;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.ITickable;
|
|
||||||
import net.minecraft.util.NonNullList;
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
import nmd.primal.core.common.helper.RecipeHelper;
|
|
||||||
import nmd.primal.forgecraft.items.blocks.ItemGearbox;
|
import nmd.primal.forgecraft.items.blocks.ItemGearbox;
|
||||||
import nmd.primal.forgecraft.items.enginetools.BaseEngineTool;
|
import nmd.primal.forgecraft.items.enginetools.BaseEngineTool;
|
||||||
|
|
||||||
public class TileRedstoneEngine extends TileBaseSlot implements ITickable {
|
public class TileRedstoneEngine extends TileBaseSlot {
|
||||||
|
|
||||||
private int redstone; // AKA power
|
private int redstone; // AKA power
|
||||||
private int torque; // = power/speed
|
private float torque; // = power/speed
|
||||||
private int speed; // = power/torque
|
private float power;// = 100*redstone;
|
||||||
|
private float rpm;
|
||||||
|
|
||||||
|
private boolean transfer = false;
|
||||||
|
private float gearMulti;
|
||||||
|
|
||||||
|
public float getGearMulti() { return gearMulti; }
|
||||||
|
public void setGearMulti(float gearMulti){ this.gearMulti = gearMulti;}
|
||||||
|
|
||||||
public int getRedstone() { return redstone; }
|
public int getRedstone() { return redstone; }
|
||||||
public void setRedstone(int redstone) { this.redstone = redstone; }
|
public void setRedstone(int redstone) { this.redstone = redstone; }
|
||||||
public int getTorque() { return torque; }
|
|
||||||
public void setTorque(int torque) { this.torque = torque; }
|
public float getTorque() { return torque; }
|
||||||
public int getSpeed() { return speed; }
|
public void setTorque(float torque) {
|
||||||
public void setSpeed(int speed) { this.speed = speed; }
|
this.torque = torque;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getRPM() { return rpm; }
|
||||||
|
public void setRPM(float rpm) {
|
||||||
|
this.rpm = rpm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getPower() {return power; }
|
||||||
|
public void setPower() { this.power = 100*redstone; }
|
||||||
|
|
||||||
|
public boolean getTransfer() { return transfer; }
|
||||||
|
public void setTransfer(boolean transfer) {
|
||||||
|
this.transfer = transfer;
|
||||||
|
}
|
||||||
|
|
||||||
public TileRedstoneEngine() {
|
public TileRedstoneEngine() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void update () {
|
|
||||||
if(!world.isRemote) {
|
|
||||||
World world = this.getWorld();
|
|
||||||
IBlockState state = world.getBlockState(this.pos);
|
|
||||||
BlockPos pos = new BlockPos(this.getPos().getX(), this.getPos().getY(), this.getPos().getZ());
|
|
||||||
Block block = world.getBlockState(pos).getBlock();
|
|
||||||
|
|
||||||
NonNullList<ItemStack> renderList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
|
||||||
//System.out.println(this.getSlotStack(0).getTagCompound());
|
|
||||||
if(this.getSlotStack(0).getSubCompound("BlockEntityTag") != null) {
|
|
||||||
ItemStackHelper.loadAllItems(this.getSlotStack(0).getSubCompound("BlockEntityTag"), renderList);
|
|
||||||
//System.out.println(renderList);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public boolean isItemValidForSlot(int index, ItemStack stack) {
|
public boolean isItemValidForSlot(int index, ItemStack stack) {
|
||||||
if(index == 0 ) {
|
if(index == 0 ) {
|
||||||
if (this.getSlotStack(0).isEmpty() && stack.getItem() instanceof ItemGearbox) {
|
if (this.getSlotStack(0).isEmpty() && stack.getItem() instanceof ItemGearbox) {
|
||||||
@@ -73,7 +65,11 @@ public class TileRedstoneEngine extends TileBaseSlot implements ITickable {
|
|||||||
{
|
{
|
||||||
super.readNBT(nbt);
|
super.readNBT(nbt);
|
||||||
this.redstone = nbt.getInteger("redstone");
|
this.redstone = nbt.getInteger("redstone");
|
||||||
|
this.torque = nbt.getFloat("torque");
|
||||||
|
this.power = nbt.getFloat("power");
|
||||||
|
this.rpm = nbt.getFloat("rpm");
|
||||||
|
this.transfer = nbt.getBoolean("transfer");
|
||||||
|
this.gearMulti = nbt.getFloat("gear");
|
||||||
return nbt;
|
return nbt;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,6 +77,11 @@ public class TileRedstoneEngine extends TileBaseSlot implements ITickable {
|
|||||||
public NBTTagCompound writeNBT(NBTTagCompound nbt)
|
public NBTTagCompound writeNBT(NBTTagCompound nbt)
|
||||||
{
|
{
|
||||||
nbt.setInteger("redstone", this.redstone);
|
nbt.setInteger("redstone", this.redstone);
|
||||||
|
nbt.setFloat("torque", this.torque);
|
||||||
|
nbt.setFloat("power", this.power);
|
||||||
|
nbt.setFloat("rpm", this.rpm);
|
||||||
|
nbt.setBoolean("transfer", this.transfer);
|
||||||
|
nbt.setFloat("gear", this.gearMulti);
|
||||||
super.writeNBT(nbt);
|
super.writeNBT(nbt);
|
||||||
return nbt;
|
return nbt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public interface BreakerHandler {
|
|||||||
|
|
||||||
if (RecipeHelper.isOreName(smashStack, "cobblestone")) {
|
if (RecipeHelper.isOreName(smashStack, "cobblestone")) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(Blocks.GRAVEL, randomChanceReturn(9, 1, 1)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(Blocks.GRAVEL, randomChanceReturn(9, 1, 1)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -56,7 +56,7 @@ public interface BreakerHandler {
|
|||||||
}
|
}
|
||||||
if (RecipeHelper.isOreName(smashStack, "gravel")) {
|
if (RecipeHelper.isOreName(smashStack, "gravel")) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(Blocks.SAND, randomChanceReturn(9, 1, 1)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(Blocks.SAND, randomChanceReturn(9, 1, 1)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -66,7 +66,7 @@ public interface BreakerHandler {
|
|||||||
for (GallagherRecipe recipe : GallagherRecipe.RECIPES) {
|
for (GallagherRecipe recipe : GallagherRecipe.RECIPES) {
|
||||||
if (recipe.match(smashState)) {
|
if (recipe.match(smashState)) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), recipe.getOutputStack());
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), recipe.getOutputStack());
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -76,7 +76,7 @@ public interface BreakerHandler {
|
|||||||
|
|
||||||
if (RecipeHelper.isOreName(smashStack, "oreIron")) {
|
if (RecipeHelper.isOreName(smashStack, "oreIron")) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.IRON_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.IRON_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -84,7 +84,7 @@ public interface BreakerHandler {
|
|||||||
}
|
}
|
||||||
if (RecipeHelper.isOreName(smashStack, "oreCopper")) {
|
if (RecipeHelper.isOreName(smashStack, "oreCopper")) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.COPPER_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.COPPER_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -92,7 +92,7 @@ public interface BreakerHandler {
|
|||||||
}
|
}
|
||||||
if (RecipeHelper.isOreName(smashStack, "oreTin")) {
|
if (RecipeHelper.isOreName(smashStack, "oreTin")) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.TIN_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.TIN_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -100,7 +100,7 @@ public interface BreakerHandler {
|
|||||||
}
|
}
|
||||||
if (RecipeHelper.isOreName(smashStack, "oreZinc")) {
|
if (RecipeHelper.isOreName(smashStack, "oreZinc")) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.ZINC_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.ZINC_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -108,7 +108,7 @@ public interface BreakerHandler {
|
|||||||
}
|
}
|
||||||
if (RecipeHelper.isOreName(smashStack, "oreGold")) {
|
if (RecipeHelper.isOreName(smashStack, "oreGold")) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.GOLD_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalAPI.Items.GOLD_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -116,7 +116,7 @@ public interface BreakerHandler {
|
|||||||
}
|
}
|
||||||
if (RecipeHelper.isOreName(smashStack, "cobblestone")) {
|
if (RecipeHelper.isOreName(smashStack, "cobblestone")) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(Blocks.GRAVEL, randomChanceReturn(9, 1, 1)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(Blocks.GRAVEL, randomChanceReturn(9, 1, 1)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -124,7 +124,7 @@ public interface BreakerHandler {
|
|||||||
}
|
}
|
||||||
if (RecipeHelper.isOreName(smashStack, "gravel")) {
|
if (RecipeHelper.isOreName(smashStack, "gravel")) {
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.destroyBlock(pos.offset(face), false);
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(Blocks.SAND, randomChanceReturn(9, 1, 1)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(Blocks.SAND, randomChanceReturn(9, 1, 1)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"forge_marker":1,
|
||||||
|
"defaults": {
|
||||||
|
"textures": {
|
||||||
|
"particle": "forgecraft:items/iron/0",
|
||||||
|
"texture": "forgecraft:items/iron/0"
|
||||||
|
},
|
||||||
|
"parent": "forgecraft:block/saw_block_model"
|
||||||
|
},
|
||||||
|
"variants": {
|
||||||
|
"active=false,facing=north": { "model": "forgecraft:saw_block_model" },
|
||||||
|
"active=false,facing=east": { "model": "forgecraft:saw_block_model", "y": 90 },
|
||||||
|
"active=false,facing=south": { "model": "forgecraft:saw_block_model", "y": 180 },
|
||||||
|
"active=false,facing=west": { "model": "forgecraft:saw_block_model", "y": 270 },
|
||||||
|
"active=true,facing=north": { "model": "forgecraft:saw_block_model" },
|
||||||
|
"active=true,facing=east": { "model": "forgecraft:saw_block_model", "y": 90 },
|
||||||
|
"active=true,facing=south": { "model": "forgecraft:saw_block_model", "y": 180 },
|
||||||
|
"active=true,facing=west": { "model": "forgecraft:saw_block_model", "y": 270 }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,111 +0,0 @@
|
|||||||
{
|
|
||||||
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
|
|
||||||
"textures": {
|
|
||||||
"particle": "blocks/e_particle",
|
|
||||||
"texture": "items/test"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"__comment": "Box1",
|
|
||||||
"from": [ 0, 2, 0 ],
|
|
||||||
"to": [ 3, 5, 16 ],
|
|
||||||
"faces": {
|
|
||||||
"up": { "uv": [ 0, 0, 3, 16 ], "texture": "#texture" },
|
|
||||||
"north": { "uv": [ 13, 11, 16, 14 ], "texture": "#texture" },
|
|
||||||
"south": { "uv": [ 0, 11, 3, 14 ], "texture": "#texture" },
|
|
||||||
"west": { "uv": [ 0, 11, 16, 14 ], "texture": "#texture" },
|
|
||||||
"east": { "uv": [ 0, 11, 16, 14 ], "texture": "#texture" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__comment": "Box1",
|
|
||||||
"from": [ 13, 2, 0 ],
|
|
||||||
"to": [ 16, 5, 16 ],
|
|
||||||
"faces": {
|
|
||||||
"up": { "uv": [ 13, 0, 16, 16 ], "texture": "#texture" },
|
|
||||||
"north": { "uv": [ 0, 11, 3, 14 ], "texture": "#texture" },
|
|
||||||
"south": { "uv": [ 13, 11, 16, 14 ], "texture": "#texture" },
|
|
||||||
"west": { "uv": [ 0, 11, 16, 14 ], "texture": "#texture" },
|
|
||||||
"east": { "uv": [ 0, 11, 16, 14 ], "texture": "#texture" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__comment": "Box5",
|
|
||||||
"from": [ 3, 2, 0 ],
|
|
||||||
"to": [ 13, 5, 3 ],
|
|
||||||
"faces": {
|
|
||||||
"up": { "uv": [ 3, 0, 13, 3 ], "texture": "#texture" },
|
|
||||||
"north": { "uv": [ 3, 11, 13, 14 ], "texture": "#texture" },
|
|
||||||
"south": { "uv": [ 3, 11, 13, 14 ], "texture": "#texture" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__comment": "Box5",
|
|
||||||
"from": [ 3, 2, 13 ],
|
|
||||||
"to": [ 13, 5, 16 ],
|
|
||||||
"faces": {
|
|
||||||
"up": { "uv": [ 3, 13, 13, 16 ], "texture": "#texture" },
|
|
||||||
"north": { "uv": [ 3, 11, 13, 14 ], "texture": "#texture" },
|
|
||||||
"south": { "uv": [ 3, 11, 13, 14 ], "texture": "#texture" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__comment": "Box8",
|
|
||||||
"from": [ 0, 0, 0 ],
|
|
||||||
"to": [ 16, 2, 16 ],
|
|
||||||
"faces": {
|
|
||||||
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
|
|
||||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
|
|
||||||
"north": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" },
|
|
||||||
"south": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" },
|
|
||||||
"west": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" },
|
|
||||||
"east": { "uv": [ 0, 14, 16, 16 ], "texture": "#texture" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__comment": "Box6",
|
|
||||||
"from": [ 7.5, 5, 0 ],
|
|
||||||
"to": [ 8.5, 6, 1 ],
|
|
||||||
"faces": {
|
|
||||||
"up": { "uv": [ 7.5, 0, 8.5, 1 ], "texture": "#texture" },
|
|
||||||
"north": { "uv": [ 7.5, 10, 8.5, 11 ], "texture": "#texture" },
|
|
||||||
"south": { "uv": [ 7.5, 10, 8.5, 11 ], "texture": "#texture" },
|
|
||||||
"west": { "uv": [ 0, 10, 1, 11 ], "texture": "#texture" },
|
|
||||||
"east": { "uv": [ 15, 10, 16, 11 ], "texture": "#texture" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"display": {
|
|
||||||
"thirdperson_righthand": {
|
|
||||||
"rotation": [ 75, 45, 0 ],
|
|
||||||
"translation": [ 0, 2.5, 1.5 ],
|
|
||||||
"scale": [ 0.375, 0.375, 0.375 ]
|
|
||||||
},
|
|
||||||
"thirdperson_lefthand": {
|
|
||||||
"rotation": [ 75, 45, 0 ],
|
|
||||||
"translation": [ 0, 2.5, 1.5 ],
|
|
||||||
"scale": [ 0.375, 0.375, 0.375 ]
|
|
||||||
},
|
|
||||||
"firstperson_righthand": {
|
|
||||||
"translation": [ 0, 2, 0 ],
|
|
||||||
"scale": [ 0.4, 0.4, 0.4 ]
|
|
||||||
},
|
|
||||||
"firstperson_lefthand": {
|
|
||||||
"translation": [ 0, 2, 0 ],
|
|
||||||
"scale": [ 0.4, 0.4, 0.4 ]
|
|
||||||
},
|
|
||||||
"gui": {
|
|
||||||
"rotation": [ 30, 225, 0 ],
|
|
||||||
"scale": [ 0.625, 0.625, 0.625 ]
|
|
||||||
},
|
|
||||||
"ground": {
|
|
||||||
"translation": [ 0, 3, 0 ],
|
|
||||||
"scale": [ 0.25, 0.25, 0.25 ]
|
|
||||||
},
|
|
||||||
"fixed": {
|
|
||||||
"rotation": [ 90, 0, 180 ],
|
|
||||||
"translation": [ 0, 0, -3 ],
|
|
||||||
"scale": [ 0.5, 0.5, 0.5 ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -8,14 +8,14 @@
|
|||||||
{
|
{
|
||||||
"__comment": "Box1",
|
"__comment": "Box1",
|
||||||
"from": [ 0, 0, 0 ],
|
"from": [ 0, 0, 0 ],
|
||||||
"to": [ 16, 6, 16 ],
|
"to": [ 16, 4, 16 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
|
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
|
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 0, 10, 16, 16 ], "texture": "#texture" },
|
"north": { "uv": [ 0, 12, 16, 16 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 0, 10, 16, 16 ], "texture": "#texture" },
|
"south": { "uv": [ 0, 12, 16, 16 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 0, 10, 16, 16 ], "texture": "#texture" },
|
"west": { "uv": [ 0, 12, 16, 16 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 0, 10, 16, 16 ], "texture": "#texture" }
|
"east": { "uv": [ 0, 12, 16, 16 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -41,34 +41,36 @@
|
|||||||
{
|
{
|
||||||
"__comment": "Box8",
|
"__comment": "Box8",
|
||||||
"from": [ 0, 8.5, 0 ],
|
"from": [ 0, 8.5, 0 ],
|
||||||
"to": [ 2, 14, 16 ],
|
"to": [ 6, 13, 16 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture" },
|
"down": { "uv": [ 0, 0, 6, 16 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 14, 2, 16, 7.5 ], "texture": "#texture" },
|
"up": { "uv": [ 0, 0, 6, 16 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 0, 2, 2, 7.5 ], "texture": "#texture" },
|
"north": { "uv": [ 10, 3, 16, 7.5 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 0, 2, 16, 7.5 ], "texture": "#texture" }
|
"south": { "uv": [ 0, 3, 6, 7.5 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 0, 3, 16, 7.5 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 0, 3, 16, 7.5 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box17",
|
"__comment": "Box17",
|
||||||
"from": [ 2, 6, 0 ],
|
"from": [ 2, 4, 0 ],
|
||||||
"to": [ 6, 14, 16 ],
|
"to": [ 6, 8.5, 16 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": { "uv": [ 10, 2, 14, 10 ], "texture": "#texture" },
|
"north": { "uv": [ 10, 7.5, 14, 12 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 2, 2, 6, 10 ], "texture": "#texture" },
|
"south": { "uv": [ 2, 7.5, 6, 12 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 0, 2, 16, 10 ], "texture": "#texture" },
|
"west": { "uv": [ 0, 7.5, 16, 12 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 0, 2, 16, 10 ], "texture": "#texture" }
|
"east": { "uv": [ 0, 7.5, 16, 12 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box18",
|
"__comment": "Box18",
|
||||||
"from": [ 0, 6, 0 ],
|
"from": [ 0, 4, 0 ],
|
||||||
"to": [ 2, 7.5, 16 ],
|
"to": [ 2, 7.5, 16 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"up": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture" },
|
"up": { "uv": [ 0, 0, 2, 16 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 14, 8.5, 16, 10 ], "texture": "#texture" },
|
"north": { "uv": [ 14, 8.5, 16, 12 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 0, 8.5, 2, 10 ], "texture": "#texture" },
|
"south": { "uv": [ 0, 8.5, 2, 12 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 0, 8.5, 16, 10 ], "texture": "#texture" }
|
"west": { "uv": [ 0, 8.5, 16, 12 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -86,14 +88,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box20",
|
"__comment": "Box20",
|
||||||
"from": [ 10, 6, 0 ],
|
"from": [ 10, 4, 0 ],
|
||||||
"to": [ 16, 16, 16 ],
|
"to": [ 16, 13, 16 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"up": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
"up": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 0, 0, 6, 10 ], "texture": "#texture" },
|
"north": { "uv": [ 0, 3, 6, 12 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 10, 0, 16, 10 ], "texture": "#texture" },
|
"south": { "uv": [ 10, 3, 16, 12 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 0, 0, 16, 10 ], "texture": "#texture" },
|
"west": { "uv": [ 0, 3, 16, 12 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 0, 0, 16, 10 ], "texture": "#texture" }
|
"east": { "uv": [ 0, 3, 16, 12 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -119,6 +121,97 @@
|
|||||||
"south": { "uv": [ 8.5, 0, 10, 1.5 ], "texture": "#texture" },
|
"south": { "uv": [ 8.5, 0, 10, 1.5 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 0, 0, 16, 1.5 ], "texture": "#texture" }
|
"west": { "uv": [ 0, 0, 16, 1.5 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box11",
|
||||||
|
"from": [ 5, 13, 0 ],
|
||||||
|
"to": [ 6, 14, 7.5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 5, 8.5, 6, 16 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 5, 0, 6, 7.5 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 10, 2, 11, 3 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 5, 2, 6, 3 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 0, 2, 7.5, 3 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 8.5, 2, 16, 3 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box11",
|
||||||
|
"from": [ 5, 13, 8.5 ],
|
||||||
|
"to": [ 6, 14, 16 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 5, 0, 6, 7.5 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 5, 8.5, 6, 16 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 10, 2, 11, 3 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 5, 2, 6, 3 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 8.5, 2, 16, 3 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 0, 2, 7.5, 3 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box13",
|
||||||
|
"from": [ 0, 13, 0 ],
|
||||||
|
"to": [ 5, 14, 16 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 0, 0, 5, 16 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 0, 0, 5, 16 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 11, 2, 16, 3 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 0, 2, 5, 3 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 0, 2, 16, 3 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 0, 2, 16, 3 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box13",
|
||||||
|
"from": [ 11, 13, 0 ],
|
||||||
|
"to": [ 16, 14, 16 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 11, 0, 16, 16 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 11, 0, 16, 16 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 0, 2, 5, 3 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 11, 2, 16, 3 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 0, 2, 16, 3 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 0, 2, 16, 3 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box11",
|
||||||
|
"from": [ 10, 13, 0 ],
|
||||||
|
"to": [ 11, 14, 7.5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 10, 8.5, 11, 16 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 10, 0, 11, 7.5 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 5, 2, 6, 3 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 10, 2, 11, 3 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 0, 2, 7.5, 3 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 8.5, 2, 16, 3 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box11",
|
||||||
|
"from": [ 10, 13, 8.5 ],
|
||||||
|
"to": [ 11, 14, 16 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 10, 0, 11, 7.5 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 10, 8.5, 11, 16 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 5, 2, 6, 3 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 10, 2, 11, 3 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 8.5, 2, 16, 3 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 0, 2, 7.5, 3 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box20",
|
||||||
|
"from": [ 10, 14, 0 ],
|
||||||
|
"to": [ 16, 16, 16 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 10, 0, 16, 16 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 0, 0, 6, 2 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 10, 0, 16, 2 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"display": {
|
"display": {
|
||||||
@@ -149,7 +242,7 @@
|
|||||||
"scale": [ 0.25, 0.25, 0.25 ]
|
"scale": [ 0.25, 0.25, 0.25 ]
|
||||||
},
|
},
|
||||||
"fixed": {
|
"fixed": {
|
||||||
"scale": [ 0.5, 0.5, 0.5 ]
|
"scale": [ 1, 1, 1 ]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,535 +8,534 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"__comment": "Box17",
|
"__comment": "Box17",
|
||||||
"from": [ 8.5, 7.5, 7.5 ],
|
"from": [ 5, 7.5, 7.5 ],
|
||||||
"to": [ 12, 8.5, 8.5 ],
|
"to": [ 11, 8.5, 8.5 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 8.5, 7.5, 12, 8.5 ], "texture": "#texture" },
|
"down": { "uv": [ 5, 7.5, 11, 8.5 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 8.5, 7.5, 12, 8.5 ], "texture": "#texture" },
|
"up": { "uv": [ 5, 7.5, 11, 8.5 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 4, 7.5, 7.5, 8.5 ], "texture": "#texture" },
|
"north": { "uv": [ 5, 7.5, 11, 8.5 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 8.5, 7.5, 12, 8.5 ], "texture": "#texture" },
|
"south": { "uv": [ 5, 7.5, 11, 8.5 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 7.5, 7.5, 8.5, 8.5 ], "texture": "#texture" },
|
"west": { "uv": [ 7.5, 7.5, 8.5, 8.5 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 7.5, 7.5, 8.5, 8.5 ], "texture": "#texture" }
|
"east": { "uv": [ 7.5, 7.5, 8.5, 8.5 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box7",
|
"__comment": "Box7",
|
||||||
"from": [ 12, 11.5, 6 ],
|
"from": [ 7.5, 13.25, 5 ],
|
||||||
"to": [ 13, 12.5, 10 ],
|
"to": [ 8.5, 14.75, 11 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 6, 13, 10 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 6, 13, 10 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 3.5, 4, 4.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 1.25, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 3.5, 13, 4.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 1.25, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 6, 3.5, 10, 4.5 ], "texture": "#texture" },
|
"west": { "uv": [ 5, 1.25, 11, 2.75 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 6, 3.5, 10, 4.5 ], "texture": "#texture" }
|
"east": { "uv": [ 5, 1.25, 11, 2.75 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box7",
|
"__comment": "Box7",
|
||||||
"from": [ 12, 3.5, 6 ],
|
"from": [ 7.5, 1.25, 5 ],
|
||||||
"to": [ 13, 4.5, 10 ],
|
"to": [ 8.5, 2.75, 11 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 6, 13, 10 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 6, 13, 10 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 11.5, 4, 12.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 13.25, 8.5, 14.75 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 11.5, 13, 12.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 13.25, 8.5, 14.75 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 6, 11.5, 10, 12.5 ], "texture": "#texture" },
|
"west": { "uv": [ 5, 13.25, 11, 14.75 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 6, 11.5, 10, 12.5 ], "texture": "#texture" }
|
"east": { "uv": [ 5, 13.25, 11, 14.75 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box16",
|
"__comment": "Box16",
|
||||||
"from": [ 12, 6, 3.5 ],
|
"from": [ 7.5, 5, 1.25 ],
|
||||||
"to": [ 13, 10, 4.5 ],
|
"to": [ 8.5, 11, 2.75 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 11.5, 13, 12.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 13.25, 8.5, 14.75 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 3.5, 13, 4.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 1.25, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 6, 4, 10 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 6, 13, 10 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 3.5, 6, 4.5, 10 ], "texture": "#texture" },
|
"west": { "uv": [ 1.25, 5, 2.75, 11 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 11.5, 6, 12.5, 10 ], "texture": "#texture" }
|
"east": { "uv": [ 13.25, 5, 14.75, 11 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box16",
|
"__comment": "Box16",
|
||||||
"from": [ 12, 6, 11.5 ],
|
"from": [ 7.5, 5, 13.25 ],
|
||||||
"to": [ 13, 10, 12.5 ],
|
"to": [ 8.5, 11, 14.75 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 3.5, 13, 4.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 1.25, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 11.5, 13, 12.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 13.25, 8.5, 14.75 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 6, 4, 10 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 6, 13, 10 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 11.5, 6, 12.5, 10 ], "texture": "#texture" },
|
"west": { "uv": [ 13.25, 5, 14.75, 11 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 3.5, 6, 4.5, 10 ], "texture": "#texture" }
|
"east": { "uv": [ 1.25, 5, 2.75, 11 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box24",
|
"__comment": "Box24",
|
||||||
"from": [ 12, 5.5, 4.5 ],
|
"from": [ 7.5, 4.25, 2.75 ],
|
||||||
"to": [ 13, 10.5, 5.5 ],
|
"to": [ 8.5, 11.75, 4.25 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 10.5, 13, 11.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 4.5, 13, 5.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 5.5, 4, 10.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 5.5, 13, 10.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 4.5, 5.5, 5.5, 10.5 ], "texture": "#texture" },
|
"west": { "uv": [ 2.75, 4.25, 4.25, 11.75 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 10.5, 5.5, 11.5, 10.5 ], "texture": "#texture" }
|
"east": { "uv": [ 11.75, 4.25, 13.25, 11.75 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box24",
|
"__comment": "Box24",
|
||||||
"from": [ 12, 5.5, 10.5 ],
|
"from": [ 7.5, 4.25, 11.75 ],
|
||||||
"to": [ 13, 10.5, 11.5 ],
|
"to": [ 8.5, 11.75, 13.25 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 4.5, 13, 5.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 10.5, 13, 11.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 5.5, 4, 10.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 5.5, 13, 10.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 10.5, 5.5, 11.5, 10.5 ], "texture": "#texture" },
|
"west": { "uv": [ 11.75, 4.25, 13.25, 11.75 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 4.5, 5.5, 5.5, 10.5 ], "texture": "#texture" }
|
"east": { "uv": [ 2.75, 4.25, 4.25, 11.75 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box28",
|
"__comment": "Box28",
|
||||||
"from": [ 12, 4.5, 5.5 ],
|
"from": [ 7.5, 2.75, 4.25 ],
|
||||||
"to": [ 13, 11.5, 10.5 ],
|
"to": [ 8.5, 13.25, 11.75 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 5.5, 13, 10.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 5.5, 13, 10.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 4.5, 4, 11.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 2.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 4.5, 13, 11.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 2.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 5.5, 4.5, 10.5, 11.5 ], "texture": "#texture" },
|
"west": { "uv": [ 4.25, 2.75, 11.75, 13.25 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 5.5, 4.5, 10.5, 11.5 ], "texture": "#texture" }
|
"east": { "uv": [ 4.25, 2.75, 11.75, 13.25 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 10, 4 ],
|
"from": [ 7.5, 11, 2 ],
|
||||||
"to": [ 13, 10.5, 4.5 ],
|
"to": [ 8.5, 11.75, 2.75 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 11.5, 13, 12 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 4, 13, 4.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 5.5, 4, 6 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 5.5, 13, 6 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 4, 5.5, 4.5, 6 ], "texture": "#texture" },
|
"west": { "uv": [ 2, 4.25, 2.75, 5 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 11.5, 5.5, 12, 6 ], "texture": "#texture" }
|
"east": { "uv": [ 13.25, 4.25, 14, 5 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 10.5, 4.5 ],
|
"from": [ 7.5, 11.75, 2.75 ],
|
||||||
"to": [ 13, 11, 5 ],
|
"to": [ 8.5, 12.5, 3.5 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 11, 13, 11.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 12.5, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 4.5, 13, 5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 2.75, 8.5, 3.5 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 5, 4, 5.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 5, 13, 5.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 4.5, 5, 5, 5.5 ], "texture": "#texture" },
|
"west": { "uv": [ 2.75, 3.5, 3.5, 4.25 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 11, 5, 11.5, 5.5 ], "texture": "#texture" }
|
"east": { "uv": [ 12.5, 3.5, 13.25, 4.25 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 10.5, 5 ],
|
"from": [ 7.5, 11.75, 3.5 ],
|
||||||
"to": [ 13, 11.5, 5.5 ],
|
"to": [ 8.5, 13.25, 4.25 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 10.5, 13, 11 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 5, 13, 5.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 4.5, 4, 5.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 4.5, 13, 5.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 5, 4.5, 5.5, 5.5 ], "texture": "#texture" },
|
"west": { "uv": [ 3.5, 2.75, 4.25, 4.25 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 10.5, 4.5, 11, 5.5 ], "texture": "#texture" }
|
"east": { "uv": [ 11.75, 2.75, 12.5, 4.25 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 4.5, 5 ],
|
"from": [ 7.5, 2.75, 3.5 ],
|
||||||
"to": [ 13, 5.5, 5.5 ],
|
"to": [ 8.5, 4.25, 4.25 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 10.5, 13, 11 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 5, 13, 5.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 10.5, 4, 11.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 10.5, 13, 11.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 5, 10.5, 5.5, 11.5 ], "texture": "#texture" },
|
"west": { "uv": [ 3.5, 11.75, 4.25, 13.25 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 10.5, 10.5, 11, 11.5 ], "texture": "#texture" }
|
"east": { "uv": [ 11.75, 11.75, 12.5, 13.25 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 10.5, 10.5 ],
|
"from": [ 7.5, 11.75, 11.75 ],
|
||||||
"to": [ 13, 11.5, 11 ],
|
"to": [ 8.5, 13.25, 12.5 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 5, 13, 5.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 10.5, 13, 11 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 4.5, 4, 5.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 4.5, 13, 5.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 10.5, 4.5, 11, 5.5 ], "texture": "#texture" },
|
"west": { "uv": [ 11.75, 2.75, 12.5, 4.25 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 5, 4.5, 5.5, 5.5 ], "texture": "#texture" }
|
"east": { "uv": [ 3.5, 2.75, 4.25, 4.25 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 4.5, 10.5 ],
|
"from": [ 7.5, 2.75, 11.75 ],
|
||||||
"to": [ 13, 5.5, 11 ],
|
"to": [ 8.5, 4.25, 12.5 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 5, 13, 5.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 10.5, 13, 11 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 10.5, 4, 11.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 10.5, 13, 11.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 10.5, 10.5, 11, 11.5 ], "texture": "#texture" },
|
"west": { "uv": [ 11.75, 11.75, 12.5, 13.25 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 5, 10.5, 5.5, 11.5 ], "texture": "#texture" }
|
"east": { "uv": [ 3.5, 11.75, 4.25, 13.25 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 11.5, 5.5 ],
|
"from": [ 7.5, 13.25, 4.25 ],
|
||||||
"to": [ 13, 12, 6 ],
|
"to": [ 8.5, 14, 5 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 10, 13, 10.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 5.5, 13, 6 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 4, 4, 4.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 4, 13, 4.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 5.5, 4, 6, 4.5 ], "texture": "#texture" },
|
"west": { "uv": [ 4.25, 2, 5, 2.75 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 10, 4, 10.5, 4.5 ], "texture": "#texture" }
|
"east": { "uv": [ 11, 2, 11.75, 2.75 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 5.5, 4 ],
|
"from": [ 7.5, 4.25, 2 ],
|
||||||
"to": [ 13, 6, 4.5 ],
|
"to": [ 8.5, 5, 2.75 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 11.5, 13, 12 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 4, 13, 4.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 10, 4, 10.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 10, 13, 10.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 4, 10, 4.5, 10.5 ], "texture": "#texture" },
|
"west": { "uv": [ 2, 11, 2.75, 11.75 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 11.5, 10, 12, 10.5 ], "texture": "#texture" }
|
"east": { "uv": [ 13.25, 11, 14, 11.75 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 5, 4.5 ],
|
"from": [ 7.5, 3.5, 2.75 ],
|
||||||
"to": [ 13, 5.5, 5 ],
|
"to": [ 8.5, 4.25, 3.5 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 11, 13, 11.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 12.5, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 4.5, 13, 5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 2.75, 8.5, 3.5 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 10.5, 4, 11 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 10.5, 13, 11 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 4.5, 10.5, 5, 11 ], "texture": "#texture" },
|
"west": { "uv": [ 2.75, 11.75, 3.5, 12.5 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 11, 10.5, 11.5, 11 ], "texture": "#texture" }
|
"east": { "uv": [ 12.5, 11.75, 13.25, 12.5 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 4, 5.5 ],
|
"from": [ 7.5, 2, 4.25 ],
|
||||||
"to": [ 13, 4.5, 6 ],
|
"to": [ 8.5, 2.75, 5 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 10, 13, 10.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 5.5, 13, 6 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 11.5, 4, 12 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 11.5, 13, 12 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 5.5, 11.5, 6, 12 ], "texture": "#texture" },
|
"west": { "uv": [ 4.25, 13.25, 5, 14 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 10, 11.5, 10.5, 12 ], "texture": "#texture" }
|
"east": { "uv": [ 11, 13.25, 11.75, 14 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 4, 10 ],
|
"from": [ 7.5, 2, 11 ],
|
||||||
"to": [ 13, 4.5, 10.5 ],
|
"to": [ 8.5, 2.75, 11.75 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 5.5, 13, 6 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 10, 13, 10.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 11.5, 4, 12 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 11.5, 13, 12 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 10, 11.5, 10.5, 12 ], "texture": "#texture" },
|
"west": { "uv": [ 11, 13.25, 11.75, 14 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 5.5, 11.5, 6, 12 ], "texture": "#texture" }
|
"east": { "uv": [ 4.25, 13.25, 5, 14 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 5, 11 ],
|
"from": [ 7.5, 3.5, 12.5 ],
|
||||||
"to": [ 13, 5.5, 11.5 ],
|
"to": [ 8.5, 4.25, 13.25 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 4.5, 13, 5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 2.75, 8.5, 3.5 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 11, 13, 11.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 12.5, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 10.5, 4, 11 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 10.5, 13, 11 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 11, 10.5, 11.5, 11 ], "texture": "#texture" },
|
"west": { "uv": [ 12.5, 11.75, 13.25, 12.5 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 4.5, 10.5, 5, 11 ], "texture": "#texture" }
|
"east": { "uv": [ 2.75, 11.75, 3.5, 12.5 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 5.5, 11.5 ],
|
"from": [ 7.5, 4.25, 13.25 ],
|
||||||
"to": [ 13, 6, 12 ],
|
"to": [ 8.5, 5, 14 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 4, 13, 4.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 11.5, 13, 12 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 10, 4, 10.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 10, 13, 10.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 11.5, 10, 12, 10.5 ], "texture": "#texture" },
|
"west": { "uv": [ 13.25, 11, 14, 11.75 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 4, 10, 4.5, 10.5 ], "texture": "#texture" }
|
"east": { "uv": [ 2, 11, 2.75, 11.75 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 11.5, 10 ],
|
"from": [ 7.5, 13.25, 11 ],
|
||||||
"to": [ 13, 12, 10.5 ],
|
"to": [ 8.5, 14, 11.75 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 5.5, 13, 6 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 10, 13, 10.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 4, 4, 4.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 4, 13, 4.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 10, 4, 10.5, 4.5 ], "texture": "#texture" },
|
"west": { "uv": [ 11, 2, 11.75, 2.75 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 5.5, 4, 6, 4.5 ], "texture": "#texture" }
|
"east": { "uv": [ 4.25, 2, 5, 2.75 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 10.5, 11 ],
|
"from": [ 7.5, 11.75, 12.5 ],
|
||||||
"to": [ 13, 11, 11.5 ],
|
"to": [ 8.5, 12.5, 13.25 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 4.5, 13, 5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 2.75, 8.5, 3.5 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 11, 13, 11.5 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 12.5, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 5, 4, 5.5 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 5, 13, 5.5 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 11, 5, 11.5, 5.5 ], "texture": "#texture" },
|
"west": { "uv": [ 12.5, 3.5, 13.25, 4.25 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 4.5, 5, 5, 5.5 ], "texture": "#texture" }
|
"east": { "uv": [ 2.75, 3.5, 3.5, 4.25 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box30",
|
"__comment": "Box30",
|
||||||
"from": [ 12, 10, 11.5 ],
|
"from": [ 7.5, 11, 13.25 ],
|
||||||
"to": [ 13, 10.5, 12 ],
|
"to": [ 8.5, 11.75, 14 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12, 4, 13, 4.5 ], "texture": "#texture" },
|
"down": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
"up": { "uv": [ 12, 11.5, 13, 12 ], "texture": "#texture" },
|
"up": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
"north": { "uv": [ 3, 5.5, 4, 6 ], "texture": "#texture" },
|
"north": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
"south": { "uv": [ 12, 5.5, 13, 6 ], "texture": "#texture" },
|
"south": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
"west": { "uv": [ 11.5, 5.5, 12, 6 ], "texture": "#texture" },
|
"west": { "uv": [ 13.25, 4.25, 14, 5 ], "texture": "#texture" },
|
||||||
"east": { "uv": [ 4, 5.5, 4.5, 6 ], "texture": "#texture" }
|
"east": { "uv": [ 2, 4.25, 2.75, 5 ], "texture": "#texture" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 7, 3.5 ],
|
"from": [ 7.75, 6.5, 1.25 ],
|
||||||
"to": [ 12.75, 8, 4 ],
|
"to": [ 8.25, 8, 2 ],
|
||||||
"rotation": { "origin": [ 12.25, 8, 4 ], "axis": "x", "angle": 45 },
|
"rotation": { "origin": [ 7.75, 8, 2 ], "axis": "x", "angle": 45 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12.25, 3.5, 12.75, 4 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 14.84099, 8.25, 15.59099 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 12, 12.75, 12.5 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 0.4090099, 8.25, 1.15901 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 8.5, 12.25, 7.5 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 7.03033, 8.25, 8.53033 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 3.75, 8.5, 3.25, 7.5 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 7.03033, 8.25, 8.53033 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 3.5, 7.5, 4, 8.5 ], "texture": "#light", "rotation": 180 },
|
"west": { "uv": [ 0.4090095, 7.03033, 1.159009, 8.53033 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 12, 7.5, 12.5, 8.5 ], "texture": "#light", "rotation": 180 }
|
"east": { "uv": [ 14.84099, 7.03033, 15.59099, 8.53033 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 12, 8 ],
|
"from": [ 7.75, 14, 8 ],
|
||||||
"to": [ 12.75, 13, 8.5 ],
|
"to": [ 8.25, 15.5, 8.75 ],
|
||||||
"rotation": { "origin": [ 12.25, 12, 8 ], "axis": "x", "angle": -45 },
|
"rotation": { "origin": [ 7.75, 14, 8 ], "axis": "x", "angle": -45 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12.25, 8, 12.75, 8.5 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 7.25, 8.25, 8 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 7.5, 12.75, 8 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 8, 8.25, 8.75 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 3.25, 2.5, 3.75, 3.5 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 0.5, 8.25, 2 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 2.5, 12.75, 3.5 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 0.5, 8.25, 2 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 7.5, 2.5, 8, 3.5 ], "texture": "#light" },
|
"west": { "uv": [ 8, 0.5, 8.75, 2 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 8, 2.5, 8.5, 3.5 ], "texture": "#light" }
|
"east": { "uv": [ 7.25, 0.5, 8, 2 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 3, 7.5 ],
|
"from": [ 7.75, 0.5, 7.25 ],
|
||||||
"to": [ 12.75, 4, 8 ],
|
"to": [ 8.25, 2, 8 ],
|
||||||
"rotation": { "origin": [ 12.25, 4, 8 ], "axis": "x", "angle": -45 },
|
"rotation": { "origin": [ 7.75, 2, 8 ], "axis": "x", "angle": -45 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12.25, 8.06066, 12.75, 8.56066 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 6.719669, 8.25, 7.469669 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 7.439341, 12.75, 7.939341 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 8.530331, 8.25, 9.280331 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 3.25, 11.85355, 3.75, 12.85355 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 14.09099, 8.25, 15.59099 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 11.85355, 12.75, 12.85355 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 14.09099, 8.25, 15.59099 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 7.43934, 11.85355, 7.93934, 12.85355 ], "texture": "#light" },
|
"west": { "uv": [ 8.530331, 14.09099, 9.280331, 15.59099 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 8.06066, 11.85355, 8.56066, 12.85355 ], "texture": "#light" }
|
"east": { "uv": [ 6.719669, 14.09099, 7.469669, 15.59099 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 8, 12 ],
|
"from": [ 7.75, 8, 14 ],
|
||||||
"to": [ 12.75, 9, 12.5 ],
|
"to": [ 8.25, 9.5, 14.75 ],
|
||||||
"rotation": { "origin": [ 12.25, 8, 12 ], "axis": "x", "angle": 45 },
|
"rotation": { "origin": [ 7.75, 8, 14 ], "axis": "x", "angle": 45 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12.25, 12.85355, 12.75, 13.35355 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 1.25, 8.25, 2 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 2.646446, 12.75, 3.146446 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 14, 8.25, 14.75 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 8.56066, 12.25, 7.560659 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 6.5, 8.25, 8 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 3.75, 8.56066, 3.25, 7.560659 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 6.5, 8.25, 8 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 12.85355, 7.560659, 13.35355, 8.56066 ], "texture": "#light", "rotation": 180 },
|
"west": { "uv": [ 14, 6.5, 14.75, 8 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 2.646446, 7.560659, 3.146446, 8.56066 ], "texture": "#light", "rotation": 180 }
|
"east": { "uv": [ 1.25, 6.5, 2, 8 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 9.5, 3 ],
|
"from": [ 7.75, 10.25, 0.5 ],
|
||||||
"to": [ 12.75, 10, 4 ],
|
"to": [ 8.25, 11, 2 ],
|
||||||
"rotation": { "origin": [ 12.25, 9.5, 4 ], "axis": "x", "angle": -22.5 },
|
"rotation": { "origin": [ 7.75, 10.25, 2 ], "axis": "x", "angle": -22.5 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 3.75, 6.5, 3.25, 5.5 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 13.88582, 8.25, 15.38582 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 5.5, 12.75, 6.5 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 0.6141806, 8.25, 2.114181 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 4, 12.25, 3.5 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 5.574026, 8.25, 6.324026 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 12, 12.75, 12.5 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 5.574026, 8.25, 6.324026 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 3.5, 5.5, 4, 6.5 ], "texture": "#light", "rotation": 270 },
|
"west": { "uv": [ 0.6141806, 5.574026, 2.114181, 6.324026 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 12, 5.5, 12.5, 6.5 ], "texture": "#light", "rotation": 90 }
|
"east": { "uv": [ 13.88582, 5.574026, 15.38582, 6.324026 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 12, 9.5 ],
|
"from": [ 7.75, 14, 10.25 ],
|
||||||
"to": [ 12.75, 13, 10 ],
|
"to": [ 8.25, 15.5, 11 ],
|
||||||
"rotation": { "origin": [ 12.25, 12, 9.5 ], "axis": "x", "angle": -22.5 },
|
"rotation": { "origin": [ 7.75, 14, 10.25 ], "axis": "x", "angle": -22.5 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 3.75, 3.96194, 3.25, 3.46194 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 5, 8.25, 5.75 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 3.46194, 12.75, 3.96194 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 10.25, 8.25, 11 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 10.69134, 12.25, 9.69134 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 0.5, 8.25, 2 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 5.308661, 12.75, 6.308661 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 0.5, 8.25, 2 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 9.69134, 3.46194, 10.69134, 3.96194 ], "texture": "#light", "rotation": 270 },
|
"west": { "uv": [ 10.25, 0.5, 11, 2 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 5.30866, 3.46194, 6.30866, 3.96194 ], "texture": "#light", "rotation": 90 }
|
"east": { "uv": [ 5, 0.5, 5.75, 2 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 6, 12 ],
|
"from": [ 7.75, 5, 14 ],
|
||||||
"to": [ 12.75, 6.5, 13 ],
|
"to": [ 8.25, 5.75, 15.5 ],
|
||||||
"rotation": { "origin": [ 12.25, 6.5, 12 ], "axis": "x", "angle": -22.5 },
|
"rotation": { "origin": [ 7.75, 5.75, 14 ], "axis": "x", "angle": -22.5 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 3.75, 10.61522, 3.25, 9.615221 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 0.2129879, 8.25, 1.712988 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 9.615221, 12.75, 10.61522 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 14.28701, 8.25, 15.78701 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 12.92074, 12.25, 12.42074 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 10.19291, 8.25, 10.94291 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 3.079256, 12.75, 3.579256 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 10.19291, 8.25, 10.94291 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 12.42074, 9.615221, 12.92074, 10.61522 ], "texture": "#light", "rotation": 270 },
|
"west": { "uv": [ 14.28701, 10.19291, 15.78701, 10.94291 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 3.079256, 9.615221, 3.579256, 10.61522 ], "texture": "#light", "rotation": 90 }
|
"east": { "uv": [ 0.2129879, 10.19291, 1.712988, 10.94291 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 11, 4 ],
|
"from": [ 7.75, 12.5, 2 ],
|
||||||
"to": [ 12.75, 11.5, 5 ],
|
"to": [ 8.25, 13.25, 3.5 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 3.75, 5, 3.25, 4 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 12.5, 8.25, 14 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 4, 12.75, 5 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 2, 8.25, 3.5 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 5, 12.25, 4.5 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 2.75, 8.25, 3.5 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 11, 12.75, 11.5 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 2.75, 8.25, 3.5 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 4.5, 4, 5, 5 ], "texture": "#light", "rotation": 270 },
|
"west": { "uv": [ 2, 2.75, 3.5, 3.5 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 11, 4, 11.5, 5 ], "texture": "#light", "rotation": 90 }
|
"east": { "uv": [ 12.5, 2.75, 14, 3.5 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 11, 11 ],
|
"from": [ 7.75, 12.5, 12.5 ],
|
||||||
"to": [ 12.75, 12, 11.5 ],
|
"to": [ 8.25, 14, 13.25 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 3.75, 5, 3.25, 4.5 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 2.75, 8.25, 3.5 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 4.5, 12.75, 5 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 12.5, 8.25, 13.25 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 12, 12.25, 11 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 2, 8.25, 3.5 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 4.000001, 12.75, 5.000001 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 2, 8.25, 3.5 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 11, 4.5, 12, 5 ], "texture": "#light", "rotation": 270 },
|
"west": { "uv": [ 12.5, 2, 13.25, 3.5 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 4.000001, 4.5, 5.000001, 5 ], "texture": "#light", "rotation": 90 }
|
"east": { "uv": [ 2.75, 2, 3.5, 3.5 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 4.5, 11 ],
|
"from": [ 7.75, 2.75, 12.5 ],
|
||||||
"to": [ 12.75, 5, 12 ],
|
"to": [ 8.25, 3.5, 14 ],
|
||||||
"rotation": { "origin": [ 12.25, 5, 11 ], "axis": "x", "angle": 0 },
|
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12.25, 11, 12.75, 12 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 2, 8.25, 3.5 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 3.75, 12, 3.25, 11 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 12.5, 8.25, 14 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 5, 12.25, 4.5 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 12.5, 8.25, 13.25 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 11, 12.75, 11.5 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 12.5, 8.25, 13.25 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 11, 11, 11.5, 12 ], "texture": "#light", "rotation": 90 },
|
"west": { "uv": [ 12.5, 12.5, 14, 13.25 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 4.5, 11, 5, 12 ], "texture": "#light", "rotation": 270 }
|
"east": { "uv": [ 2, 12.5, 3.5, 13.25 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 4, 4.5 ],
|
"from": [ 7.75, 2, 2.75 ],
|
||||||
"to": [ 12.75, 5, 5 ],
|
"to": [ 8.25, 3.5, 3.5 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12.25, 11, 12.75, 11.5 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 12.5, 8.25, 13.25 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 3.75, 11.5, 3.25, 11 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 2.75, 8.25, 3.5 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 12, 12.25, 11 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 12.5, 8.25, 14 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 4, 12.75, 5 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 12.5, 8.25, 14 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 4, 11, 5, 11.5 ], "texture": "#light", "rotation": 90 },
|
"west": { "uv": [ 2.75, 12.5, 3.5, 14 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 11, 11, 12, 11.5 ], "texture": "#light", "rotation": 270 }
|
"east": { "uv": [ 12.5, 12.5, 13.25, 14 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 11.5, 5 ],
|
"from": [ 7.75, 13.25, 3.5 ],
|
||||||
"to": [ 12.75, 12, 6.5 ],
|
"to": [ 8.25, 14, 5.75 ],
|
||||||
"rotation": { "origin": [ 12.25, 11.5, 6.5 ], "axis": "x", "angle": 22.5 },
|
"rotation": { "origin": [ 7.75, 13.25, 5.75 ], "axis": "x", "angle": 22.5 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 3.75, 4, 3.25, 2.5 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 10.07873, 8.25, 12.32873 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 2.5, 12.75, 4 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 3.67127, 8.25, 5.92127 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 6, 12.25, 5.5 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 1.138962, 8.25, 1.888962 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 10, 12.75, 10.5 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 1.138962, 8.25, 1.888962 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 5.5, 2.5, 6, 4 ], "texture": "#light", "rotation": 270 },
|
"west": { "uv": [ 3.671271, 1.138962, 5.921271, 1.888962 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 10, 2.5, 10.5, 4 ], "texture": "#light", "rotation": 90 }
|
"east": { "uv": [ 10.07873, 1.138962, 12.32873, 1.888962 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 9.5, 11.5 ],
|
"from": [ 7.75, 10.25, 13.25 ],
|
||||||
"to": [ 12.75, 11, 12 ],
|
"to": [ 8.25, 12.5, 14 ],
|
||||||
"rotation": { "origin": [ 12.25, 9.5, 11.5 ], "axis": "x", "angle": 22.5 },
|
"rotation": { "origin": [ 7.75, 10.25, 13.25 ], "axis": "x", "angle": 22.5 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 3.75, 5.96194, 3.25, 5.46194 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 2, 8.25, 2.75 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 5.46194, 12.75, 5.96194 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 13.25, 8.25, 14 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 13.30866, 12.25, 11.80866 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 3.5, 8.25, 5.75 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 2.691342, 12.75, 4.191341 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 3.5, 8.25, 5.75 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 11.80866, 5.46194, 13.30866, 5.96194 ], "texture": "#light", "rotation": 270 },
|
"west": { "uv": [ 13.25, 3.5, 14, 5.75 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 2.691342, 5.46194, 4.191342, 5.96194 ], "texture": "#light", "rotation": 90 }
|
"east": { "uv": [ 2, 3.5, 2.75, 5.75 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 4, 9.5 ],
|
"from": [ 7.75, 2, 10.25 ],
|
||||||
"to": [ 12.75, 4.5, 11 ],
|
"to": [ 8.25, 2.75, 12.5 ],
|
||||||
"rotation": { "origin": [ 12.25, 4.5, 9.5 ], "axis": "x", "angle": 22.5 },
|
"rotation": { "origin": [ 7.75, 2.75, 10.25 ], "axis": "x", "angle": 22.5 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 3.75, 13.19448, 3.25, 11.69448 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 3.787012, 8.25, 6.037012 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 11.69448, 12.75, 13.19448 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 9.962988, 8.25, 12.21299 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 9.964035, 12.25, 9.464035 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 13.19291, 8.25, 13.94291 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 6.035965, 12.75, 6.535965 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 13.19291, 8.25, 13.94291 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 9.464035, 11.69448, 9.964035, 13.19448 ], "texture": "#light", "rotation": 270 },
|
"west": { "uv": [ 9.962988, 13.19291, 12.21299, 13.94291 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 6.035965, 11.69448, 6.535965, 13.19448 ], "texture": "#light", "rotation": 90 }
|
"east": { "uv": [ 3.787012, 13.19291, 6.037012, 13.94291 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 5, 4 ],
|
"from": [ 7.75, 3.5, 2 ],
|
||||||
"to": [ 12.75, 6.5, 4.5 ],
|
"to": [ 8.25, 5.75, 2.75 ],
|
||||||
"rotation": { "origin": [ 12.25, 6.5, 4.5 ], "axis": "x", "angle": 22.5 },
|
"rotation": { "origin": [ 7.75, 5.75, 2.75 ], "axis": "x", "angle": 22.5 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 3.75, 9.925975, 3.25, 9.425975 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 14.05395, 8.25, 14.80395 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 9.425975, 12.75, 9.925975 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 1.196053, 8.25, 1.946053 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 4.114182, 12.25, 2.614182 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 9.791717, 8.25, 12.04172 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 12.25, 11.88582, 12.75, 13.38582 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 9.791717, 8.25, 12.04172 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 2.614181, 9.425975, 4.114181, 9.925975 ], "texture": "#light", "rotation": 270 },
|
"west": { "uv": [ 1.196053, 9.791717, 1.946053, 12.04172 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 11.88582, 9.425975, 13.38582, 9.925975 ], "texture": "#light", "rotation": 90 }
|
"east": { "uv": [ 14.05395, 9.791717, 14.80395, 12.04172 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__comment": "Box46",
|
"__comment": "Box46",
|
||||||
"from": [ 12.25, 3, 6 ],
|
"from": [ 7.75, 0.5, 5 ],
|
||||||
"to": [ 12.75, 4, 6.5 ],
|
"to": [ 8.25, 2, 5.75 ],
|
||||||
"rotation": { "origin": [ 12.25, 4, 6.5 ], "axis": "x", "angle": -22.5 },
|
"rotation": { "origin": [ 7.75, 2, 5.75 ], "axis": "x", "angle": -22.5 },
|
||||||
"faces": {
|
"faces": {
|
||||||
"down": { "uv": [ 12.25, 3.5, 12.75, 4 ], "texture": "#light" },
|
"down": { "uv": [ 7.75, 9.618885, 8.25, 10.36889 ], "texture": "#light" },
|
||||||
"up": { "uv": [ 12.25, 12, 12.75, 12.5 ], "texture": "#light" },
|
"up": { "uv": [ 7.75, 5.631115, 8.25, 6.381115 ], "texture": "#light" },
|
||||||
"north": { "uv": [ 12.75, 6.5, 12.25, 5.5 ], "texture": "#light" },
|
"north": { "uv": [ 7.75, 14.17283, 8.25, 15.67283 ], "texture": "#light" },
|
||||||
"south": { "uv": [ 3.75, 6.5, 3.25, 5.5 ], "texture": "#light" },
|
"south": { "uv": [ 7.75, 14.17283, 8.25, 15.67283 ], "texture": "#light" },
|
||||||
"west": { "uv": [ 3.5, 5.5, 4, 6.5 ], "texture": "#light", "rotation": 180 },
|
"west": { "uv": [ 5.631115, 14.17283, 6.381115, 15.67283 ], "texture": "#light" },
|
||||||
"east": { "uv": [ 12, 5.5, 12.5, 6.5 ], "texture": "#light", "rotation": 180 }
|
"east": { "uv": [ 9.618885, 14.17283, 10.36889, 15.67283 ], "texture": "#light" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -0,0 +1,573 @@
|
|||||||
|
{
|
||||||
|
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
|
||||||
|
"textures": {
|
||||||
|
"particle": "blocks/e_particle",
|
||||||
|
"texture": "blocks/e_texture",
|
||||||
|
"light": "blocks/iron_ingot_light"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"__comment": "Box17",
|
||||||
|
"from": [ 5, 7.5, 7.5 ],
|
||||||
|
"to": [ 11, 8.5, 8.5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 5, 7.5, 11, 8.5 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 5, 7.5, 11, 8.5 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 5, 7.5, 11, 8.5 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 5, 7.5, 11, 8.5 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 7.5, 7.5, 8.5, 8.5 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 7.5, 7.5, 8.5, 8.5 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box7",
|
||||||
|
"from": [ 7.5, 13.25, 5 ],
|
||||||
|
"to": [ 8.5, 14.75, 11 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 1.25, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 1.25, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 5, 1.25, 11, 2.75 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 5, 1.25, 11, 2.75 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box7",
|
||||||
|
"from": [ 7.5, 1.25, 5 ],
|
||||||
|
"to": [ 8.5, 2.75, 11 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 13.25, 8.5, 14.75 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 13.25, 8.5, 14.75 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 5, 13.25, 11, 14.75 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 5, 13.25, 11, 14.75 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box16",
|
||||||
|
"from": [ 7.5, 5, 1.25 ],
|
||||||
|
"to": [ 8.5, 11, 2.75 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 13.25, 8.5, 14.75 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 1.25, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 1.25, 5, 2.75, 11 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 13.25, 5, 14.75, 11 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box16",
|
||||||
|
"from": [ 7.5, 5, 13.25 ],
|
||||||
|
"to": [ 8.5, 11, 14.75 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 1.25, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 13.25, 8.5, 14.75 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 5, 8.5, 11 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 13.25, 5, 14.75, 11 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 1.25, 5, 2.75, 11 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box24",
|
||||||
|
"from": [ 7.5, 4.25, 2.75 ],
|
||||||
|
"to": [ 8.5, 11.75, 4.25 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 2.75, 4.25, 4.25, 11.75 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11.75, 4.25, 13.25, 11.75 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box24",
|
||||||
|
"from": [ 7.5, 4.25, 11.75 ],
|
||||||
|
"to": [ 8.5, 11.75, 13.25 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 11.75, 4.25, 13.25, 11.75 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 2.75, 4.25, 4.25, 11.75 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box28",
|
||||||
|
"from": [ 7.5, 2.75, 4.25 ],
|
||||||
|
"to": [ 8.5, 13.25, 11.75 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 4.25, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 2.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 2.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 4.25, 2.75, 11.75, 13.25 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 4.25, 2.75, 11.75, 13.25 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 11, 2 ],
|
||||||
|
"to": [ 8.5, 11.75, 2.75 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 2, 4.25, 2.75, 5 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 13.25, 4.25, 14, 5 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 11.75, 2.75 ],
|
||||||
|
"to": [ 8.5, 12.5, 3.5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 12.5, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 2.75, 8.5, 3.5 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 2.75, 3.5, 3.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 12.5, 3.5, 13.25, 4.25 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 11.75, 3.5 ],
|
||||||
|
"to": [ 8.5, 13.25, 4.25 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 3.5, 2.75, 4.25, 4.25 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11.75, 2.75, 12.5, 4.25 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 2.75, 3.5 ],
|
||||||
|
"to": [ 8.5, 4.25, 4.25 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 3.5, 11.75, 4.25, 13.25 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11.75, 11.75, 12.5, 13.25 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 11.75, 11.75 ],
|
||||||
|
"to": [ 8.5, 13.25, 12.5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 2.75, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 11.75, 2.75, 12.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 3.5, 2.75, 4.25, 4.25 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 2.75, 11.75 ],
|
||||||
|
"to": [ 8.5, 4.25, 12.5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 11.75, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 11.75, 11.75, 12.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 3.5, 11.75, 4.25, 13.25 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 13.25, 4.25 ],
|
||||||
|
"to": [ 8.5, 14, 5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 4.25, 2, 5, 2.75 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 2, 11.75, 2.75 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 4.25, 2 ],
|
||||||
|
"to": [ 8.5, 5, 2.75 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 2, 11, 2.75, 11.75 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 13.25, 11, 14, 11.75 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 3.5, 2.75 ],
|
||||||
|
"to": [ 8.5, 4.25, 3.5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 12.5, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 2.75, 8.5, 3.5 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 2.75, 11.75, 3.5, 12.5 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 12.5, 11.75, 13.25, 12.5 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 2, 4.25 ],
|
||||||
|
"to": [ 8.5, 2.75, 5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 4.25, 13.25, 5, 14 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 13.25, 11.75, 14 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 2, 11 ],
|
||||||
|
"to": [ 8.5, 2.75, 11.75 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 11, 13.25, 11.75, 14 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 4.25, 13.25, 5, 14 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 3.5, 12.5 ],
|
||||||
|
"to": [ 8.5, 4.25, 13.25 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 2.75, 8.5, 3.5 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 12.5, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 11.75, 8.5, 12.5 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 12.5, 11.75, 13.25, 12.5 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 2.75, 11.75, 3.5, 12.5 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 4.25, 13.25 ],
|
||||||
|
"to": [ 8.5, 5, 14 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 13.25, 11, 14, 11.75 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 2, 11, 2.75, 11.75 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 13.25, 11 ],
|
||||||
|
"to": [ 8.5, 14, 11.75 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 11, 8.5, 11.75 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 11, 2, 11.75, 2.75 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 4.25, 2, 5, 2.75 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 11.75, 12.5 ],
|
||||||
|
"to": [ 8.5, 12.5, 13.25 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 2.75, 8.5, 3.5 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 12.5, 8.5, 13.25 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 3.5, 8.5, 4.25 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 12.5, 3.5, 13.25, 4.25 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 2.75, 3.5, 3.5, 4.25 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box30",
|
||||||
|
"from": [ 7.5, 11, 13.25 ],
|
||||||
|
"to": [ 8.5, 11.75, 14 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.5, 2, 8.5, 2.75 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 7.5, 13.25, 8.5, 14 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 7.5, 4.25, 8.5, 5 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 13.25, 4.25, 14, 5 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 2, 4.25, 2.75, 5 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 6.5, 1.25 ],
|
||||||
|
"to": [ 8.25, 8, 2 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 8, 2 ], "axis": "x", "angle": 45 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 14.84099, 8.25, 15.59099 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 0.4090099, 8.25, 1.15901 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 7.03033, 8.25, 8.53033 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 7.03033, 8.25, 8.53033 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 0.4090095, 7.03033, 1.159009, 8.53033 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 14.84099, 7.03033, 15.59099, 8.53033 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 14, 8 ],
|
||||||
|
"to": [ 8.25, 15.5, 8.75 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 14, 8 ], "axis": "x", "angle": -45 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 7.25, 8.25, 8 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 8, 8.25, 8.75 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 0.5, 8.25, 2 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 0.5, 8.25, 2 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 8, 0.5, 8.75, 2 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 7.25, 0.5, 8, 2 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 0.5, 7.25 ],
|
||||||
|
"to": [ 8.25, 2, 8 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 2, 8 ], "axis": "x", "angle": -45 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 6.719669, 8.25, 7.469669 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 8.530331, 8.25, 9.280331 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 14.09099, 8.25, 15.59099 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 14.09099, 8.25, 15.59099 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 8.530331, 14.09099, 9.280331, 15.59099 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 6.719669, 14.09099, 7.469669, 15.59099 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 8, 14 ],
|
||||||
|
"to": [ 8.25, 9.5, 14.75 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 8, 14 ], "axis": "x", "angle": 45 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 1.25, 8.25, 2 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 14, 8.25, 14.75 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 6.5, 8.25, 8 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 6.5, 8.25, 8 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 14, 6.5, 14.75, 8 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 1.25, 6.5, 2, 8 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 10.25, 0.5 ],
|
||||||
|
"to": [ 8.25, 11, 2 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 10.25, 2 ], "axis": "x", "angle": -22.5 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 13.88582, 8.25, 15.38582 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 0.6141806, 8.25, 2.114181 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 5.574026, 8.25, 6.324026 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 5.574026, 8.25, 6.324026 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 0.6141806, 5.574026, 2.114181, 6.324026 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 13.88582, 5.574026, 15.38582, 6.324026 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 14, 10.25 ],
|
||||||
|
"to": [ 8.25, 15.5, 11 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 14, 10.25 ], "axis": "x", "angle": -22.5 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 5, 8.25, 5.75 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 10.25, 8.25, 11 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 0.5, 8.25, 2 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 0.5, 8.25, 2 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 10.25, 0.5, 11, 2 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 5, 0.5, 5.75, 2 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 5, 14 ],
|
||||||
|
"to": [ 8.25, 5.75, 15.5 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 5.75, 14 ], "axis": "x", "angle": -22.5 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 0.2129879, 8.25, 1.712988 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 14.28701, 8.25, 15.78701 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 10.19291, 8.25, 10.94291 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 10.19291, 8.25, 10.94291 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 14.28701, 10.19291, 15.78701, 10.94291 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 0.2129879, 10.19291, 1.712988, 10.94291 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 12.5, 2 ],
|
||||||
|
"to": [ 8.25, 13.25, 3.5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 12.5, 8.25, 14 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 2, 8.25, 3.5 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 2.75, 8.25, 3.5 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 2.75, 8.25, 3.5 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 2, 2.75, 3.5, 3.5 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 12.5, 2.75, 14, 3.5 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 12.5, 12.5 ],
|
||||||
|
"to": [ 8.25, 14, 13.25 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 2.75, 8.25, 3.5 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 12.5, 8.25, 13.25 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 2, 8.25, 3.5 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 2, 8.25, 3.5 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 12.5, 2, 13.25, 3.5 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 2.75, 2, 3.5, 3.5 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 2.75, 12.5 ],
|
||||||
|
"to": [ 8.25, 3.5, 14 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 2, 8.25, 3.5 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 12.5, 8.25, 14 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 12.5, 8.25, 13.25 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 12.5, 8.25, 13.25 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 12.5, 12.5, 14, 13.25 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 2, 12.5, 3.5, 13.25 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 2, 2.75 ],
|
||||||
|
"to": [ 8.25, 3.5, 3.5 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 12.5, 8.25, 13.25 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 2.75, 8.25, 3.5 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 12.5, 8.25, 14 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 12.5, 8.25, 14 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 2.75, 12.5, 3.5, 14 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 12.5, 12.5, 13.25, 14 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 13.25, 3.5 ],
|
||||||
|
"to": [ 8.25, 14, 5.75 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 13.25, 5.75 ], "axis": "x", "angle": 22.5 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 10.07873, 8.25, 12.32873 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 3.67127, 8.25, 5.92127 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 1.138962, 8.25, 1.888962 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 1.138962, 8.25, 1.888962 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 3.671271, 1.138962, 5.921271, 1.888962 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 10.07873, 1.138962, 12.32873, 1.888962 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 10.25, 13.25 ],
|
||||||
|
"to": [ 8.25, 12.5, 14 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 10.25, 13.25 ], "axis": "x", "angle": 22.5 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 2, 8.25, 2.75 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 13.25, 8.25, 14 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 3.5, 8.25, 5.75 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 3.5, 8.25, 5.75 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 13.25, 3.5, 14, 5.75 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 2, 3.5, 2.75, 5.75 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 2, 10.25 ],
|
||||||
|
"to": [ 8.25, 2.75, 12.5 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 2.75, 10.25 ], "axis": "x", "angle": 22.5 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 3.787012, 8.25, 6.037012 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 9.962988, 8.25, 12.21299 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 13.19291, 8.25, 13.94291 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 13.19291, 8.25, 13.94291 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 9.962988, 13.19291, 12.21299, 13.94291 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 3.787012, 13.19291, 6.037012, 13.94291 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 3.5, 2 ],
|
||||||
|
"to": [ 8.25, 5.75, 2.75 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 5.75, 2.75 ], "axis": "x", "angle": 22.5 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 14.05395, 8.25, 14.80395 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 1.196053, 8.25, 1.946053 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 9.791717, 8.25, 12.04172 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 9.791717, 8.25, 12.04172 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 1.196053, 9.791717, 1.946053, 12.04172 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 14.05395, 9.791717, 14.80395, 12.04172 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "Box46",
|
||||||
|
"from": [ 7.75, 0.5, 5 ],
|
||||||
|
"to": [ 8.25, 2, 5.75 ],
|
||||||
|
"rotation": { "origin": [ 7.75, 2, 5.75 ], "axis": "x", "angle": -22.5 },
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 7.75, 9.618885, 8.25, 10.36889 ], "texture": "#light" },
|
||||||
|
"up": { "uv": [ 7.75, 5.631115, 8.25, 6.381115 ], "texture": "#light" },
|
||||||
|
"north": { "uv": [ 7.75, 14.17283, 8.25, 15.67283 ], "texture": "#light" },
|
||||||
|
"south": { "uv": [ 7.75, 14.17283, 8.25, 15.67283 ], "texture": "#light" },
|
||||||
|
"west": { "uv": [ 5.631115, 14.17283, 6.381115, 15.67283 ], "texture": "#light" },
|
||||||
|
"east": { "uv": [ 9.618885, 14.17283, 10.36889, 15.67283 ], "texture": "#light" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"display": {
|
||||||
|
"thirdperson_righthand": {
|
||||||
|
"rotation": [ 0, -90, 55 ],
|
||||||
|
"translation": [ 0, 0.2635, 0.5 ],
|
||||||
|
"scale": [ 0.85, 0.85, 0.85 ]
|
||||||
|
},
|
||||||
|
"thirdperson_lefthand": {
|
||||||
|
"rotation": [ 0, -90, 55 ],
|
||||||
|
"translation": [ 0, 0.2635, 0.5 ],
|
||||||
|
"scale": [ 0.85, 0.85, 0.85 ]
|
||||||
|
},
|
||||||
|
"firstperson_righthand": {
|
||||||
|
"rotation": [ 0, -90, 25 ],
|
||||||
|
"translation": [ 1.13, 3.2, 1.13 ],
|
||||||
|
"scale": [ 0.68, 0.68, 0.68 ]
|
||||||
|
},
|
||||||
|
"firstperson_lefthand": {
|
||||||
|
"rotation": [ 0, 90, -25 ],
|
||||||
|
"translation": [ 1.13, 3.2, 1.13 ],
|
||||||
|
"scale": [ 0.68, 0.68, 0.68 ]
|
||||||
|
},
|
||||||
|
"gui": {
|
||||||
|
"rotation": [ 30, 225, 0 ],
|
||||||
|
"translation": [ 2, 0, 0 ],
|
||||||
|
"scale": [ 0.625, 0.625, 0.625 ]
|
||||||
|
},
|
||||||
|
"ground": {
|
||||||
|
"translation": [ 0, 3, 0 ],
|
||||||
|
"scale": [ 0.25, 0.25, 0.25 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,7 +23,25 @@
|
|||||||
|
|
||||||
"chisel_hit_finished": {
|
"chisel_hit_finished": {
|
||||||
"category": "block",
|
"category": "block",
|
||||||
"subtitle": "forgecraft.subtitle.chisel_hit_finishedg",
|
"subtitle": "forgecraft.subtitle.chisel_hit_finished",
|
||||||
"sounds": [ "forgecraft:chisel_hit_finished" ]
|
"sounds": [ "forgecraft:chisel_hit_finished" ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"piston_engine_in": {
|
||||||
|
"category": "block",
|
||||||
|
"subtitle": "forgecraft.subtitle.piston_engine_in",
|
||||||
|
"sounds": [ "forgecraft:piston_engine_in" ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"piston_engine_out": {
|
||||||
|
"category": "block",
|
||||||
|
"subtitle": "forgecraft.subtitle.piston_engine_out",
|
||||||
|
"sounds": [ "forgecraft:piston_engine_out" ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"saw_machine": {
|
||||||
|
"category": "block",
|
||||||
|
"subtitle": "forgecraft.subtitle.saw_machine",
|
||||||
|
"sounds": [ "forgecraft:saw_machine" ]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Binary file not shown.
Binary file not shown.
BIN
kfc/src/main/resources/assets/forgecraft/sounds/saw_machine.ogg
Normal file
BIN
kfc/src/main/resources/assets/forgecraft/sounds/saw_machine.ogg
Normal file
Binary file not shown.
Reference in New Issue
Block a user