From 40a36461f53333072496a8c938c3ee00a2b4f3ee Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Wed, 15 Mar 2017 23:13:12 -0400 Subject: [PATCH] figured out process for adding and removing enchants need to clean up the section --- 1.11/To-Dos | 7 +- .../nmd/primal/forgecraft/ClientEvents.java | 41 +++ .../nmd/primal/forgecraft/CommonEvents.java | 78 ++++++ .../nmd/primal/forgecraft/ForgeCraft.java | 4 + .../nmd/primal/forgecraft/init/ModEvents.java | 28 +++ .../forgecraft/items/toolparts/ToolPart.java | 234 +++++++++++------- .../forgecraft/items/tools/CustomPickaxe.java | 85 +++++-- .../forgecraft/models/item/pickaxe.json | 31 +-- .../forgecraft/models/item/pickaxe2.json | 31 +-- 9 files changed, 384 insertions(+), 155 deletions(-) create mode 100644 1.11/src/main/java/nmd/primal/forgecraft/ClientEvents.java create mode 100644 1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java create mode 100644 1.11/src/main/java/nmd/primal/forgecraft/init/ModEvents.java diff --git a/1.11/To-Dos b/1.11/To-Dos index 6231ec4d..0b021520 100644 --- a/1.11/To-Dos +++ b/1.11/To-Dos @@ -2,7 +2,7 @@ To-Dos *** Priority *** - [ ] Create a Harvest Drops event -- [ ] Create getter and setter for itemNBT + - [ ] Create the axe Model - [ ] Create the shovel model - [ ] Create the hoe model @@ -10,7 +10,7 @@ To-Dos - [ ] Create Crafting Block for Tools and Weapons - [ ] Create PickAxe Tool which ingests NBT - +- [ ] Copy Heat Handler for Forge to Bloomery *** Backlog *** - [ ] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers @@ -18,8 +18,6 @@ To-Dos - [ ] Finish Toolhead Recipes - [ ] WeaponHead recipes - - [ ] Stone Anvil Bounding Box - - [ ] Casting Table - [ ] Block - [ ] Gui @@ -33,6 +31,7 @@ To-Dos *** Completed *** +- [x] Create getter and setter for itemNBT - [x] Create all the textures for all the NBT types - [x] Check for if the pickaxe head is hot before removing from forge - [x] fix rotation rendering for Anvil diff --git a/1.11/src/main/java/nmd/primal/forgecraft/ClientEvents.java b/1.11/src/main/java/nmd/primal/forgecraft/ClientEvents.java new file mode 100644 index 00000000..9ff4ec11 --- /dev/null +++ b/1.11/src/main/java/nmd/primal/forgecraft/ClientEvents.java @@ -0,0 +1,41 @@ +package nmd.primal.forgecraft; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.text.TextFormatting; +import net.minecraftforge.event.entity.player.ItemTooltipEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.fml.common.eventhandler.EventPriority; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.forgecraft.items.tools.CustomPickaxe; + +import java.util.List; + +/** + * Created by mminaie on 3/15/17. + */ +public class ClientEvents { + + @SideOnly(Side.CLIENT) + @SubscribeEvent(priority= EventPriority.LOWEST, receiveCanceled=true) + public void toolTipOverride(ItemTooltipEvent event) { + + Entity entity = event.getEntity(); + if (entity instanceof EntityPlayer) + { + ItemStack held_stack = ((EntityPlayer) entity).getActiveItemStack(); + if(held_stack.getItem() instanceof CustomPickaxe){ + event.getToolTip().clear(); + if(entity.getEntityWorld().isRemote) { + event.setCanceled(true); + } + } + } + + } + +} diff --git a/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java b/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java new file mode 100644 index 00000000..0bdcbf1a --- /dev/null +++ b/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java @@ -0,0 +1,78 @@ +package nmd.primal.forgecraft; + +import net.minecraft.block.*; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.common.IShearable; +import net.minecraftforge.event.world.BlockEvent; +import net.minecraftforge.fml.common.eventhandler.EventPriority; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import nmd.primal.core.api.PrimalBlocks; +import nmd.primal.core.api.PrimalItems; +import nmd.primal.core.api.PrimalRegistries; +import nmd.primal.core.common.init.ModConfig; +import nmd.primal.forgecraft.items.tools.CustomPickaxe; + +/** + * Created by mminaie on 3/15/17. + */ +public class CommonEvents { + + + /******************************************************************************* + * Block Harvesting + * leaf stick drops, plant fiber drops, extra flint and rock drops, stone harvesting + */ + @SubscribeEvent(priority= EventPriority.LOWEST, receiveCanceled=true) + public void onBlockHarvest(BlockEvent.HarvestDropsEvent event) + { + World world = event.getWorld(); + EntityPlayer player = event.getHarvester(); + + if (!world.isRemote && player!=null) //&& !event.isSilkTouching() + { + BlockPos pos = event.getPos(); + IBlockState state = event.getState(); + Block block = state.getBlock(); + Material material = state.getBlock().getMaterial(state); + + ItemStack event_stack = new ItemStack(block, 1, block.getMetaFromState(state)); + ItemStack held_stack = player.getHeldItemMainhand(); + + //System.out.println(event.getDrops()); + System.out.println(event.getFortuneLevel()); + + if(held_stack.getItem() instanceof CustomPickaxe){ + if(((CustomPickaxe) held_stack.getItem()).getLapisLevel(held_stack) > 0){ + //held_stack.addEnchantment(Enchantment.getEnchantmentByID(35), ((CustomPickaxe) held_stack.getItem()).getLapisLevel(held_stack)); + } + if( ((CustomPickaxe) held_stack.getItem()).getEmerald(held_stack) == true) { + + } + } + + + + + if (!event.isSilkTouching()) { + // ***************************************************************************** // + // Extra Rock/Flint Drop + // ***************************************************************************** // + + + } + + } + } + + +} diff --git a/1.11/src/main/java/nmd/primal/forgecraft/ForgeCraft.java b/1.11/src/main/java/nmd/primal/forgecraft/ForgeCraft.java index 81460c56..c365a7af 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/ForgeCraft.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/ForgeCraft.java @@ -9,6 +9,7 @@ import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; +import nmd.primal.forgecraft.init.ModEvents; import nmd.primal.forgecraft.compat.ModDictionary; import nmd.primal.forgecraft.gui.GuiHandler; import nmd.primal.forgecraft.init.ModBlocks; @@ -49,6 +50,9 @@ public class ForgeCraft ModItems.register(); ModTiles.registerTileEntities(); + + ModEvents.registerCommonEvents(); + ModEvents.registerClientEvents(); // ModItems.registerRenders(); proxy.preInit(); } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/init/ModEvents.java b/1.11/src/main/java/nmd/primal/forgecraft/init/ModEvents.java new file mode 100644 index 00000000..c813b9d4 --- /dev/null +++ b/1.11/src/main/java/nmd/primal/forgecraft/init/ModEvents.java @@ -0,0 +1,28 @@ +package nmd.primal.forgecraft.init; + +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.core.common.PrimalCore; +import nmd.primal.core.common.init.ModConfig; +import nmd.primal.forgecraft.ClientEvents; +import nmd.primal.forgecraft.CommonEvents; + +/** + * Created by mminaie on 3/15/17. + */ +public class ModEvents { + + public static void registerCommonEvents() + { + + MinecraftForge.EVENT_BUS.register(new CommonEvents()); + + } + + @SideOnly(Side.CLIENT) + public static void registerClientEvents() { + //MinecraftForge.EVENT_BUS.register(new ClientEvents()); + } + +} diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/toolparts/ToolPart.java b/1.11/src/main/java/nmd/primal/forgecraft/items/toolparts/ToolPart.java index da2f9500..cc4fa73a 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/toolparts/ToolPart.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/toolparts/ToolPart.java @@ -44,163 +44,162 @@ public class ToolPart extends Item { { if (item.hasTagCompound()) { - - if (item.getSubCompound("tags").getBoolean("hot") == false) { - if (item.getSubCompound("tags").getInteger("modifiers") != 0) { - if ((item.getSubCompound("tags").getBoolean("emerald") == true) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if (getHot(item) == false) { + if (getModifiers(item) != 0) { + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { return 0.1F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == true) && - (item.getSubCompound("tags").getInteger("diamond") == 1) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { return 0.11F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == true) && - (item.getSubCompound("tags").getInteger("diamond") == 2) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 2) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { return 0.12F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == true) && - (item.getSubCompound("tags").getInteger("diamond") == 1) && - (item.getSubCompound("tags").getInteger("redstone") == 1) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 0)) { return 0.111F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == true) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 2) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 0)) { return 0.102F; } // ============ - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 1) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { return 0.01F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 2) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 2) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { return 0.02F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 3) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 3) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { return 0.03F; } //======= - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 1) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 0)) { return 0.001F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 2) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 0)) { return 0.002F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 3) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 3) && + (getLapisLevel(item) == 0)) { return 0.003F; } //========= - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 1)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 1)) { return 0.0001F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 2)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 2)) { return 0.0002F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 3)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 3)) { return 0.0003F; } //======= - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 1) && - (item.getSubCompound("tags").getInteger("redstone") == 1) && - (item.getSubCompound("tags").getInteger("lapis") == 1)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 1)) { return 0.0111F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 2) && - (item.getSubCompound("tags").getInteger("redstone") == 1) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 2) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 0)) { return 0.021F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 1) && - (item.getSubCompound("tags").getInteger("redstone") == 2) && - (item.getSubCompound("tags").getInteger("lapis") == 0)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 0)) { return 0.012F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 1) && - (item.getSubCompound("tags").getInteger("lapis") == 2)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 2)) { return 0.0012F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 0) && - (item.getSubCompound("tags").getInteger("redstone") == 2) && - (item.getSubCompound("tags").getInteger("lapis") == 1)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 1)) { return 0.0021F; } - if ((item.getSubCompound("tags").getBoolean("emerald") == false) && - (item.getSubCompound("tags").getInteger("diamond") == 1) && - (item.getSubCompound("tags").getInteger("redstone") == 0) && - (item.getSubCompound("tags").getInteger("lapis") == 2)) { + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 2) ) { return 0.0102F; } } } - if (item.getSubCompound("tags").getBoolean("hot") == true) { + if (getHot(item) == true) { return 1.0F; } - if (item.getSubCompound("tags").getBoolean("hot") == false) { + if (getHot(item) == false) { if (item.getSubCompound("tags").getInteger("modifiers") == 0) { return 0.0F; } @@ -212,6 +211,53 @@ public class ToolPart extends Item { } + public boolean getHot(ItemStack stack){ + return stack.getSubCompound("tags").getBoolean("hot"); + } + public void setHot(ItemStack stack, Boolean bool){ + stack.getSubCompound("tags").setBoolean("hot", bool); + } + + public int getModifiers(ItemStack stack) { + return stack.getSubCompound("tags").getInteger("modifiers"); + } + public void setModifiers(ItemStack stack, Integer mods){ + stack.getSubCompound("tags").setInteger("modifiers", mods); + } + + public boolean getEmerald(ItemStack stack){ + return stack.getSubCompound("tags").getBoolean("emerald"); + } + public void setEmerald(ItemStack stack, Boolean bool){ + stack.getSubCompound("keys").setBoolean("emerald", bool); + } + + public int getDiamondLevel(ItemStack stack) { + return stack.getSubCompound("tags").getInteger("diamond"); + } + + public void setDiamondLevel(ItemStack stack, Integer level){ + stack.getSubCompound("tags").setInteger("diamond", level); + } + + + public int getRedstoneLevel(ItemStack stack) { + return stack.getSubCompound("tags").getInteger("redstone"); + } + public void setRedstoneLevel(ItemStack stack, Integer level){ + stack.getSubCompound("tags").setInteger("redstone", level); + } + + public int getLapisLevel(ItemStack stack) { + return stack.getSubCompound("tags").getInteger("lapis"); + } + public void setLapisLevel(ItemStack stack, Integer level){ + stack.getSubCompound("tags").setInteger("lapis", level); + } + + public NBTTagCompound getTags(ItemStack stack){ + return stack.getSubCompound("tags"); + } public static boolean isHidden() @@ -269,23 +315,23 @@ public class ToolPart extends Item { if(item.hasTagCompound()) { tooltip.add(ChatFormatting.GRAY + "Upgrades"); - if (item.getSubCompound("tags").getBoolean("emerald") == true) { + if (getEmerald(item) == true) { tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); } - if (item.getSubCompound("tags").getInteger("diamond") > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + item.getSubCompound("tags").getInteger("diamond")); + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); } - if (item.getSubCompound("tags").getInteger("redstone") > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + item.getSubCompound("tags").getInteger("redstone")); + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item)); } - if (item.getSubCompound("tags").getInteger("lapis") > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + item.getSubCompound("tags").getInteger("lapis")); + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item)); } } } - - } + + } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java index 95b58a85..77157e2e 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java @@ -17,6 +17,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -221,31 +222,23 @@ public class CustomPickaxe extends ItemPickaxe{ }); } - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) - { - if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) - { - stack.damageItem(1, entityLiving); - if(stack.getSubCompound("tags").getInteger("lapis") > 0){ - state.getBlock().quantityDroppedWithBonus(stack.getSubCompound("tags").getInteger("lapis"), world.rand); - } - } - return true; + + public boolean getHot(ItemStack stack){ + return stack.getSubCompound("tags").getBoolean("hot"); + } + public boolean getEmerald(ItemStack stack){ + return stack.getSubCompound("tags").getBoolean("emerald"); + } + public int getDiamondLevel(ItemStack stack) { + return stack.getSubCompound("tags").getInteger("diamond"); + } + public int getRedstoneLevel(ItemStack stack) { + return stack.getSubCompound("tags").getInteger("redstone"); + } + public int getLapisLevel(ItemStack stack) { + return stack.getSubCompound("tags").getInteger("lapis"); } - - - - - - - - - - - - public static boolean isHidden() { @@ -266,11 +259,10 @@ public class CustomPickaxe extends ItemPickaxe{ item.getSubCompound("tags").setBoolean("emerald", false); item.getSubCompound("tags").setInteger("diamond", 0); item.getSubCompound("tags").setInteger("redstone", 0); - item.getSubCompound("tags").setInteger("lapis", 3); + item.getSubCompound("tags").setInteger("lapis", 0); item.getSubCompound("tags").setInteger("modifiers", 0); } - } @Override @@ -289,6 +281,9 @@ public class CustomPickaxe extends ItemPickaxe{ item.getSubCompound("tags").setInteger("lapis", 3); item.getSubCompound("tags").setInteger("modifiers", 0); + if(!world.isRemote){ + //item.addEnchantment(Enchantment.getEnchantmentByID(35), 3); + } } } @@ -300,8 +295,6 @@ public class CustomPickaxe extends ItemPickaxe{ { if(player.getEntityWorld().isRemote) { - - if(item.hasTagCompound()) { tooltip.add(ChatFormatting.GRAY + "Upgrades"); @@ -323,6 +316,44 @@ public class CustomPickaxe extends ItemPickaxe{ } + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + System.out.println(world.getBlockState(pos).getBlock()); + if(itemstack.getItem() instanceof CustomPickaxe){ + if ( ((CustomPickaxe) itemstack.getItem()).getLapisLevel(itemstack) > 0) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ((CustomPickaxe) itemstack.getItem()).getLapisLevel(itemstack)); + } + } + } + + return false; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!worldIn.isRemote && (double)state.getBlockHardness(worldIn, pos) != 0.0D) + { + + stack.getTagCompound().removeTag("ench"); + //System.out.println(stack.getTagCompound()); + + stack.damageItem(1, entityLiving); + } + + return true; + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + @Override public boolean isRepairable() { diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe.json b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe.json index a3eb69c6..fd0268c3 100644 --- a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe.json +++ b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe.json @@ -9,33 +9,33 @@ { "__comment": "Cube1", "from": [ 7.5, 0, 7 ], - "to": [ 8.5, 13, 9 ], + "to": [ 8.5, 13, 8.5 ], "faces": { - "down": { "uv": [ 7.5, 7, 8.5, 9 ], "texture": "#texture" }, - "up": { "uv": [ 7.5, 7, 8.5, 9 ], "texture": "#texture" }, + "down": { "uv": [ 8, 7, 9, 8.5 ], "texture": "#texture" }, + "up": { "uv": [ 8, 7, 9, 8.5 ], "texture": "#texture" }, "north": { "uv": [ 7.5, 3, 8.5, 16 ], "texture": "#texture" }, "south": { "uv": [ 7.5, 3, 8.5, 16 ], "texture": "#texture" }, - "west": { "uv": [ 7, 3, 9, 16 ], "texture": "#texture" }, - "east": { "uv": [ 7, 3, 9, 16 ], "texture": "#texture" } + "west": { "uv": [ 7, 3, 8.5, 16 ], "texture": "#texture" }, + "east": { "uv": [ 7, 3, 8.5, 16 ], "texture": "#texture" } } }, { "__comment": "Cube2", - "from": [ 7, 13, 4.5 ], + "from": [ 7, 13, 4 ], "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" }, + "down": { "uv": [ 7, 4.5, 9, 12 ], "texture": "#texture1" }, + "up": { "uv": [ 7, 4.5, 9, 12 ], "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" } + "west": { "uv": [ 4.5, 2, 12, 3 ], "texture": "#texture1" }, + "east": { "uv": [ 4.5, 2, 12, 3 ], "texture": "#texture1" } } }, { "__comment": "Cube3", "from": [ 7.5, 14, 7 ], - "to": [ 8.5, 14.5, 9 ], + "to": [ 8.5, 14.5, 8.5 ], "faces": { "down": { "uv": [ 7.5, 7, 8.5, 9 ], "texture": "#texture" }, "up": { "uv": [ 7.5, 7, 8.5, 9 ], "texture": "#texture" }, @@ -61,9 +61,9 @@ }, { "__comment": "Cube5", - "from": [ 7.5, 13, 1.5 ], - "to": [ 8.5, 14, 5 ], - "rotation": { "origin": [ 8.5, 13, 5 ], "axis": "x", "angle": -22.5 }, + "from": [ 7.5, 13, 1 ], + "to": [ 8.5, 14, 4.5 ], + "rotation": { "origin": [ 8.5, 13, 4.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 }, @@ -79,7 +79,8 @@ "translation": [ 0, 6.25, 1.5 ] }, "firstperson_righthand": { - "translation": [ 0, 6.25, 1.5 ] + "translation": [ 0, 6.25, 1.5 ], + "scale": [ 1, 1, 0.5 ] }, "gui": { "rotation": [ 90, 45, -90 ], diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe2.json b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe2.json index da3be4b0..1f63d3e6 100644 --- a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe2.json +++ b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe2.json @@ -9,33 +9,33 @@ { "__comment": "Cube1", "from": [ 7.5, 0, 7 ], - "to": [ 8.5, 13, 9 ], + "to": [ 8.5, 13, 8.5 ], "faces": { - "down": { "uv": [ 7.5, 7, 8.5, 9 ], "texture": "#texture" }, - "up": { "uv": [ 7.5, 7, 8.5, 9 ], "texture": "#texture" }, + "down": { "uv": [ 8, 7, 9, 8.5 ], "texture": "#texture" }, + "up": { "uv": [ 8, 7, 9, 8.5 ], "texture": "#texture" }, "north": { "uv": [ 7.5, 3, 8.5, 16 ], "texture": "#texture" }, "south": { "uv": [ 7.5, 3, 8.5, 16 ], "texture": "#texture" }, - "west": { "uv": [ 7, 3, 9, 16 ], "texture": "#texture" }, - "east": { "uv": [ 7, 3, 9, 16 ], "texture": "#texture" } + "west": { "uv": [ 7, 3, 8.5, 16 ], "texture": "#texture" }, + "east": { "uv": [ 7, 3, 8.5, 16 ], "texture": "#texture" } } }, { "__comment": "Cube2", - "from": [ 7, 13, 4.5 ], + "from": [ 7, 13, 4 ], "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" }, + "down": { "uv": [ 7, 4.5, 9, 12 ], "texture": "#texture1" }, + "up": { "uv": [ 7, 4.5, 9, 12 ], "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" } + "west": { "uv": [ 4.5, 2, 12, 3 ], "texture": "#texture1" }, + "east": { "uv": [ 4.5, 2, 12, 3 ], "texture": "#texture1" } } }, { "__comment": "Cube3", "from": [ 7.5, 14, 7 ], - "to": [ 8.5, 14.5, 9 ], + "to": [ 8.5, 14.5, 8.5 ], "faces": { "down": { "uv": [ 7.5, 7, 8.5, 9 ], "texture": "#texture" }, "up": { "uv": [ 7.5, 7, 8.5, 9 ], "texture": "#texture" }, @@ -61,9 +61,9 @@ }, { "__comment": "Cube5", - "from": [ 7.5, 13, 1.5 ], - "to": [ 8.5, 14, 5 ], - "rotation": { "origin": [ 8.5, 13, 5 ], "axis": "x", "angle": -22.5 }, + "from": [ 7.5, 13, 1 ], + "to": [ 8.5, 14, 4.5 ], + "rotation": { "origin": [ 8.5, 13, 4.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 }, @@ -79,7 +79,8 @@ "translation": [ 0, 6.25, 1.5 ] }, "firstperson_righthand": { - "translation": [ 0, 6.25, 1.5 ] + "translation": [ 0, 6.25, 1.5 ], + "scale": [ 1, 1, 0.5 ] }, "gui": { "rotation": [ 90, 45, -90 ],