diff --git a/1.11/To-Dos b/1.11/To-Dos index 5266ce0d..379322e2 100644 --- a/1.11/To-Dos +++ b/1.11/To-Dos @@ -3,15 +3,16 @@ To-Dos *** Priority *** - [ ] Allow redstone, lapis, and shards in the anvil -- [ ] Fix renderings in the anvil +- [ ] Fix renderings in the Anvil +- [ ] Fix Renderings in the Forge - [ ] Create toolHead Item - [ ] Give toolHead item NBT - [x] Create pickaxehead Item - - [ ] Create pickaxehead SubNBTs + - [x] Create pickaxehead SubNBTs - [ ] Create Forging Recipe for toolHeads - [ ] Create Anvil recipe for toolHeads -- [ ] Create Slot for Firebox to accept toolheads +- [ ] Create Slot for Forge to accept toolheads in slot 4 - [ ] Add forgehammer to oreDict diff --git a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Forge.java b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Forge.java index 242a17ab..6b7e7f76 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Forge.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Forge.java @@ -26,8 +26,12 @@ import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; //import nmd.primal.core.api.PrimalBlocks; +import nmd.primal.core.api.PrimalItems; import nmd.primal.forgecraft.CommonUtils; import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.init.ModBlocks; +import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.items.toolparts.ToolPart; import nmd.primal.forgecraft.tiles.TileForge; import javax.annotation.Nullable; @@ -78,15 +82,31 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/ TileForge tile = (TileForge) world.getTileEntity(pos); if (tile != null) { ItemStack pItem = player.inventory.getCurrentItem(); - ItemStack tileItem = tile.getSlotStack(0); + ItemStack fuelItem = tile.getSlotStack(0); + /* + System.out.println(tile.getSlotStack(0)); + System.out.println(tile.getSlotStack(1)); + System.out.println(tile.getSlotStack(2)); + System.out.println(tile.getSlotStack(3)); + System.out.println(tile.getSlotStack(4)); + System.out.println(tile.getSlotStack(5)); + System.out.println(tile.getSlotStack(6)); + */ + + /*********************** + FUEL SLOT CODE + ***********************/ if(pItem.isEmpty()) { if (player.isSneaking()) { - if (!tileItem.isEmpty()) { - CommonUtils.spawnItemEntity(world, player, tile.getSlotStack(0)); - tile.setSlotStack(0, ItemStack.EMPTY); - tile.markDirty(); - tile.updateBlock(); - return true; + if (!fuelItem.isEmpty()) { + if(facing == EnumFacing.NORTH || facing == EnumFacing.SOUTH || facing == EnumFacing.EAST || facing == EnumFacing.WEST ) { + //System.out.println(); + CommonUtils.spawnItemEntity(world, player, tile.getSlotStack(0)); + tile.setSlotStack(0, ItemStack.EMPTY); + tile.markDirty(); + tile.updateBlock(); + return true; + } } } if(!player.isSneaking()){ @@ -100,7 +120,7 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/ } } } - if((pItem.getItem() == Items.FLINT_AND_STEEL) /*|| (pItem.getItem() == PrimalItems.FIRE_BOW)*/ || pItem.getItem() == Item.getItemFromBlock(Blocks.TORCH)) { + if((pItem.getItem() == Items.FLINT_AND_STEEL) || (pItem.getItem() == PrimalItems.FIRE_BOW) || pItem.getItem() == Item.getItemFromBlock(Blocks.TORCH)) { world.setBlockState(pos, state.withProperty(ACTIVE, true), 2); tile.setHeat(100); tile.markDirty(); @@ -108,19 +128,19 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/ return true; } if((!pItem.isEmpty()) && tile.isItemValidForSlot(0, pItem)) { - if (!tileItem.isEmpty()){ - if(pItem.getItem() == tileItem.getItem()){ - if(tileItem.getCount() < 64){ - if(tileItem.getCount() + pItem.getCount() <= 64){ - tileItem.grow(pItem.getCount()); + if (!fuelItem.isEmpty()){ + if(pItem.getItem() == fuelItem.getItem()){ + if(fuelItem.getCount() < 64){ + if(fuelItem.getCount() + pItem.getCount() <= 64){ + fuelItem.grow(pItem.getCount()); player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY); tile.markDirty(); tile.updateBlock(); return true; } - if(tileItem.getCount() + pItem.getCount() > 64){ + if(fuelItem.getCount() + pItem.getCount() > 64){ pItem.setCount(64-pItem.getCount()); - tileItem.setCount(64); + fuelItem.setCount(64); tile.markDirty(); tile.updateBlock(); return true; @@ -128,12 +148,95 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/ } } } - if(tileItem.isEmpty()) { + if(fuelItem.isEmpty()) { tile.setSlotStack(0, pItem); player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY); return true; } } + /*********************** + FORGING SLOTS CODE + ***********************/ + //REMOVE COOL INGOT + if(facing == EnumFacing.UP ) { + if (pItem.isEmpty()) { + for (int i = 2; i < tile.getSlotListSize(); i++) { + System.out.println(i); + if (!tile.getSlotStack(i).isEmpty()) { + if (tile.getSlotStack(i).getItem().equals(new ItemStack(ModBlocks.ironchunk).getItem())) { + CommonUtils.spawnItemEntity(world, player, tile.getSlotStack(i)); + tile.setSlotStack(i, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(i).getItem().equals(new ItemStack(ModBlocks.ironball).getItem())) { + CommonUtils.spawnItemEntity(world, player, tile.getSlotStack(i)); + tile.setSlotStack(i, ItemStack.EMPTY); + return true; + } + if(tile.getSlotStack(i).hasTagCompound() == true){ + if (tile.getSlotStack(i).getTagCompound().getBoolean("hot") == false) { + CommonUtils.spawnItemEntity(world, player, tile.getSlotStack(i)); + tile.setSlotStack(i, ItemStack.EMPTY); + return true; + } + } + + } + } + } + + + if (pItem.getItem().equals(new ItemStack(ModBlocks.ironchunk).getItem())) { + //System.out.println("Activating"); + for (int i = 2; i <= tile.getSlotListSize(); i++) { + if (tile.getSlotStack(i).isEmpty()) { + tile.setSlotStack(i, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; + } + } + } + if (pItem.getItem().equals(new ItemStack(ModBlocks.ironball).getItem())) { + for (int i = 2; i < tile.getSlotListSize(); i++) { + if (tile.getSlotStack(i).isEmpty()) { + tile.setSlotStack(i, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; + } + } + } + + + if (pItem.getItem().equals(ModItems.stonetongs)) { + if (pItem.getTagCompound().getInteger("type") == 0) { + for (int i = 2; i < tile.getSlotListSize(); i++) { + if (tile.getSlotStack(i).getItem().equals(ModItems.ironchunkhot)) { + tile.setSlotStack(i, ItemStack.EMPTY); + pItem.getTagCompound().setInteger("type", 7); + return true; + } + if (tile.getSlotStack(i).getItem().equals(ModItems.ironingotballhot)) { + tile.setSlotStack(i, ItemStack.EMPTY); + pItem.getTagCompound().setInteger("type", 6); + return true; + } + /* + To-Do + Insert StoneTongs Code for ToolPart Hot + */ + } + } + } + + if(pItem.getItem() instanceof ToolPart){ + if(tile.getSlotStack(4).isEmpty()){ + tile.setSlotStack(4, pItem); + pItem.shrink(1); + return true; + } + } + + } } } return false; diff --git a/1.11/src/main/java/nmd/primal/forgecraft/crafting/ForgeCrafting.java b/1.11/src/main/java/nmd/primal/forgecraft/crafting/ForgeCrafting.java index ec0619c3..ecf2d194 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/crafting/ForgeCrafting.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/crafting/ForgeCrafting.java @@ -2,6 +2,7 @@ package nmd.primal.forgecraft.crafting; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import java.util.ArrayList; @@ -16,24 +17,18 @@ public class ForgeCrafting { // ***************************************************************************** // private static ArrayList forgeRecipes = new ArrayList<>(); - private Block input; - private IBlockState start_state; - private IBlockState end_state; - private ItemStack output_failed; - private IBlockState cool_state; + private Item input; + private Item output; private int heat_threshold; private int ideal_time; private int cooldown; - public ForgeCrafting(Block input, IBlockState startState, IBlockState endState, ItemStack output_failed, IBlockState coolState, int heat_threshold, int ideal_time, int cooldown, float heat_variance, float time_variance) + public ForgeCrafting(Item input, Item output, int heat_threshold, int ideal_time, int cooldown, float heat_variance, float time_variance) { this.input = input; - this.start_state = startState; - this.end_state = endState; - this.output_failed = output_failed; - this.cool_state = coolState; + this.output = output; this.heat_threshold = heat_threshold; this.ideal_time = ideal_time; this.cooldown = cooldown; @@ -43,77 +38,44 @@ public class ForgeCrafting { // ***************************************************************************** // // Recipe Methods // ***************************************************************************** // - public static void addRecipe(Block input, IBlockState startState, IBlockState endState, ItemStack output_failed, IBlockState coolState, int heat_threshold, int ideal_time, int cooldown, float heat_variance, float time_variance) + public static void addRecipe(Item input, Item output, int heat_threshold, int ideal_time, int cooldown, float heat_variance, float time_variance) { - forgeRecipes.add(new ForgeCrafting(input, startState, endState, output_failed, coolState, heat_threshold, ideal_time, cooldown, heat_variance, time_variance)); + forgeRecipes.add(new ForgeCrafting(input, output, heat_threshold, ideal_time, cooldown, heat_variance, time_variance)); } - public static boolean isRecipeItem(Block block) + public static boolean isRecipeItem(Item item) { for(ForgeCrafting recipe : forgeRecipes) { - if (block.equals(recipe.input)) + if (item.equals(recipe.input)) return true; } return false; } - public static boolean isOutputState(IBlockState state) + public static ForgeCrafting getRecipe(Item item) { for(ForgeCrafting recipe : forgeRecipes) { - if (state.equals(recipe.end_state)) - return true; - } - return false; - } - - public static boolean isCoolState(IBlockState coolState) - { - for(ForgeCrafting recipe : forgeRecipes) { - if (coolState.equals(recipe.cool_state)) - return true; - } - return false; - } - - public static ForgeCrafting getRecipe(Block block) - { - for(ForgeCrafting recipe : forgeRecipes) { - if (block.equals(recipe.input)) + if (item.equals(recipe.input)) return recipe; } return null; } - public static ForgeCrafting getRecipeFromOutput(Block block, IBlockState state) + public static ForgeCrafting getRecipeFromOutput(Item item) { for(ForgeCrafting recipe : forgeRecipes) { - if (block.equals(recipe.input) && state.equals(recipe.end_state)) + if (item.equals(recipe.output)) return recipe; } return null; } - public Block getInput() + public Item getInput() { return this.input; } - public IBlockState getStartState() {return this.start_state;} - - public IBlockState getOutput() - { - return this.end_state; - } - - public ItemStack getOutputFailed() - { - return this.output_failed; - } - - public IBlockState getCoolOutput() - { - return this.cool_state; - } + public Item getOutput() {return this.output; } public int getHeatThreshold() { diff --git a/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java b/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java index 2381223f..790480f5 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -143,11 +143,8 @@ public class ModCrafting { //Makes a Hot Iron Ingot ForgeCrafting.addRecipe( - ModBlocks.ironball, - ModBlocks.ironball.getDefaultState().withProperty(IngotBall.ACTIVE, false), - ModBlocks.ironball.getDefaultState().withProperty(IngotBall.ACTIVE, true), - new ItemStack(ModBlocks.ironball, 1), - ModBlocks.ironball.getDefaultState().withProperty(IngotBall.ACTIVE, false), + Item.getItemFromBlock(ModBlocks.ironball), + ModItems.ironingotballhot, 800, 200, 500, @@ -157,13 +154,10 @@ public class ModCrafting { //Makes a Hot Iron Chunk ForgeCrafting.addRecipe( - ModBlocks.ironchunk, - ModBlocks.ironchunk.getDefaultState().withProperty(IngotBall.ACTIVE, false), - ModBlocks.ironchunk.getDefaultState().withProperty(IngotBall.ACTIVE, true), - new ItemStack(ModBlocks.ironchunk, 1), - ModBlocks.ironchunk.getDefaultState().withProperty(IngotBall.ACTIVE, false), + Item.getItemFromBlock(ModBlocks.ironchunk), + ModItems.ironchunkhot, 800, - 170, + 160, 400, 1.0f, 1.0f diff --git a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java index dfb2fbd9..2aebdc74 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java @@ -5,6 +5,7 @@ import net.minecraft.block.BlockFurnace; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntityFurnace; @@ -24,12 +25,12 @@ import static nmd.primal.forgecraft.CommonUtils.getVanillaItemBurnTime; */ public class TileForge extends TileBaseSlot implements ITickable { - private NonNullList slotList = NonNullList.withSize(1, ItemStack.EMPTY); + private NonNullList slotList = NonNullList.withSize(7, ItemStack.EMPTY); //private ItemStack[] inventory = new ItemStack [0]; //private String customName; private int iteration = 0; private int heat; - private int cookCounter; + private int cookCounter2, cookCounter3, cookCounter4, cookCounter5, cookCounter6; @Override public void update () { @@ -40,6 +41,7 @@ public class TileForge extends TileBaseSlot implements ITickable { BlockPos abovePos = new BlockPos(this.getPos().getX(), this.getPos().getY()+1, this.getPos().getZ()); IBlockState aboveState = world.getBlockState(abovePos); Block block = world.getBlockState(abovePos).getBlock(); + if(this.iteration == 300 ) { this.iteration = 0; @@ -60,25 +62,11 @@ public class TileForge extends TileBaseSlot implements ITickable { this.markDirty(); this.updateBlock(); } - this.furnaceManager(abovePos); } } this.heatManager(this.getHeat(), state, this.getSlotStack(0), world, pos); } - craftingManager(block, world, abovePos, aboveState); - } - } - - private void furnaceManager(BlockPos abovePos){ - if(world.getBlockState(abovePos).getBlock() instanceof BlockFurnace){ - TileEntityFurnace tileFurnace = (TileEntityFurnace) world.getTileEntity(abovePos); - if(world.getBlockState(abovePos).getBlock() == Blocks.LIT_FURNACE){ - tileFurnace.setField(0,1000); - } - if(world.getBlockState(abovePos).getBlock() == Blocks.FURNACE){ - BlockFurnace.setState(true, world, abovePos); - tileFurnace.setField(0,1000); - } + craftingManager(); } } @@ -109,72 +97,83 @@ public class TileForge extends TileBaseSlot implements ITickable { } - private void craftingManager(Block block, World world, BlockPos pos, IBlockState state){ - ForgeCrafting recipe = ForgeCrafting.getRecipe(block); - if(recipe != null){ - if(this.getHeat() >= recipe.getHeatThreshold() && recipe.getStartState().equals(state) ){ - cookCounter++; - } - if(this.getHeat() < recipe.getHeatThreshold() && cookCounter > 0){ - cookCounter--; - } - if(cookCounter >= recipe.getIdealTime() ){ - world.setBlockState(pos, recipe.getOutput(), 3); - cookCounter = 0; - } + private void craftingManager() { + + for (int i = 2; i < this.getSlotListSize(); i++) { + Item itemTest = this.getSlotStack(i).getItem(); + ForgeCrafting recipe = ForgeCrafting.getRecipe(itemTest); + if (recipe != null) { + + if(i == 2){ + if (this.getHeat() >= recipe.getHeatThreshold()) { + cookCounter2++; + } + if (this.getHeat() < recipe.getHeatThreshold() && cookCounter2 > 0) { + cookCounter2--; + } + if (cookCounter2 >= recipe.getIdealTime()) { + this.setSlotStack(i, new ItemStack(recipe.getOutput(), 1)); + cookCounter2 = 0; + } + } + if(i == 3){ + if (this.getHeat() >= recipe.getHeatThreshold()) { + cookCounter3++; + } + if (this.getHeat() < recipe.getHeatThreshold() && cookCounter3 > 0) { + cookCounter3--; + } + if (cookCounter3 >= recipe.getIdealTime()) { + this.setSlotStack(i, new ItemStack(recipe.getOutput(), 1)); + cookCounter3 = 0; + } + } + if(i == 4){ + if (this.getHeat() >= recipe.getHeatThreshold()) { + cookCounter4++; + } + if (this.getHeat() < recipe.getHeatThreshold() && cookCounter4 > 0) { + cookCounter4--; + } + if (cookCounter4 >= recipe.getIdealTime()) { + this.setSlotStack(i, new ItemStack(recipe.getOutput(), 1)); + cookCounter4 = 0; + } + } + if(i == 5){ + if (this.getHeat() >= recipe.getHeatThreshold()) { + cookCounter5++; + } + if (this.getHeat() < recipe.getHeatThreshold() && cookCounter5 > 0) { + cookCounter5--; + } + if (cookCounter5 >= recipe.getIdealTime()) { + this.setSlotStack(i, new ItemStack(recipe.getOutput(), 1)); + cookCounter5 = 0; + } + } + if(i == 6){ + if (this.getHeat() >= recipe.getHeatThreshold()) { + cookCounter6++; + } + if (this.getHeat() < recipe.getHeatThreshold() && cookCounter6 > 0) { + cookCounter6--; + } + if (cookCounter6 >= recipe.getIdealTime()) { + this.setSlotStack(i, new ItemStack(recipe.getOutput(), 1)); + cookCounter6 = 0; + } + } + /* System.out.println(state.getValue(IngotBall.ACTIVE) + " : " + recipe.getStartState()); System.out.println(cookCounter + " : " + recipe.getIdealTime()); System.out.println(this.heat + " : " + recipe.getHeatThreshold()); System.out.println("========"); */ - } - } - - - /* - private void slotOneManager(){ - BloomeryCrafting recipe = BloomeryCrafting.getRecipe(this.getSlotStack(1)); - if(recipe != null){ - //System.out.println(recipe.getIdealTime() + " : " + recipe.getHeatThreshold()); - //System.out.println(this.cookCounter + " : " + this.getHeat()); - //System.out.println("===================="); - if(this.getHeat() >= recipe.getHeatThreshold()){ - cookCounter++; - } - if(cookCounter >= recipe.getIdealTime() ){ - if(this.getSlotStack(1).getItem() == recipe.getInput().getItem()) { - this.setSlotStack(1, recipe.getOutput()); - this.cookCounter = 0; - //System.out.print(" :Success: " + this.getSlotStack(1)); - this.updateBlock(); - this.markDirty(); - } - } - if(cookCounter > recipe.getIdealTime() + (recipe.getIdealTime() * recipe.getTimeVariance())){ - if(this.getSlotStack(1).getItem() == recipe.getInput().getItem()) { - this.setSlotStack(1, recipe.getOutputFailed()); - this.cookCounter = 0; - //System.out.print(" :Failure Time: " + this.getSlotStack(1)); - this.updateBlock(); - this.markDirty(); - } - } - if(this.getHeat() > recipe.getHeatThreshold() + (recipe.getHeatThreshold() * recipe.getHeatVariance())){ - if(this.getSlotStack(1).getItem() == recipe.getInput().getItem()) { - this.setSlotStack(1, recipe.getOutputFailed()); - this.cookCounter = 0; - //System.out.print(" :Failure Heat: " + this.getSlotStack(1)); - this.updateBlock(); - this.markDirty(); - } - } - if (this.getSlotStack(1).isEmpty()){ - this.cookCounter=0; } } } - */ public int getHeat(){ @@ -203,6 +202,7 @@ public class TileForge extends TileBaseSlot implements ITickable { } } } + return false; } diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/e_particle.png b/1.11/src/main/resources/assets/forgecraft/models/item/e_particle.png deleted file mode 100644 index e557878f..00000000 Binary files a/1.11/src/main/resources/assets/forgecraft/models/item/e_particle.png and /dev/null differ diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/e_texture.png b/1.11/src/main/resources/assets/forgecraft/models/item/e_texture.png deleted file mode 100644 index 7291f2ea..00000000 Binary files a/1.11/src/main/resources/assets/forgecraft/models/item/e_texture.png and /dev/null differ diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/ironpickaxehead.json b/1.11/src/main/resources/assets/forgecraft/models/item/ironpickaxehead.json index 8fb2bc5c..608a0304 100644 --- a/1.11/src/main/resources/assets/forgecraft/models/item/ironpickaxehead.json +++ b/1.11/src/main/resources/assets/forgecraft/models/item/ironpickaxehead.json @@ -1,14 +1,20 @@ { - "parent": "item/generated", + "parent": "forgecraft:item/pickaxehead", "textures": { - "layer0": "forgecraft:items/ironpickaxehead" + "particle": "forgecraft:blocks/iron_ingot", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:blocks/iron_ingot" }, "overrides": [ { "predicate": { "type": 0.0 }, - "model": "forgecraft:item/pickaxehead" + "model": "forgecraft:item/ironpickaxehead_0" } ] -} \ No newline at end of file +} + + + + diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/ironpickaxehead_0.json b/1.11/src/main/resources/assets/forgecraft/models/item/ironpickaxehead_0.json new file mode 100644 index 00000000..96a1fba6 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/ironpickaxehead_0.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/pickaxehead", + "textures": { + "particle": "forgecraft:blocks/iron_ingot", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:blocks/iron_ingot" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxehead.json b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxehead.json index e94da893..edd1c1db 100644 --- a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxehead.json +++ b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxehead.json @@ -47,5 +47,27 @@ "east": { "uv": [ 10.5, 2.5, 14.5, 3 ], "texture": "#texture1" } } } - ] + ], + "display": { + "thirdperson_righthand": { + "rotation": [ 180, 90, 0 ], + "translation": [ 0, 4.5, 0 ] + }, + "firstperson_righthand": { + "rotation": [ 180, 90, 0 ], + "translation": [ 0, 6, 0 ] + }, + "gui": { + "rotation": [ 90, -45, 90 ], + "translation": [ 3.5, -3.5, 0 ] + }, + "ground": { + "rotation": [ 180, 0, 0 ], + "translation": [ 0, 2, 0 ] + }, + "fixed": { + "rotation": [ 180, 90, 0 ], + "translation": [ 0, 4.5, 0 ] + } + } } \ No newline at end of file diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxehead2.json b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxehead2.json new file mode 100644 index 00000000..4d3badb2 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxehead2.json @@ -0,0 +1,73 @@ +{ + "__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "blocks/iron_ingot", + "texture": "blocks/planks_oak", + "texture1": "blocks/iron_ingot" + }, + "elements": [ + { + "__comment": "Cube2", + "from": [ 7, 13, 4.5 ], + "to": [ 9, 14, 11.5 ], + "faces": { + "down": { "uv": [ 7, 4.5, 9, 11.5 ], "texture": "#texture1" }, + "up": { "uv": [ 7, 4.5, 9, 11.5 ], "texture": "#texture1" }, + "north": { "uv": [ 7, 2, 9, 3 ], "texture": "#texture1" }, + "south": { "uv": [ 7, 2, 9, 3 ], "texture": "#texture1" }, + "west": { "uv": [ 4.5, 2, 11.5, 3 ], "texture": "#texture1" }, + "east": { "uv": [ 4.5, 2, 11.5, 3 ], "texture": "#texture1" } + } + }, + { + "__comment": "Cube5", + "from": [ 7.5, 13, 11 ], + "to": [ 8.5, 14, 14.5 ], + "rotation": { "origin": [ 7.5, 13, 11 ], "axis": "x", "angle": 22.5 }, + "faces": { + "down": { "uv": [ 7.5, 1.5, 8.5, 5.5 ], "texture": "#texture1" }, + "up": { "uv": [ 7.5, 10.5, 8.5, 14.5 ], "texture": "#texture1" }, + "north": { "uv": [ 7.5, 2.5, 8.5, 3 ], "texture": "#texture1" }, + "south": { "uv": [ 7.5, 2.5, 8.5, 3 ], "texture": "#texture1" }, + "west": { "uv": [ 10.5, 2.5, 14.5, 3 ], "texture": "#texture1" }, + "east": { "uv": [ 1.5, 2.5, 5.5, 3 ], "texture": "#texture1" } + } + }, + { + "__comment": "Cube5", + "from": [ 7.5, 13, 1.5 ], + "to": [ 8.5, 14, 5 ], + "rotation": { "origin": [ 8.5, 13, 5 ], "axis": "x", "angle": -22.5 }, + "faces": { + "down": { "uv": [ 7.5, 1.5, 8.5, 5.5 ], "texture": "#texture1", "rotation": 180 }, + "up": { "uv": [ 7.5, 10.5, 8.5, 14.5 ], "texture": "#texture1", "rotation": 180 }, + "north": { "uv": [ 7.5, 2.5, 8.5, 3 ], "texture": "#texture1" }, + "south": { "uv": [ 7.5, 2.5, 8.5, 3 ], "texture": "#texture1" }, + "west": { "uv": [ 1.5, 2.5, 5.5, 3 ], "texture": "#texture1" }, + "east": { "uv": [ 10.5, 2.5, 14.5, 3 ], "texture": "#texture1" } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ 180, 90, 0 ], + "translation": [ 0, 4.5, 0 ] + }, + "firstperson_righthand": { + "rotation": [ 180, 90, 0 ], + "translation": [ 0, 6, 0 ] + }, + "gui": { + "rotation": [ 90, -45, 90 ], + "translation": [ 3.5, -3.5, 0 ] + }, + "ground": { + "rotation": [ 180, 0, 0 ], + "translation": [ 0, 2, 0 ] + }, + "fixed": { + "rotation": [ 180, 90, 0 ], + "translation": [ 0, 4.5, 0 ] + } + } +} \ No newline at end of file