redstone engines work, gearboxes work, creating tools as well as torque and speed calculations

This commit is contained in:
Mohammad-Ali Minaie
2018-11-12 17:22:33 -05:00
parent 3191711b09
commit 5369a9fef1
45 changed files with 1256 additions and 478 deletions

View File

@@ -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--

View File

@@ -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.

View File

@@ -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.

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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;
}
}
}

View File

@@ -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.

View File

@@ -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);

View File

@@ -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);
/**********

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}
}
}

View File

@@ -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;}
}

View File

@@ -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){
}
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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)
}
}
}
}*/
}

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -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 ]
}
}
}

View File

@@ -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" }
}

View File

@@ -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 ]
}
}
}

View File

@@ -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 ],

View File

@@ -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 ]
}
}
}

View File

@@ -0,0 +1,7 @@
{
"parent": "forgecraft:block/gearbox_model",
"textures": {
"particle": "blocks/planks_oak",
"texture": "blocks/planks_oak"
}
}

View File

@@ -0,0 +1,7 @@
{
"parent": "forgecraft:item/gearbox_model_shut",
"textures": {
"particle": "blocks/planks_oak",
"texture": "blocks/planks_oak"
}
}

View File

@@ -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 ]
}
}
}

View File

@@ -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 ]
}
}
}

View File

@@ -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"}
]
}

View File

@@ -0,0 +1,8 @@
{
"forge_marker":1,
"textures": {
"particle": "blocks/planks_oak",
"texture": "blocks/planks_oak"
},
"parent": "forgecraft:item/gearbox_case_cover"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}