diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index 252bd22b..bc976239 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -54,6 +54,10 @@ ### Tid-Bits NonNullList tempDrops = NonNullList.create(); ItemStack iron_gear = RecipeHelper.getFirstDictionaryMatch("gearIron", 1); +public List tagList = Lists.newArrayList(); +NonNullList renderList = NonNullList.create(); +NBTTagList tagList = stack.getSubCompound("BlockEntityTag").getTagList("Items", 10); +NBTTagEnd endList = new NBTTagEnd(); ``` sed -i -- 's/iron/steel/g' * rm *.json-- diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/BloomeryBase.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/BloomeryBase.java index 62479599..22806889 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/BloomeryBase.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/BloomeryBase.java @@ -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. diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java index 287cfabd..0bb032e0 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java @@ -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. diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/RedstoneEngine.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/RedstoneEngine.java index b6e05cb1..ff17ac95 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/RedstoneEngine.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/RedstoneEngine.java @@ -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) { diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/Chisel.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/Chisel.java index 0971b1e9..0ae0c146 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/Chisel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/Chisel.java @@ -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; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/Gearbox.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/Gearbox.java index a9fefe3a..c9a11050 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/Gearbox.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/Gearbox.java @@ -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; + } } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/NBTCrucible.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/NBTCrucible.java index 273a339a..c29f9440 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/NBTCrucible.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/misc/NBTCrucible.java @@ -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. diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModDictionary.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModDictionary.java index 34246f3c..41203b73 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModDictionary.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModDictionary.java @@ -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); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java index ed70060a..8a7437ef 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java @@ -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); /********** diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/blocks/AbstractItemBlock.java b/kfc/src/main/java/nmd/primal/forgecraft/items/blocks/AbstractItemBlock.java deleted file mode 100644 index 7d8b72df..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/blocks/AbstractItemBlock.java +++ /dev/null @@ -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; - } -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/blocks/DefaultItemBlock.java b/kfc/src/main/java/nmd/primal/forgecraft/items/blocks/DefaultItemBlock.java new file mode 100644 index 00000000..ebd1d4cd --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/blocks/DefaultItemBlock.java @@ -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); + + } +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/blocks/ItemGearbox.java b/kfc/src/main/java/nmd/primal/forgecraft/items/blocks/ItemGearbox.java new file mode 100644 index 00000000..3639c527 --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/blocks/ItemGearbox.java @@ -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 renderList = NonNullList.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 list = NonNullList.withSize(3, ItemStack.EMPTY); + item.getOrCreateSubCompound("BlockEntityTag"); + ItemStackHelper.saveAllItems(item.getSubCompound("BlockEntityTag"), list, true); + } + } + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/enginetools/BaseEngineTool.java b/kfc/src/main/java/nmd/primal/forgecraft/items/enginetools/BaseEngineTool.java new file mode 100644 index 00000000..d3829c57 --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/enginetools/BaseEngineTool.java @@ -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;} + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/enginetools/EngineToolFan.java b/kfc/src/main/java/nmd/primal/forgecraft/items/enginetools/EngineToolFan.java new file mode 100644 index 00000000..a5f06a06 --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/enginetools/EngineToolFan.java @@ -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){ + + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/ForgeHammer.java b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ForgeHammer.java similarity index 92% rename from kfc/src/main/java/nmd/primal/forgecraft/items/ForgeHammer.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/misc/ForgeHammer.java index fdeaf523..223dcf96 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/ForgeHammer.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ForgeHammer.java @@ -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; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/ItemCrucible.java b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemCrucible.java similarity index 97% rename from kfc/src/main/java/nmd/primal/forgecraft/items/ItemCrucible.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemCrucible.java index 65fb6e0e..6fe5e155 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/ItemCrucible.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemCrucible.java @@ -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; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/ItemForgingManual.java b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemForgingManual.java similarity index 91% rename from kfc/src/main/java/nmd/primal/forgecraft/items/ItemForgingManual.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemForgingManual.java index 16347789..7463a2f8 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/ItemForgingManual.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemForgingManual.java @@ -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. diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/ItemSoftCrucible.java b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemSoftCrucible.java similarity index 65% rename from kfc/src/main/java/nmd/primal/forgecraft/items/ItemSoftCrucible.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemSoftCrucible.java index ddf01d46..0417aa21 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/ItemSoftCrucible.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemSoftCrucible.java @@ -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. diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/ItemTest.java b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemTest.java similarity index 63% rename from kfc/src/main/java/nmd/primal/forgecraft/items/ItemTest.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemTest.java index 9a539c35..c4bcd2a0 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/ItemTest.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/ItemTest.java @@ -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. diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/SledgeHammer.java b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/SledgeHammer.java similarity index 99% rename from kfc/src/main/java/nmd/primal/forgecraft/items/SledgeHammer.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/misc/SledgeHammer.java index d22ce8ec..746f5ef9 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/SledgeHammer.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/SledgeHammer.java @@ -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; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/SlottedTongs.java b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/SlottedTongs.java similarity index 99% rename from kfc/src/main/java/nmd/primal/forgecraft/items/SlottedTongs.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/misc/SlottedTongs.java index 666b10e2..6e688d93 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/SlottedTongs.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/SlottedTongs.java @@ -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; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/Workblade.java b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/Workblade.java similarity index 89% rename from kfc/src/main/java/nmd/primal/forgecraft/items/Workblade.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/misc/Workblade.java index 4a20ecda..10db18c2 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/Workblade.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/misc/Workblade.java @@ -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; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileGearboxRender.java b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileGearboxRender.java index 4f19dca3..c1457bcc 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileGearboxRender.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileGearboxRender.java @@ -43,68 +43,137 @@ public class TileGearboxRender extends TileEntitySpecialRenderer 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); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileRedstoneEngineRender.java b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileRedstoneEngineRender.java index 3e00b9ac..e7cd6c2d 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileRedstoneEngineRender.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileRedstoneEngineRender.java @@ -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 gearList = NonNullList.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 gearList = NonNullList.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 gearList = NonNullList.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 gearList = NonNullList.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); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileGearbox.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileGearbox.java index 86331471..4fad5b9c 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileGearbox.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileGearbox.java @@ -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; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileRedstoneEngine.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileRedstoneEngine.java index 7c660c9a..02531858 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileRedstoneEngine.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileRedstoneEngine.java @@ -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 renderList = NonNullList.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) - } - } - } - }*/ + } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java index 164237ee..d13ce608 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java @@ -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. diff --git a/kfc/src/main/java/nmd/primal/forgecraft/util/ForgeHandler.java b/kfc/src/main/java/nmd/primal/forgecraft/util/ForgeHandler.java index 50e7b48a..0fc8e423 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/ForgeHandler.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/util/ForgeHandler.java @@ -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. diff --git a/kfc/src/main/resources/assets/forgecraft/blockstates/woodengearbox.json b/kfc/src/main/resources/assets/forgecraft/blockstates/woodengearbox.json new file mode 100644 index 00000000..e39f10b7 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/blockstates/woodengearbox.json @@ -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"} + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/block/e_particle.png b/kfc/src/main/resources/assets/forgecraft/models/block/e_particle.png deleted file mode 100644 index e557878f..00000000 Binary files a/kfc/src/main/resources/assets/forgecraft/models/block/e_particle.png and /dev/null differ diff --git a/kfc/src/main/resources/assets/forgecraft/models/block/e_texture.png b/kfc/src/main/resources/assets/forgecraft/models/block/e_texture.png deleted file mode 100644 index 7291f2ea..00000000 Binary files a/kfc/src/main/resources/assets/forgecraft/models/block/e_texture.png and /dev/null differ diff --git a/kfc/src/main/resources/assets/forgecraft/models/block/gearbox_model.json b/kfc/src/main/resources/assets/forgecraft/models/block/gearbox_model.json index 287d8a83..b735e2b2 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/block/gearbox_model.json +++ b/kfc/src/main/resources/assets/forgecraft/models/block/gearbox_model.json @@ -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 ] } } } \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/block/redstone_bellows_model.json b/kfc/src/main/resources/assets/forgecraft/models/block/redstone_bellows_model.json index 59d85768..a116ee9c 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/block/redstone_bellows_model.json +++ b/kfc/src/main/resources/assets/forgecraft/models/block/redstone_bellows_model.json @@ -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" } } diff --git a/kfc/src/main/resources/assets/forgecraft/models/block/redstone_bellows_model2.json b/kfc/src/main/resources/assets/forgecraft/models/block/redstone_bellows_model2.json new file mode 100644 index 00000000..a0af8c3f --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/block/redstone_bellows_model2.json @@ -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 ] + } + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/fan_model.json b/kfc/src/main/resources/assets/forgecraft/models/item/fan_model.json index 3fc860cd..37567eae 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/fan_model.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/fan_model.json @@ -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 ], diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/fan_model2.json b/kfc/src/main/resources/assets/forgecraft/models/item/fan_model2.json new file mode 100644 index 00000000..e10670e2 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/fan_model2.json @@ -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 ] + } + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/gearbox/wooden0.json b/kfc/src/main/resources/assets/forgecraft/models/item/gearbox/wooden0.json new file mode 100644 index 00000000..0a5e4df9 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/gearbox/wooden0.json @@ -0,0 +1,7 @@ +{ + "parent": "forgecraft:block/gearbox_model", + "textures": { + "particle": "blocks/planks_oak", + "texture": "blocks/planks_oak" + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/gearbox/wooden1.json b/kfc/src/main/resources/assets/forgecraft/models/item/gearbox/wooden1.json new file mode 100644 index 00000000..0ac0fdf2 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/gearbox/wooden1.json @@ -0,0 +1,7 @@ +{ + "parent": "forgecraft:item/gearbox_model_shut", + "textures": { + "particle": "blocks/planks_oak", + "texture": "blocks/planks_oak" + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/gearbox_case_cover.json b/kfc/src/main/resources/assets/forgecraft/models/item/gearbox_case_cover.json index 86720ca5..1378c34a 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/gearbox_case_cover.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/gearbox_case_cover.json @@ -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 ] } } } \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/gearbox_model_shut.json b/kfc/src/main/resources/assets/forgecraft/models/item/gearbox_model_shut.json new file mode 100644 index 00000000..07b34022 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/gearbox_model_shut.json @@ -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 ] + } + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/woodengearbox.json b/kfc/src/main/resources/assets/forgecraft/models/item/woodengearbox.json new file mode 100644 index 00000000..03a91f66 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/woodengearbox.json @@ -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"} + ] +} + diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/woodengearboxcasecover.json b/kfc/src/main/resources/assets/forgecraft/models/item/woodengearboxcasecover.json new file mode 100644 index 00000000..a70977ac --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/woodengearboxcasecover.json @@ -0,0 +1,8 @@ +{ + "forge_marker":1, + "textures": { + "particle": "blocks/planks_oak", + "texture": "blocks/planks_oak" + }, + "parent": "forgecraft:item/gearbox_case_cover" +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/woodenlargegear.json b/kfc/src/main/resources/assets/forgecraft/models/item/woodenlargegear.json new file mode 100644 index 00000000..09c24746 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/woodenlargegear.json @@ -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" +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/woodenmediumgear.json b/kfc/src/main/resources/assets/forgecraft/models/item/woodenmediumgear.json new file mode 100644 index 00000000..6219a1a9 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/woodenmediumgear.json @@ -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" +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/woodensmallgear.json b/kfc/src/main/resources/assets/forgecraft/models/item/woodensmallgear.json new file mode 100644 index 00000000..20c5b326 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/woodensmallgear.json @@ -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" +} \ No newline at end of file