redstone engines work, gearboxes work, creating tools as well as torque and speed calculations
This commit is contained in:
@@ -54,6 +54,10 @@
|
||||
### Tid-Bits
|
||||
NonNullList<ItemStack> tempDrops = NonNullList.<ItemStack>create();
|
||||
ItemStack iron_gear = RecipeHelper.getFirstDictionaryMatch("gearIron", 1);
|
||||
public List<NBTBase> tagList = Lists.<NBTBase>newArrayList();
|
||||
NonNullList<ItemStack> renderList = NonNullList.<ItemStack>create();
|
||||
NBTTagList tagList = stack.getSubCompound("BlockEntityTag").getTagList("Items", 10);
|
||||
NBTTagEnd endList = new NBTTagEnd();
|
||||
```
|
||||
sed -i -- 's/iron/steel/g' *
|
||||
rm *.json--
|
||||
|
||||
@@ -31,13 +31,13 @@ import nmd.primal.core.common.recipes.inworld.FireSource;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
import nmd.primal.forgecraft.blocks.CustomContainerFacing;
|
||||
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
|
||||
import nmd.primal.forgecraft.items.SlottedTongs;
|
||||
import nmd.primal.forgecraft.items.misc.SlottedTongs;
|
||||
import nmd.primal.forgecraft.tiles.TileBloomery;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
import static nmd.primal.forgecraft.items.SlottedTongs.ITEM_HANDLER;
|
||||
import static nmd.primal.forgecraft.items.misc.SlottedTongs.ITEM_HANDLER;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 6/11/17.
|
||||
|
||||
@@ -30,12 +30,12 @@ import nmd.primal.forgecraft.crafting.CastingCrafting;
|
||||
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
|
||||
import nmd.primal.forgecraft.init.ModBlocks;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.items.SlottedTongs;
|
||||
import nmd.primal.forgecraft.items.misc.SlottedTongs;
|
||||
import nmd.primal.forgecraft.tiles.TileCastingForm;
|
||||
import nmd.primal.forgecraft.util.CastingFormHandler;
|
||||
import nmd.primal.forgecraft.util.ToolNBT;
|
||||
|
||||
import static nmd.primal.forgecraft.items.SlottedTongs.ITEM_HANDLER;
|
||||
import static nmd.primal.forgecraft.items.misc.SlottedTongs.ITEM_HANDLER;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 6/19/17.
|
||||
|
||||
@@ -3,13 +3,17 @@ 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.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import nmd.primal.core.api.PrimalAPI;
|
||||
import nmd.primal.core.common.helper.PlayerHelper;
|
||||
import nmd.primal.forgecraft.blocks.CustomContainerFacingActive;
|
||||
import nmd.primal.forgecraft.tiles.TileRedstoneEngine;
|
||||
|
||||
@@ -24,13 +28,38 @@ public class RedstoneEngine extends CustomContainerFacingActive {
|
||||
super(material, registryName);
|
||||
}
|
||||
|
||||
/*@Override
|
||||
@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) {
|
||||
return true;
|
||||
if(hand.equals(EnumHand.MAIN_HAND)) {
|
||||
TileRedstoneEngine tile = (TileRedstoneEngine) 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(tile.isItemValidForSlot(1, playerStack)){
|
||||
ItemStack setStack = playerStack.copy();
|
||||
setStack.setCount(1);
|
||||
tile.setSlotStack(1, 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) {
|
||||
|
||||
@@ -27,7 +27,7 @@ import nmd.primal.core.api.PrimalAPI;
|
||||
import nmd.primal.core.common.helper.PlayerHelper;
|
||||
import nmd.primal.forgecraft.blocks.CustomFacing;
|
||||
import nmd.primal.forgecraft.init.ModSounds;
|
||||
import nmd.primal.forgecraft.items.SledgeHammer;
|
||||
import nmd.primal.forgecraft.items.misc.SledgeHammer;
|
||||
import nmd.primal.forgecraft.util.ToolMaterialMap;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -29,8 +29,10 @@ import java.util.Random;
|
||||
*/
|
||||
public class Gearbox extends CustomContainerFacing implements ITileEntityProvider {
|
||||
|
||||
protected static final AxisAlignedBB boundBox = new AxisAlignedBB(4/16D, 0.0D, 4/16D, 12/16D, 7/16D, 12/16D);
|
||||
|
||||
protected static final AxisAlignedBB northBox = new AxisAlignedBB(2/16D, 0.0D, 7/16D, 16/16D, 9/16D, 10/16D);
|
||||
protected static final AxisAlignedBB southBox = new AxisAlignedBB(0/16D, 0.0D, 6/16D, 14/16D, 9/16D, 9/16D);
|
||||
protected static final AxisAlignedBB eastBox = new AxisAlignedBB(6/16D, 0.0D, 2/16D, 9/16D, 9/16D, 16/16D);
|
||||
protected static final AxisAlignedBB westBox = new AxisAlignedBB(7/16D, 0.0D, 0/16D, 10/16D, 9/16D, 14/16D);
|
||||
//private Ingredient crucibleIngredients;
|
||||
|
||||
public Gearbox(Material material, String registryName) {
|
||||
@@ -38,76 +40,103 @@ public class Gearbox extends CustomContainerFacing implements ITileEntityProvide
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hands, EnumFacing face, float hitX, float hitY, float hitZ) {
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing face, float hitX, float hitY, float hitZ) {
|
||||
|
||||
if (!world.isRemote) {
|
||||
if(hand.equals(EnumHand.MAIN_HAND)) {
|
||||
TileGearbox tile = (TileGearbox) world.getTileEntity(pos);
|
||||
ItemStack slot0 = tile.getSlotStack(0);
|
||||
ItemStack slot1 = tile.getSlotStack(1);
|
||||
ItemStack slot2 = tile.getSlotStack(2);
|
||||
ItemStack playerStack = player.inventory.getCurrentItem().copy();
|
||||
|
||||
TileGearbox tile = (TileGearbox) world.getTileEntity(pos);
|
||||
ItemStack slot0 = tile.getSlotStack(0);
|
||||
ItemStack slot1 = tile.getSlotStack(1);
|
||||
ItemStack slot2 = tile.getSlotStack(2);
|
||||
ItemStack playerStack = player.getHeldItemMainhand();
|
||||
if(playerStack.isEmpty()) {
|
||||
if (!player.isSneaking()) {
|
||||
if (!slot0.isEmpty() && !slot1.isEmpty() && !slot2.isEmpty()) {
|
||||
PlayerHelper.playerTakeItem(world, pos, EnumFacing.DOWN, player, player.getActiveHand(), this.getThisItem(world, pos, state, player));
|
||||
world.setBlockState(pos, this.getReplacementBlock(world, pos, state));
|
||||
world.markTileEntityForRemoval(tile);
|
||||
return true;
|
||||
} else {
|
||||
PlayerHelper.spawnItemOnPlayer(world, player, tile.getSlotStack(0), tile.getSlotStack(1), tile.getSlotStack(2));
|
||||
tile.clearSlots();
|
||||
PlayerHelper.playerTakeItem(world, pos, EnumFacing.DOWN, player, player.getActiveHand(), this.getThisItem(world, pos, state, player));
|
||||
world.setBlockState(pos, this.getReplacementBlock(world, pos, state));
|
||||
world.markTileEntityForRemoval(tile);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (slot2.isEmpty()) {
|
||||
if (tile.isItemValidForSlot(2, playerStack)) {
|
||||
return sideInventoryManager(world, player, tile, slot2, 2, pos, state);
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.NORTH) {
|
||||
if (hitX < 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot0, 0);
|
||||
if (slot2.isEmpty()) {
|
||||
if (hitX < 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot0, 0, pos, state);
|
||||
}
|
||||
if (hitX > 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot1, 1, pos, state);
|
||||
}
|
||||
}
|
||||
if (hitX > 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot1, 1);
|
||||
}
|
||||
|
||||
return true;
|
||||
return sideInventoryManager(world, player, tile, slot2, 2, pos, state);
|
||||
//return true;
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.SOUTH) {
|
||||
if (hitX > 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot0, 0);
|
||||
if (slot2.isEmpty()) {
|
||||
if (hitX > 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot0, 0, pos, state);
|
||||
}
|
||||
if (hitX < 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot1, 1, pos, state);
|
||||
}
|
||||
}
|
||||
if (hitX < 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot1, 1);
|
||||
}
|
||||
|
||||
return true;
|
||||
return sideInventoryManager(world, player, tile, slot2, 2, pos, state);
|
||||
//return true;
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.EAST) {
|
||||
if (hitZ < 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot0, 0);
|
||||
if (slot2.isEmpty()) {
|
||||
if (hitZ < 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot0, 0, pos, state);
|
||||
}
|
||||
if (hitZ > 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot1, 1, pos, state);
|
||||
}
|
||||
}
|
||||
if (hitZ > 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot1, 1);
|
||||
}
|
||||
|
||||
return true;
|
||||
return sideInventoryManager(world, player, tile, slot2, 2, pos, state);
|
||||
//return true;
|
||||
}
|
||||
if (state.getValue(FACING) == EnumFacing.WEST) {
|
||||
if (hitZ > 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot0, 0);
|
||||
if (slot2.isEmpty()) {
|
||||
if (hitZ > 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot0, 0, pos, state);
|
||||
}
|
||||
if (hitZ < 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot1, 1, pos, state);
|
||||
}
|
||||
}
|
||||
if (hitZ < 0.5) {
|
||||
return sideInventoryManager(world, player, tile, slot1, 1);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
if (tile.isItemValidForSlot(2, playerStack)) {
|
||||
return sideInventoryManager(world, player, tile, slot0, 2);
|
||||
return sideInventoryManager(world, player, tile, slot2, 2, pos, state);
|
||||
//return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean sideInventoryManager(World world, EntityPlayer player, TileGearbox tile, ItemStack slot, int index)
|
||||
private boolean sideInventoryManager(World world, EntityPlayer player, TileGearbox tile, ItemStack slot, int index, BlockPos pos, IBlockState state)
|
||||
{
|
||||
|
||||
if(!player.isSneaking()) {
|
||||
ItemStack stack = player.getHeldItemMainhand();
|
||||
if (slot.isEmpty()) {
|
||||
if(tile.isItemValidForSlot(index, slot)) {
|
||||
tile.setSlotStack(index, stack);
|
||||
player.setHeldItem(EnumHand.MAIN_HAND, ItemStack.EMPTY);
|
||||
//player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY);
|
||||
if(tile.isItemValidForSlot(index, stack)) {
|
||||
ItemStack setStack = stack.copy();
|
||||
setStack.setCount(1);
|
||||
tile.setSlotStack(index, setStack);
|
||||
player.getHeldItemMainhand().shrink(1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -147,6 +176,7 @@ public class Gearbox extends CustomContainerFacing implements ITileEntityProvide
|
||||
//PlayerHelper.playerTakeItem(world, pos, EnumFacing.DOWN, player, player.getActiveHand(), this.getCrucibleItem(world, pos, state, player));
|
||||
ItemStack dropStack = new ItemStack(this, 1);
|
||||
PlayerHelper.spawnItemOnPlayer(world, player, dropStack);
|
||||
PlayerHelper.spawnItemOnPlayer(world, player, ((TileGearbox) tile).slotList);
|
||||
world.setBlockState(pos, this.getReplacementBlock(world, pos, state));
|
||||
world.markTileEntityForRemoval(tile);
|
||||
return true;
|
||||
@@ -187,15 +217,15 @@ public class Gearbox extends CustomContainerFacing implements ITileEntityProvide
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
|
||||
{
|
||||
TileEntity tileentity = world.getTileEntity(pos);
|
||||
if (tileentity instanceof TileGearbox) {
|
||||
TileGearbox tile = (TileGearbox) world.getTileEntity(pos);
|
||||
if(NBTHelper.hasNBT(stack)){
|
||||
NBTTagCompound tag = stack.getTagCompound();
|
||||
//TileEntity tileentity = world.getTileEntity(pos);
|
||||
//if (tileentity instanceof TileGearbox) {
|
||||
// TileGearbox tile = (TileGearbox) world.getTileEntity(pos);
|
||||
// if(NBTHelper.hasNBT(stack)){
|
||||
// NBTTagCompound tag = stack.getTagCompound();
|
||||
world.setBlockState(pos, state.withProperty(FACING, placer.getHorizontalFacing()), 2);
|
||||
//tile.readNBT(tag);
|
||||
}
|
||||
}
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -213,6 +243,20 @@ public class Gearbox extends CustomContainerFacing implements ITileEntityProvide
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos)
|
||||
{
|
||||
return boundBox;
|
||||
state = state.getActualState(source, pos);
|
||||
EnumFacing enumfacing = state.getValue(FACING);
|
||||
|
||||
switch (enumfacing)
|
||||
{
|
||||
case EAST:
|
||||
default:
|
||||
return eastBox;
|
||||
case SOUTH:
|
||||
return southBox;
|
||||
case WEST:
|
||||
return westBox;
|
||||
case NORTH:
|
||||
return northBox;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,13 +29,11 @@ import nmd.primal.core.common.helper.PlayerHelper;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
|
||||
import nmd.primal.forgecraft.init.ModBlocks;
|
||||
import nmd.primal.forgecraft.items.SlottedTongs;
|
||||
import nmd.primal.forgecraft.items.misc.SlottedTongs;
|
||||
import nmd.primal.forgecraft.tiles.TileNBTCrucible;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import static net.minecraft.util.EnumHand.MAIN_HAND;
|
||||
|
||||
|
||||
/**
|
||||
* Created by mminaie on 11/11/17.
|
||||
|
||||
@@ -36,6 +36,10 @@ public class ModDictionary {/***************************************************
|
||||
OreDictionary.registerOre("nuggetWootz", ModItems.wootzchunk);
|
||||
//}
|
||||
OreDictionary.registerOre("dustBlaze", Items.BLAZE_POWDER);
|
||||
|
||||
|
||||
OreDictionary.registerOre("toolEngine", ModItems.woodfan);
|
||||
|
||||
OreDictionary.registerOre("gearPrimal", ModItems.woodensmallgear);
|
||||
OreDictionary.registerOre("gearPrimalSmall", ModItems.woodensmallgear);
|
||||
|
||||
|
||||
@@ -9,10 +9,12 @@ import net.minecraftforge.fml.common.registry.ForgeRegistries;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import nmd.primal.core.api.PrimalAPI;
|
||||
import nmd.primal.forgecraft.blocks.machine.Forge;
|
||||
import nmd.primal.forgecraft.items.*;
|
||||
import nmd.primal.forgecraft.items.armor.CustomHelmet;
|
||||
import nmd.primal.forgecraft.items.blocks.ItemGearbox;
|
||||
import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible;
|
||||
import nmd.primal.forgecraft.items.enginetools.BaseEngineTool;
|
||||
import nmd.primal.forgecraft.items.misc.*;
|
||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||
import nmd.primal.forgecraft.items.parts.WeaponPart;
|
||||
import nmd.primal.forgecraft.items.tools.CustomAxe;
|
||||
@@ -49,6 +51,7 @@ public class ModItems {
|
||||
public static Item woodenlargegear;
|
||||
|
||||
public static Item woodengearboxcasecover;
|
||||
public static Item woodengearbox;
|
||||
|
||||
public static Item bronzeingotball;
|
||||
public static Item bronzechunk;
|
||||
@@ -213,13 +216,14 @@ public class ModItems {
|
||||
woodpistonarm = new BaseItem("woodpistonarm");
|
||||
woodcrank = new BaseItem("woodcrank");
|
||||
woodpiston = new BaseItem("woodpiston");
|
||||
woodfan = new BaseItem("woodfan");
|
||||
woodfan = new BaseEngineTool("woodfan", PrimalAPI.ToolMaterials.TOOL_FLINT);
|
||||
|
||||
woodensmallgear = new BaseSingleItem("woodensmallgear", 1000);
|
||||
woodenmediumgear = new BaseSingleItem("woodenmediumgear", 1000);
|
||||
woodenlargegear = new BaseSingleItem("woodenlargegear", 1000);
|
||||
|
||||
woodengearboxcasecover = new BaseItem("woodengearboxcasecover");
|
||||
woodengearbox = new ItemGearbox("woodengearbox", ModBlocks.woodengearbox);
|
||||
|
||||
/**********
|
||||
TOOL PARTS
|
||||
@@ -404,6 +408,7 @@ public class ModItems {
|
||||
ForgeRegistries.ITEMS.register(woodenmediumgear);
|
||||
ForgeRegistries.ITEMS.register(woodenlargegear);
|
||||
ForgeRegistries.ITEMS.register(woodengearboxcasecover);
|
||||
ForgeRegistries.ITEMS.register(woodengearbox);
|
||||
|
||||
|
||||
/**********
|
||||
@@ -573,6 +578,7 @@ public class ModItems {
|
||||
registerRender(woodenmediumgear);
|
||||
registerRender(woodenlargegear);
|
||||
registerRender(woodengearboxcasecover);
|
||||
registerRender(woodengearbox);
|
||||
|
||||
|
||||
/**********
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
package nmd.primal.forgecraft.items.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
|
||||
|
||||
/**
|
||||
* Created by mminaie on 2/7/18.
|
||||
*/
|
||||
public class AbstractItemBlock extends ItemBlock {
|
||||
private boolean is_fire_proof;
|
||||
|
||||
public AbstractItemBlock(Block block, boolean sub_types) {
|
||||
super(block);
|
||||
this.setHasSubtypes(sub_types);
|
||||
}
|
||||
|
||||
public AbstractItemBlock(Block block) {
|
||||
this(block, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CreativeTabs getCreativeTab() {
|
||||
return ModInfo.TAB_FORGECRAFT;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the normal 'lifespan' of this item when it is dropped on the ground as amount EntityItem.
|
||||
* This is in ticks, standard result is 6000, or 5 mins.
|
||||
*
|
||||
* @param itemStack The current ItemStack
|
||||
* @param world The world the entity is in
|
||||
* @return The normal lifespan in ticks.
|
||||
*/
|
||||
@Override
|
||||
public int getEntityLifespan(ItemStack itemStack, World world) {
|
||||
return 6000;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package nmd.primal.forgecraft.items.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
|
||||
|
||||
/**
|
||||
* Created by mminaie on 2/7/18.
|
||||
*/
|
||||
public abstract class DefaultItemBlock extends ItemBlock {
|
||||
|
||||
public DefaultItemBlock(String name, Block block) {
|
||||
super(block);
|
||||
this.setUnlocalizedName(name);
|
||||
this.setRegistryName(name);
|
||||
this.setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package nmd.primal.forgecraft.items.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.inventory.ItemStackHelper;
|
||||
import net.minecraft.item.IItemPropertyGetter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import nmd.primal.core.common.helper.RecipeHelper;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class ItemGearbox extends DefaultItemBlock {
|
||||
public ItemGearbox(String name, Block block) {
|
||||
super(name, block);
|
||||
|
||||
this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public float apply(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
|
||||
|
||||
if (stack.hasTagCompound()) {
|
||||
|
||||
NonNullList<ItemStack> renderList = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
||||
if(stack.getSubCompound("BlockEntityTag") != null) {
|
||||
|
||||
ItemStackHelper.loadAllItems(stack.getSubCompound("BlockEntityTag"), renderList);
|
||||
//System.out.println(renderList);
|
||||
|
||||
if (RecipeHelper.isOreName(renderList.get(2), "gearboxCoverPrimal")) {
|
||||
return 0.1f;
|
||||
} else {
|
||||
return 0.0F;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) {
|
||||
if(!world.isRemote) {
|
||||
|
||||
if (!item.hasTagCompound()) {
|
||||
NonNullList<ItemStack> list = NonNullList.withSize(3, ItemStack.EMPTY);
|
||||
item.getOrCreateSubCompound("BlockEntityTag");
|
||||
ItemStackHelper.saveAllItems(item.getSubCompound("BlockEntityTag"), list, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package nmd.primal.forgecraft.items.enginetools;
|
||||
|
||||
import nmd.primal.forgecraft.items.BaseSingleItem;
|
||||
|
||||
public class BaseEngineTool extends BaseSingleItem {
|
||||
|
||||
private ToolMaterial toolMaterial;
|
||||
|
||||
public BaseEngineTool(String registryName, int damage) {
|
||||
super(registryName, damage);
|
||||
}
|
||||
public BaseEngineTool(String registryName, ToolMaterial toolMaterial) {
|
||||
super(registryName, toolMaterial.getMaxUses()*2);
|
||||
this.toolMaterial = toolMaterial;
|
||||
|
||||
}
|
||||
|
||||
public ToolMaterial getMaterial() {return toolMaterial;}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package nmd.primal.forgecraft.items.enginetools;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EngineToolFan extends BaseEngineTool {
|
||||
|
||||
public EngineToolFan(String registryName, ToolMaterial toolMaterial) {
|
||||
super(registryName, toolMaterial);
|
||||
}
|
||||
|
||||
public void doWork(World world, BlockPos pos, IBlockState state, EnumFacing facing){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package nmd.primal.forgecraft.items;
|
||||
package nmd.primal.forgecraft.items.misc;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
@@ -1,4 +1,4 @@
|
||||
package nmd.primal.forgecraft.items;
|
||||
package nmd.primal.forgecraft.items.misc;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
@@ -1,4 +1,4 @@
|
||||
package nmd.primal.forgecraft.items;
|
||||
package nmd.primal.forgecraft.items.misc;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -7,6 +7,7 @@ import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.world.World;
|
||||
import nmd.primal.forgecraft.ForgeCraft;
|
||||
import nmd.primal.forgecraft.items.BaseItem;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 2/4/17.
|
||||
@@ -1,4 +1,6 @@
|
||||
package nmd.primal.forgecraft.items;
|
||||
package nmd.primal.forgecraft.items.misc;
|
||||
|
||||
import nmd.primal.forgecraft.items.BaseItem;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 1/22/17.
|
||||
@@ -1,4 +1,6 @@
|
||||
package nmd.primal.forgecraft.items;
|
||||
package nmd.primal.forgecraft.items.misc;
|
||||
|
||||
import nmd.primal.forgecraft.items.BaseItem;
|
||||
|
||||
/**
|
||||
* Created by kitsu on 11/26/2016.
|
||||
@@ -1,4 +1,4 @@
|
||||
package nmd.primal.forgecraft.items;
|
||||
package nmd.primal.forgecraft.items.misc;
|
||||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
@@ -1,4 +1,4 @@
|
||||
package nmd.primal.forgecraft.items;
|
||||
package nmd.primal.forgecraft.items.misc;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
@@ -36,6 +36,7 @@ import nmd.primal.forgecraft.blocks.anvil.AnvilBase;
|
||||
import nmd.primal.forgecraft.blocks.misc.NBTCrucible;
|
||||
import nmd.primal.forgecraft.blocks.machine.Forge;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.items.BaseMultiItem;
|
||||
import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible;
|
||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||
import nmd.primal.forgecraft.tiles.TileNBTCrucible;
|
||||
@@ -1,4 +1,4 @@
|
||||
package nmd.primal.forgecraft.items;
|
||||
package nmd.primal.forgecraft.items.misc;
|
||||
|
||||
import nmd.primal.core.common.items.tools.WorkBlade;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
@@ -43,68 +43,137 @@ public class TileGearboxRender extends TileEntitySpecialRenderer<TileGearbox>
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, bright % 65536, bright / 65536);
|
||||
|
||||
ItemStack stack0 = tile.getSlotStack(0);
|
||||
ItemStack stack1 = tile.getSlotStack(1);
|
||||
ItemStack stack2 = tile.getSlotStack(2);
|
||||
|
||||
/*if (state.getValue(Workbench.FACING) == EnumFacing.NORTH) {
|
||||
if (state.getValue(Workbench.FACING) == EnumFacing.NORTH) {
|
||||
|
||||
if (!stack0.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslated(0.5D, 0.71875D, 0.28125D);
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||
GL11.glRotated(PrimalAPI.getRandom().nextDouble(0D, 360D), 0.0D, 0.0D, 1.0D);
|
||||
}
|
||||
GL11.glTranslated(17/32D, 9/32D, 17/32D);
|
||||
//GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
//if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||
// GL11.glRotated(PrimalAPI.getRandom().nextDouble(0D, 360D), 0.0D, 0.0D, 1.0D);
|
||||
//}
|
||||
renderItem.renderItem(stack0, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
if (!stack1.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslated(25/32D, 9/32D, 17/32D);
|
||||
GL11.glRotated(11.25F, 0F, 0F, 1.0F);
|
||||
//if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||
// GL11.glRotated(PrimalAPI.getRandom().nextDouble(0D, 360D), 0.0D, 0.0D, 1.0D);
|
||||
//}
|
||||
renderItem.renderItem(stack1, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
if (!stack2.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslated(16/32D, 16/32D, 16/32D);
|
||||
GL11.glRotated(180F, 0.0F, 1.0F, 0.0F);
|
||||
//if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||
// GL11.glRotated(PrimalAPI.getRandom().nextDouble(0D, 360D), 0.0D, 0.0D, 1.0D);
|
||||
//}
|
||||
renderItem.renderItem(stack2, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
if (state.getValue(Workbench.FACING) == EnumFacing.SOUTH) {
|
||||
if (!stack0.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslated(0.5D, 0.71875D, 1-0.28125D);
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||
GL11.glRotated(PrimalAPI.getRandom().nextDouble(0D, 360D), 0.0D, 0.0D, 1.0D);
|
||||
}
|
||||
GL11.glTranslated(15/32D, 9/32D, 15/32D);
|
||||
//GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
renderItem.renderItem(stack0, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
if (!stack1.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslated(7/32D, 9/32D, 15/32D);
|
||||
GL11.glRotated(11.25F, 0F, 0F, 1.0F);
|
||||
renderItem.renderItem(stack1, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
if (!stack2.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslated(16/32D, 16/32D, 16/32D);
|
||||
//GL11.glRotated(180F, 0.0F, 1.0F, 0.0F);
|
||||
renderItem.renderItem(stack2, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
if (state.getValue(Workbench.FACING) == EnumFacing.EAST) {
|
||||
if (!stack0.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslated(1-0.28125D, 0.71875D, 0.5D);
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
//GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||
GL11.glRotated(PrimalAPI.getRandom().nextDouble(0D, 360D), 0.0D, 0.0D, 1.0D);
|
||||
}
|
||||
GL11.glTranslated(15/32D, 9/32D, 17/32D);
|
||||
GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
renderItem.renderItem(stack0, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
if (!stack1.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslated(15/32D, 9/32D, 25/32D);
|
||||
GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotated(11.25F, 0F, 0F, 1F);
|
||||
renderItem.renderItem(stack1, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
if (!stack2.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslated(16/32D, 16/32D, 16/32D);
|
||||
GL11.glRotated(90, 0.0F, 1.0F, 0.0F);
|
||||
renderItem.renderItem(stack2, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
if (state.getValue(Workbench.FACING) == EnumFacing.WEST) {
|
||||
if (!stack0.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslated(0.28125D, 0.71875D, 0.5D);
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
//GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||
GL11.glRotated(PrimalAPI.getRandom().nextDouble(0D, 360D), 0.0D, 0.0D, 1.0D);
|
||||
}
|
||||
GL11.glTranslated(17/32D, 9/32D, 15/32D);
|
||||
GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
renderItem.renderItem(stack0, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}*/
|
||||
if (!stack1.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslated(17/32D, 9/32D, 7/32D);
|
||||
GL11.glRotated(90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotated(11.25F, 0F, 0F, 1F);
|
||||
renderItem.renderItem(stack1, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
if (!stack2.isEmpty()) {
|
||||
float scale = 1.0f;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslated(16/32D, 16/32D, 16/32D);
|
||||
GL11.glRotated(-90, 0.0F, 1.0F, 0.0F);
|
||||
renderItem.renderItem(stack2, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY);
|
||||
|
||||
@@ -7,10 +7,13 @@ 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.inventory.ItemStackHelper;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import nmd.primal.core.api.PrimalAPI;
|
||||
import nmd.primal.core.common.helper.RecipeHelper;
|
||||
import nmd.primal.forgecraft.blocks.CustomContainerFacingActive;
|
||||
import nmd.primal.forgecraft.blocks.machine.RedstoneEngine;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
@@ -48,10 +51,14 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
||||
{
|
||||
BlockPos pos = tile.getPos();
|
||||
IBlockState state = this.getWorld().getBlockState(pos);
|
||||
ItemStack crank = new ItemStack(ModItems.woodcrank);
|
||||
ItemStack arm = new ItemStack(ModItems.woodpistonarm);
|
||||
ItemStack piston = new ItemStack(ModItems.woodpiston);
|
||||
ItemStack slotTool = new ItemStack(ModItems.woodfan);
|
||||
|
||||
ItemStack crank = new ItemStack(ModItems.woodcrank);
|
||||
ItemStack arm = new ItemStack(ModItems.woodpistonarm);
|
||||
ItemStack piston = new ItemStack(ModItems.woodpiston);
|
||||
|
||||
ItemStack gearbox = tile.getSlotStack(0);
|
||||
ItemStack slotTool = tile.getSlotStack(1);
|
||||
|
||||
float k = (60 - (tile.getRedstone()*2));
|
||||
|
||||
time = (int) (tile.getWorld().getTotalWorldTime() % k);
|
||||
@@ -75,14 +82,18 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
||||
float testRads = (float) Math.atan(tempY/ (tempZ+(6.5/16F)) );
|
||||
float testAngle = (float)Math.toDegrees(testRads);
|
||||
|
||||
/************************
|
||||
N O R T H
|
||||
************************/
|
||||
|
||||
if (state.getValue(CustomContainerFacingActive.FACING) == EnumFacing.NORTH) {
|
||||
/***CRANK***/
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated((11/32D), (9/32D), (7/32D));
|
||||
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||
GL11.glRotatef(360*(percentK), 1.0F, 0.0F, 0.0F);
|
||||
}
|
||||
renderItem.renderItem(crank, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glTranslated((11/32D), (9/32D), (7/32D));
|
||||
if(state.getValue(PrimalAPI.States.ACTIVE)){
|
||||
GL11.glRotatef(360*(percentK), 1.0F, 0.0F, 0.0F);
|
||||
}
|
||||
renderItem.renderItem(crank, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
/***PISTON***/
|
||||
@@ -97,29 +108,56 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
||||
/***ARM1***/
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslated((3/32D), 9/32D, 29/32D);
|
||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||
//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 ))) );
|
||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
||||
GL11.glTranslated(0, 0, tempZ);
|
||||
GL11.glTranslated((3/32D), 9/32D, 29/32D);
|
||||
if(state.getValue(PrimalAPI.States.ACTIVE)) {
|
||||
//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 ))) );
|
||||
doPistonRotations(time, k, angle, percentK, testAngle);
|
||||
GL11.glTranslated(0, 0, tempZ);
|
||||
|
||||
}
|
||||
}
|
||||
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
||||
/***GEARBOX***/
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslated(16/32D, 16/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((15/32D), 9/32D, 15/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=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), 1.0F, 0.0F, 0.0F);
|
||||
GL11.glRotatef(-360*(percentK*gearMulti), 1.0F, 0.0F, 0.0F);
|
||||
}
|
||||
renderItem.renderItem(slotTool, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
/************************
|
||||
S O U T H
|
||||
************************/
|
||||
if (state.getValue(CustomContainerFacingActive.FACING) == EnumFacing.SOUTH) {
|
||||
/***CRANK***/
|
||||
GL11.glPushMatrix();
|
||||
@@ -149,24 +187,49 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
||||
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();
|
||||
|
||||
/***TOOL SLOT***/
|
||||
/*GL11.glPushMatrix();
|
||||
GL11.glTranslated((29/32D), 9/32D, 13/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, 16/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), 9/32D, 17/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();
|
||||
@@ -201,18 +264,45 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
||||
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
/***TOOL SLOT***/
|
||||
/*GL11.glPushMatrix();
|
||||
GL11.glTranslated((29/32D), 9/32D, 13/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, 16/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((17/32D), 9/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();
|
||||
@@ -247,16 +337,41 @@ public class TileRedstoneEngineRender extends TileEntitySpecialRenderer<TileReds
|
||||
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
/***GEARBOX***/
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslated(16/32D, 16/32D, 16/32D);
|
||||
//GL11.glRotatef(180, 0F, 1F, 0.0F);
|
||||
renderItem.renderItem(gearbox, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
/***TOOL SLOT***/
|
||||
/*GL11.glPushMatrix();
|
||||
GL11.glTranslated((29/32D), 9/32D, 13/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);
|
||||
GL11.glPushMatrix();
|
||||
|
||||
float gearMulti = 1;
|
||||
|
||||
GL11.glTranslated((15/32D), 9/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;
|
||||
}
|
||||
}
|
||||
renderItem.renderItem(arm, ItemCameraTransforms.TransformType.FIXED);
|
||||
GL11.glPopMatrix();*/
|
||||
|
||||
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);
|
||||
|
||||
@@ -49,8 +49,10 @@ public class TileGearbox extends TileBaseSlot /*implements ITickable*/ {
|
||||
}
|
||||
}
|
||||
if(index == 2){
|
||||
if (RecipeHelper.isOreName(stack, "gearboxCoverPrimal")) {
|
||||
return true;
|
||||
if(this.getSlotStack(2).isEmpty()) {
|
||||
if (RecipeHelper.isOreName(stack, "gearboxCoverPrimal")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -2,29 +2,69 @@ package nmd.primal.forgecraft.tiles;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.inventory.ItemStackHelper;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.ITickable;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import nmd.primal.forgecraft.blocks.CustomContainerFacing;
|
||||
import nmd.primal.core.common.helper.RecipeHelper;
|
||||
import nmd.primal.forgecraft.items.blocks.ItemGearbox;
|
||||
import nmd.primal.forgecraft.items.enginetools.BaseEngineTool;
|
||||
|
||||
public class TileRedstoneEngine extends TileBaseSlot /*implements ITickable*/ {
|
||||
public class TileRedstoneEngine extends TileBaseSlot implements ITickable {
|
||||
|
||||
public int getRedstone() {
|
||||
return redstone;
|
||||
}
|
||||
private int redstone; // AKA power
|
||||
private int torque; // = power/speed
|
||||
private int speed; // = power/torque
|
||||
|
||||
public void setRedstone(int redstone) {
|
||||
this.redstone = redstone;
|
||||
}
|
||||
|
||||
private int redstone;
|
||||
public int getRedstone() { return redstone; }
|
||||
public void setRedstone(int redstone) { this.redstone = redstone; }
|
||||
public int getTorque() { return torque; }
|
||||
public void setTorque(int torque) { this.torque = torque; }
|
||||
public int getSpeed() { return speed; }
|
||||
public void setSpeed(int speed) { this.speed = speed; }
|
||||
|
||||
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) {
|
||||
if(index == 0 ) {
|
||||
if (this.getSlotStack(0).isEmpty() && stack.getItem() instanceof ItemGearbox) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if(index == 1){
|
||||
if(this.getSlotStack(1).isEmpty() && stack.getItem() instanceof BaseEngineTool) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// ***************************************************************************** //
|
||||
// NBT
|
||||
// ***************************************************************************** //
|
||||
@@ -33,6 +73,7 @@ public class TileRedstoneEngine extends TileBaseSlot /*implements ITickable*/ {
|
||||
{
|
||||
super.readNBT(nbt);
|
||||
this.redstone = nbt.getInteger("redstone");
|
||||
|
||||
return nbt;
|
||||
}
|
||||
|
||||
@@ -44,19 +85,6 @@ public class TileRedstoneEngine extends TileBaseSlot /*implements ITickable*/ {
|
||||
return nbt;
|
||||
}
|
||||
|
||||
/*@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();
|
||||
if(world.isBlockPowered(pos)){
|
||||
if(state.getValue(CustomContainerFacing.FACING).equals(EnumFacing.NORTH)){
|
||||
world.getEntitiesWithinAABB(Entity.class)
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -17,15 +17,15 @@ import nmd.primal.forgecraft.CommonUtils;
|
||||
import nmd.primal.forgecraft.crafting.AnvilCrafting;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.items.BaseMultiItem;
|
||||
import nmd.primal.forgecraft.items.ForgeHammer;
|
||||
import nmd.primal.forgecraft.items.SlottedTongs;
|
||||
import nmd.primal.forgecraft.items.misc.ForgeHammer;
|
||||
import nmd.primal.forgecraft.items.misc.SlottedTongs;
|
||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||
import nmd.primal.forgecraft.tiles.TileAnvil;
|
||||
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
import static nmd.primal.forgecraft.blocks.CustomContainerFacing.FACING;
|
||||
import static nmd.primal.forgecraft.items.SlottedTongs.ITEM_HANDLER;
|
||||
import static nmd.primal.forgecraft.items.misc.SlottedTongs.ITEM_HANDLER;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 6/10/17.
|
||||
|
||||
@@ -10,12 +10,12 @@ import net.minecraftforge.items.IItemHandler;
|
||||
import nmd.primal.core.common.helper.RecipeHelper;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.items.BaseMultiItem;
|
||||
import nmd.primal.forgecraft.items.SlottedTongs;
|
||||
import nmd.primal.forgecraft.items.misc.SlottedTongs;
|
||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||
import nmd.primal.forgecraft.tiles.TileForge;
|
||||
|
||||
import static nmd.primal.forgecraft.blocks.CustomContainerFacing.FACING;
|
||||
import static nmd.primal.forgecraft.items.SlottedTongs.ITEM_HANDLER;
|
||||
import static nmd.primal.forgecraft.items.misc.SlottedTongs.ITEM_HANDLER;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 9/22/18.
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"forge_marker":1,
|
||||
"defaults": {
|
||||
"textures": {
|
||||
"particle": "blocks/planks_oak",
|
||||
"texture": "blocks/planks_oak"
|
||||
},
|
||||
"parent": "forgecraft:gearbox_model"
|
||||
},
|
||||
"variants": {
|
||||
"facing=north": { "model": "forgecraft:gearbox_model", "y": 90 },
|
||||
"facing=east": { "model": "forgecraft:gearbox_model", "y": 180 },
|
||||
"facing=south": { "model": "forgecraft:gearbox_model", "y": 270 },
|
||||
"facing=west": { "model": "forgecraft:gearbox_model"}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 159 B |
Binary file not shown.
|
Before Width: | Height: | Size: 141 B |
@@ -4,126 +4,129 @@
|
||||
"particle": "blocks/e_particle",
|
||||
"texture": "blocks/e_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 7, 0, 0 ],
|
||||
"to": [ 10, 0.5, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 7, 2, 10, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 7, 0, 10, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 15.5, 9, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 15.5, 10, 16 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 15.5, 14, 16 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 15.5, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 7, 0.5, 1 ],
|
||||
"to": [ 8, 8.5, 3 ],
|
||||
"faces": {
|
||||
"south": { "uv": [ 7, 7.5, 8, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 1, 7.5, 3, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 13, 7.5, 15, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 7, 8.5, 0 ],
|
||||
"to": [ 10, 9, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 7, 2, 10, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 7, 0, 10, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7, 9, 7.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 7, 10, 7.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7, 14, 7.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 7, 16, 7.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box5",
|
||||
"from": [ 7, 0.5, 13 ],
|
||||
"to": [ 10, 8.5, 14 ],
|
||||
"faces": {
|
||||
"north": { "uv": [ 6, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 13, 7.5, 14, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 7.5, 3, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box5",
|
||||
"from": [ 7, 0.5, 0 ],
|
||||
"to": [ 10, 8.5, 1 ],
|
||||
"faces": {
|
||||
"north": { "uv": [ 6, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7.5, 1, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 15, 7.5, 16, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 7, 0.5, 4 ],
|
||||
"to": [ 8, 8.5, 7 ],
|
||||
"faces": {
|
||||
"north": { "uv": [ 8, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 4, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 9, 7.5, 12, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box9",
|
||||
"from": [ 7, 0.5, 8 ],
|
||||
"to": [ 8, 8.5, 13 ],
|
||||
"faces": {
|
||||
"west": { "uv": [ 8, 7.5, 13, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 7.5, 8, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box10",
|
||||
"from": [ 7, 0.5, 3 ],
|
||||
"to": [ 8, 4, 4 ],
|
||||
"faces": {
|
||||
"up": { "uv": [ 7, 3, 8, 4 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 3, 12, 4, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 12, 12, 13, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box12",
|
||||
"from": [ 7, 5, 3 ],
|
||||
"to": [ 8, 8.5, 4 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 7, 12, 8, 13 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 3, 7.5, 4, 11 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 12, 7.5, 13, 11 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box12",
|
||||
"from": [ 7, 0.5, 7 ],
|
||||
"to": [ 8, 8.5, 8 ],
|
||||
"faces": {
|
||||
"west": { "uv": [ 7, 7.5, 8, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 7.5, 9, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box17",
|
||||
"from": [ 8, 4, 7 ],
|
||||
"to": [ 9, 5, 8 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 8, 8, 9, 9 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 8, 7, 9, 8 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 7, 11, 8, 12 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 8, 11, 9, 12 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 11, 9, 12 ], "texture": "#texture" }
|
||||
}
|
||||
}
|
||||
],
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 7, 0, 0 ],
|
||||
"to": [ 10, 0.5, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 7, 2, 10, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 7, 0, 10, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 15.5, 9, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 15.5, 10, 16 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 15.5, 14, 16 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 15.5, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 7, 0.5, 0 ],
|
||||
"to": [ 8, 8.5, 3 ],
|
||||
"faces": {
|
||||
"north": { "uv": [ 8, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 7.5, 8, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7.5, 3, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 13, 7.5, 16, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 7, 8.5, 0 ],
|
||||
"to": [ 10, 9, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 7, 2, 10, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 7, 0, 10, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7, 9, 7.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 7, 10, 7.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7, 14, 7.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 7, 16, 7.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box5",
|
||||
"from": [ 7, 0.5, 13 ],
|
||||
"to": [ 10, 8.5, 14 ],
|
||||
"faces": {
|
||||
"north": { "uv": [ 6, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 13, 7.5, 14, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 7.5, 3, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 7, 0.5, 4 ],
|
||||
"to": [ 8, 8.5, 7 ],
|
||||
"faces": {
|
||||
"north": { "uv": [ 8, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 4, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 9, 7.5, 12, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box9",
|
||||
"from": [ 7, 0.5, 8 ],
|
||||
"to": [ 8, 8.5, 13 ],
|
||||
"faces": {
|
||||
"west": { "uv": [ 8, 7.5, 13, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 7.5, 8, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box10",
|
||||
"from": [ 7, 0.5, 3 ],
|
||||
"to": [ 8, 4, 4 ],
|
||||
"faces": {
|
||||
"up": { "uv": [ 7, 3, 8, 4 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 3, 12, 4, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 12, 12, 13, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box12",
|
||||
"from": [ 7, 5, 3 ],
|
||||
"to": [ 8, 8.5, 4 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 7, 12, 8, 13 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 3, 7.5, 4, 11 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 12, 7.5, 13, 11 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box12",
|
||||
"from": [ 7, 0.5, 7 ],
|
||||
"to": [ 8, 8.5, 8 ],
|
||||
"faces": {
|
||||
"west": { "uv": [ 7, 7.5, 8, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 7.5, 9, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box17",
|
||||
"from": [ 8, 4, 7 ],
|
||||
"to": [ 9, 5, 8 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 8, 8, 9, 9 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 8, 7, 9, 8 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 7, 11, 8, 12 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 8, 11, 9, 12 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 11, 9, 12 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box11",
|
||||
"from": [ 8, 0.5, 0 ],
|
||||
"to": [ 9.5, 8.5, 0.001 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 8, 15.999, 9.5, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 8, 0, 9.5, 0.001000404 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6.5, 7.5, 8, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 8, 7.5, 9.5, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7.5, 0.001, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 15.999, 7.5, 16, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
@@ -145,7 +148,7 @@
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [ 0, 90, 0 ],
|
||||
"scale": [ 0.5, 0.5, 0.5 ]
|
||||
"scale": [ 1, 1, 1 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,11 +8,11 @@
|
||||
{
|
||||
"__comment": "Box16",
|
||||
"from": [ 3, 0.5, 14 ],
|
||||
"to": [ 16, 9, 16 ],
|
||||
"to": [ 10, 9, 16 ],
|
||||
"faces": {
|
||||
"up": { "uv": [ 3, 14, 16, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 0, 7, 13, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 3, 7, 16, 15.5 ], "texture": "#texture", "cullface": "south" },
|
||||
"up": { "uv": [ 3, 14, 10, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7, 13, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 3, 7, 10, 15.5 ], "texture": "#texture", "cullface": "south" },
|
||||
"west": { "uv": [ 14, 7, 16, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 0, 7, 2, 15.5 ], "texture": "#texture", "cullface": "east" }
|
||||
}
|
||||
@@ -31,11 +31,12 @@
|
||||
{
|
||||
"__comment": "Box46",
|
||||
"from": [ 0, 0, 0 ],
|
||||
"to": [ 16, 0.5, 16 ],
|
||||
"to": [ 10, 0.5, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" },
|
||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 0, 15.5, 16, 16 ], "texture": "#texture", "cullface": "north" },
|
||||
"down": { "uv": [ 0, 0, 10, 16 ], "texture": "#texture", "cullface": "down" },
|
||||
"up": { "uv": [ 0, 0, 10, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 15.5, 16, 16 ], "texture": "#texture", "cullface": "north" },
|
||||
"south": { "uv": [ 0, 15.5, 10, 16 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 15.5, 16, 16 ], "texture": "#texture", "cullface": "west" },
|
||||
"east": { "uv": [ 0, 15.5, 16, 16 ], "texture": "#texture", "cullface": "east" }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
|
||||
"textures": {
|
||||
"particle": "blocks/e_particle",
|
||||
"texture": "blocks/e_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box16",
|
||||
"from": [ 3, 0.5, 14 ],
|
||||
"to": [ 10, 9, 16 ],
|
||||
"faces": {
|
||||
"up": { "uv": [ 3, 14, 10, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7, 13, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 3, 7, 10, 15.5 ], "texture": "#texture", "cullface": "south" },
|
||||
"west": { "uv": [ 14, 7, 16, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 0, 7, 2, 15.5 ], "texture": "#texture", "cullface": "east" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box75",
|
||||
"from": [ 4, 0.5, 0 ],
|
||||
"to": [ 7, 9, 14 ],
|
||||
"faces": {
|
||||
"up": { "uv": [ 4, 0, 7, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 9, 7, 12, 15.5 ], "texture": "#texture", "cullface": "north" },
|
||||
"west": { "uv": [ 0, 7, 14, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 7, 16, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box46",
|
||||
"from": [ 0, 0, 0 ],
|
||||
"to": [ 10, 0.5, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 0, 10, 16 ], "texture": "#texture", "cullface": "down" },
|
||||
"up": { "uv": [ 0, 0, 10, 16 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 15.5, 16, 16 ], "texture": "#texture", "cullface": "north" },
|
||||
"south": { "uv": [ 0, 15.5, 10, 16 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 15.5, 16, 16 ], "texture": "#texture", "cullface": "west" },
|
||||
"east": { "uv": [ 0, 15.5, 16, 16 ], "texture": "#texture", "cullface": "east" }
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [ 0, 45, 0 ],
|
||||
"scale": [ 0.4, 0.4, 0.4 ]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [ 0, 45, 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 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,76 +5,6 @@
|
||||
"texture": "blocks/e_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box22",
|
||||
"from": [ 7.5, 6, 6.5 ],
|
||||
"to": [ 8.5, 7, 11.5 ],
|
||||
"rotation": { "origin": [ 7.5, 6, 6.5 ], "axis": "x", "angle": -45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 9.5, 4.5, 10.5, 9.5 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9.5, 6.5, 10.5, 11.5 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 5.5, 9, 6.5, 10 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9.5, 9, 10.5, 10 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 6.5, 9, 11.5, 10 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 4.5, 9, 9.5, 10 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box23",
|
||||
"from": [ 7.5, 7, 7.5 ],
|
||||
"to": [ 8.5, 8, 10.5 ],
|
||||
"rotation": { "origin": [ 7.5, 6, 6.5 ], "axis": "x", "angle": -45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 9.5, 6.5, 10.5, 9.5 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9.5, 6.5, 10.5, 9.5 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 5.5, 7.585787, 6.5, 8.585787 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9.5, 7.585787, 10.5, 8.585787 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 6.5, 7.585787, 9.5, 8.585787 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 6.5, 7.585787, 9.5, 8.585787 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box24",
|
||||
"from": [ 7.5, 8, 8.5 ],
|
||||
"to": [ 8.5, 9, 9.5 ],
|
||||
"rotation": { "origin": [ 7.5, 6, 6.5 ], "axis": "x", "angle": -45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 9.5, 8.5, 10.5, 9.5 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9.5, 6.5, 10.5, 7.5 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 5.5, 6.171573, 6.5, 7.171573 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9.5, 6.171573, 10.5, 7.171573 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 6.5, 6.171573, 7.5, 7.171573 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8.5, 6.171573, 9.5, 7.171573 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box23",
|
||||
"from": [ 7.5, 5, 7.5 ],
|
||||
"to": [ 8.5, 6, 10.5 ],
|
||||
"rotation": { "origin": [ 7.5, 6, 6.5 ], "axis": "x", "angle": -45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 9.5, 5.085787, 10.5, 8.085787 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9.5, 7.914213, 10.5, 10.91421 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 5.5, 9, 6.5, 10 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9.5, 9, 10.5, 10 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 7.914213, 9, 10.91421, 10 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 5.085787, 9, 8.085787, 10 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box24",
|
||||
"from": [ 7.5, 4, 8.5 ],
|
||||
"to": [ 8.5, 5, 9.5 ],
|
||||
"rotation": { "origin": [ 7.5, 6, 6.5 ], "axis": "x", "angle": -45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 9.5, 5.671573, 10.5, 6.671573 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9.5, 9.328427, 10.5, 10.32843 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 5.5, 9.000001, 6.5, 10 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9.5, 9.000001, 10.5, 10 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 9.328427, 9.000001, 10.32843, 10 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 5.671573, 9.000001, 6.671573, 10 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box17",
|
||||
"from": [ 8.5, 7.5, 7.5 ],
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
|
||||
"textures": {
|
||||
"particle": "blocks/e_particle",
|
||||
"texture": "blocks/e_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box17",
|
||||
"from": [ 8.5, 7.5, 7.5 ],
|
||||
"to": [ 14, 8.5, 8.5 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 8.5, 7.5, 14, 8.5 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 8.5, 7.5, 14, 8.5 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 2, 7.5, 7.5, 8.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 8.5, 7.5, 14, 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": "Box9",
|
||||
"from": [ 14, 8, 8 ],
|
||||
"to": [ 16, 9, 13 ],
|
||||
"rotation": { "origin": [ 14, 8, 8 ], "axis": "z", "angle": -45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 14, 3, 16, 8 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 14, 8, 16, 13 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 0, 7, 2, 8 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 14, 7, 16, 8 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 7, 13, 8 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 7, 8, 8 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box9",
|
||||
"from": [ 14, 8, 7 ],
|
||||
"to": [ 16, 13, 8 ],
|
||||
"rotation": { "origin": [ 14, 8, 8 ], "axis": "y", "angle": -45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 2, 8, 0, 7 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 14, 7, 16, 8 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 16, 13, 14, 8 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 14, 3, 16, 8 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 7, 13, 8 ], "texture": "#texture", "rotation": 270 },
|
||||
"east": { "uv": [ 3, 7, 8, 8 ], "texture": "#texture", "rotation": 90 }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box9",
|
||||
"from": [ 14, 7, 3 ],
|
||||
"to": [ 16, 8, 8 ],
|
||||
"rotation": { "origin": [ 14, 8, 8 ], "axis": "z", "angle": 45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 14, 8, 16, 13 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 14, 3, 16, 8 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 16, 8, 14, 7 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 2, 8, 0, 7 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 7, 13, 8 ], "texture": "#texture", "rotation": 180 },
|
||||
"east": { "uv": [ 3, 7, 8, 8 ], "texture": "#texture", "rotation": 180 }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box9",
|
||||
"from": [ 14, 3, 8 ],
|
||||
"to": [ 16, 8, 9 ],
|
||||
"rotation": { "origin": [ 14, 8, 8 ], "axis": "y", "angle": 45 },
|
||||
"faces": {
|
||||
"down": { "uv": [ 14, 7, 16, 8 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 2, 8, 0, 7 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 16, 8, 14, 3 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 14, 8, 16, 13 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 7, 13, 8 ], "texture": "#texture", "rotation": 90 },
|
||||
"east": { "uv": [ 3, 7, 8, 8 ], "texture": "#texture", "rotation": 270 }
|
||||
}
|
||||
}
|
||||
],
|
||||
"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 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "forgecraft:block/gearbox_model",
|
||||
"textures": {
|
||||
"particle": "blocks/planks_oak",
|
||||
"texture": "blocks/planks_oak"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "forgecraft:item/gearbox_model_shut",
|
||||
"textures": {
|
||||
"particle": "blocks/planks_oak",
|
||||
"texture": "blocks/planks_oak"
|
||||
}
|
||||
}
|
||||
@@ -4,56 +4,56 @@
|
||||
"particle": "blocks/e_particle",
|
||||
"texture": "blocks/e_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 9, 0.5, 1 ],
|
||||
"to": [ 10, 8.5, 7 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 9, 10, 15 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 1, 10, 7 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 1, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 9, 7.5, 15, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 9, 0.5, 8 ],
|
||||
"to": [ 10, 8.5, 13 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 3, 10, 8 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 8, 10, 13 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 7.5, 13, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 7.5, 8, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box10",
|
||||
"from": [ 9, 0.5, 7 ],
|
||||
"to": [ 10, 4, 8 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 8, 10, 9 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 7, 10, 8 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 7, 12, 8, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 12, 9, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box10",
|
||||
"from": [ 9, 5, 7 ],
|
||||
"to": [ 10, 8.5, 8 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 8, 10, 9 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 7, 10, 8 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 7, 7.5, 8, 11 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 7.5, 9, 11 ], "texture": "#texture" }
|
||||
}
|
||||
}
|
||||
],
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 9, 0.5, 0 ],
|
||||
"to": [ 10, 8.5, 7 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 9, 10, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 0, 10, 7 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 9, 7.5, 16, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 9, 0.5, 8 ],
|
||||
"to": [ 10, 8.5, 13 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 3, 10, 8 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 8, 10, 13 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 7.5, 13, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 7.5, 8, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box10",
|
||||
"from": [ 9, 0.5, 7 ],
|
||||
"to": [ 10, 4, 8 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 8, 10, 9 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 7, 10, 8 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 7, 12, 8, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 12, 9, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box10",
|
||||
"from": [ 9, 5, 7 ],
|
||||
"to": [ 10, 8.5, 8 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 8, 10, 9 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 7, 10, 8 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 7, 7.5, 8, 11 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 7.5, 9, 11 ], "texture": "#texture" }
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"translation": [ 0, 4, 0.5 ],
|
||||
@@ -81,7 +81,7 @@
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [ 0, 90, 0 ],
|
||||
"scale": [ 0.5, 0.5, 0.5 ]
|
||||
"scale": [ 1, 1, 1 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,206 @@
|
||||
{
|
||||
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
|
||||
"textures": {
|
||||
"particle": "blocks/e_particle",
|
||||
"texture": "blocks/e_texture"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 7, 0, 0 ],
|
||||
"to": [ 10, 0.5, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 7, 2, 10, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 7, 0, 10, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 15.5, 9, 16 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 15.5, 10, 16 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 15.5, 14, 16 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 15.5, 16, 16 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 7, 0.5, 0 ],
|
||||
"to": [ 8, 8.5, 3 ],
|
||||
"faces": {
|
||||
"north": { "uv": [ 8, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 7.5, 8, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7.5, 3, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 13, 7.5, 16, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 7, 8.5, 0 ],
|
||||
"to": [ 10, 9, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 7, 2, 10, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 7, 0, 10, 14 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7, 9, 7.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 7, 10, 7.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7, 14, 7.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 7, 16, 7.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box5",
|
||||
"from": [ 7, 0.5, 13 ],
|
||||
"to": [ 10, 8.5, 14 ],
|
||||
"faces": {
|
||||
"north": { "uv": [ 6, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 7, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 13, 7.5, 14, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 2, 7.5, 3, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box2",
|
||||
"from": [ 7, 0.5, 4 ],
|
||||
"to": [ 8, 8.5, 7 ],
|
||||
"faces": {
|
||||
"north": { "uv": [ 8, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 4, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 9, 7.5, 12, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box9",
|
||||
"from": [ 7, 0.5, 8 ],
|
||||
"to": [ 8, 8.5, 13 ],
|
||||
"faces": {
|
||||
"west": { "uv": [ 8, 7.5, 13, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 7.5, 8, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box10",
|
||||
"from": [ 7, 0.5, 3 ],
|
||||
"to": [ 8, 4, 4 ],
|
||||
"faces": {
|
||||
"up": { "uv": [ 7, 3, 8, 4 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 3, 12, 4, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 12, 12, 13, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box12",
|
||||
"from": [ 7, 5, 3 ],
|
||||
"to": [ 8, 8.5, 4 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 7, 12, 8, 13 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 3, 7.5, 4, 11 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 12, 7.5, 13, 11 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box12",
|
||||
"from": [ 7, 0.5, 7 ],
|
||||
"to": [ 8, 8.5, 8 ],
|
||||
"faces": {
|
||||
"west": { "uv": [ 7, 7.5, 8, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 7.5, 9, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box17",
|
||||
"from": [ 8, 4, 7 ],
|
||||
"to": [ 9, 5, 8 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 8, 8, 9, 9 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 8, 7, 9, 8 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 7, 11, 8, 12 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 8, 11, 9, 12 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 11, 9, 12 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box12",
|
||||
"from": [ 8, 0.5, 0 ],
|
||||
"to": [ 9, 8.5, 0.001 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 8, 15.999, 9, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 8, 0, 9, 0.001000404 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 7, 7.5, 8, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 8, 7.5, 9, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7.5, 0.001, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 15.999, 7.5, 16, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box13",
|
||||
"from": [ 9, 0.5, 0 ],
|
||||
"to": [ 10, 8.5, 7 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 9, 10, 16 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 0, 10, 7 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 0, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 9, 7.5, 16, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box14",
|
||||
"from": [ 9, 0.5, 8 ],
|
||||
"to": [ 10, 8.5, 13 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 3, 10, 8 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 8, 10, 13 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7.5, 7, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9, 7.5, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 8, 7.5, 13, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 3, 7.5, 8, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box15",
|
||||
"from": [ 9, 0.5, 7 ],
|
||||
"to": [ 10, 4, 8 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 8, 10, 9 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 7, 10, 8 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 12, 7, 15.5 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9, 12, 10, 15.5 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 7, 12, 8, 15.5 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 12, 9, 15.5 ], "texture": "#texture" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box15",
|
||||
"from": [ 9, 5, 7 ],
|
||||
"to": [ 10, 8.5, 8 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 9, 8, 10, 9 ], "texture": "#texture" },
|
||||
"up": { "uv": [ 9, 7, 10, 8 ], "texture": "#texture" },
|
||||
"north": { "uv": [ 6, 7.5, 7, 11 ], "texture": "#texture" },
|
||||
"south": { "uv": [ 9, 7.5, 10, 11 ], "texture": "#texture" },
|
||||
"west": { "uv": [ 7, 7.5, 8, 11 ], "texture": "#texture" },
|
||||
"east": { "uv": [ 8, 7.5, 9, 11 ], "texture": "#texture" }
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [ 75, 45, 0 ],
|
||||
"translation": [ 0, 1, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"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": [ 0, 90, 0 ],
|
||||
"scale": [ 1, 1, 1 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"parent": "forgecraft:block/gearbox_model",
|
||||
"textures": {
|
||||
"particle": "blocks/planks_oak",
|
||||
"texture": "blocks/planks_oak"
|
||||
},
|
||||
"overrides": [
|
||||
{"predicate": {"type": 0.0},"model": "forgecraft:item/gearbox/wooden0"},
|
||||
{"predicate": {"type": 0.1},"model": "forgecraft:item/gearbox/wooden1"}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"forge_marker":1,
|
||||
"textures": {
|
||||
"particle": "blocks/planks_oak",
|
||||
"texture": "blocks/planks_oak"
|
||||
},
|
||||
"parent": "forgecraft:item/gearbox_case_cover"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"forge_marker":1,
|
||||
"textures": {
|
||||
"particle": "primal:blocks/lacquer/planks_lacquer_normal",
|
||||
"texture": "primal:blocks/lacquer/planks_lacquer_normal"
|
||||
},
|
||||
"parent": "forgecraft:item/gear_large_model"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"forge_marker":1,
|
||||
"textures": {
|
||||
"particle": "primal:blocks/lacquer/planks_lacquer_normal",
|
||||
"texture": "primal:blocks/lacquer/planks_lacquer_normal"
|
||||
},
|
||||
"parent": "forgecraft:item/gear_medium_model"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"forge_marker":1,
|
||||
"textures": {
|
||||
"particle": "primal:blocks/lacquer/planks_lacquer_normal",
|
||||
"texture": "primal:blocks/lacquer/planks_lacquer_normal"
|
||||
},
|
||||
"parent": "forgecraft:item/gear_small_model"
|
||||
}
|
||||
Reference in New Issue
Block a user