i think ready for update
This commit is contained in:
@@ -4,9 +4,9 @@ To-Dos
|
||||
|
||||
|
||||
*** Current Feature ***
|
||||
- [ ] BlockBreaker Support for copper dust and tin dust
|
||||
- [x] BlockBreaker Support for copper dust and tin dust
|
||||
- [x] picking up raw bronze crucible returns some other shit
|
||||
- [ ] Tool breaking should return tool head````
|
||||
- [ ] Tool breaking should return tool head
|
||||
|
||||
*** Feature Musket ***
|
||||
- [ ] Create powder charge item (copper, charcoal, gunpowder)
|
||||
|
||||
@@ -5,11 +5,9 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.PlayerEvent;
|
||||
import nmd.primal.forgecraft.items.parts.BronzeToolPart;
|
||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||
import nmd.primal.forgecraft.items.tools.CustomAxe;
|
||||
import nmd.primal.forgecraft.items.tools.CustomHoe;
|
||||
import nmd.primal.forgecraft.items.tools.CustomPickaxe;
|
||||
import nmd.primal.forgecraft.items.tools.CustomShovel;
|
||||
import nmd.primal.forgecraft.items.tools.*;
|
||||
import nmd.primal.forgecraft.util.ToolNBT;
|
||||
|
||||
/**
|
||||
@@ -23,13 +21,13 @@ public class CommonEvents implements ToolNBT {
|
||||
|
||||
if(!event.player.getEntityWorld().isRemote) {
|
||||
|
||||
if (event.crafting.getItem() instanceof CustomPickaxe) {
|
||||
if (event.crafting.getItem() instanceof CustomPickaxe || event.crafting.getItem() instanceof BronzePickaxe) {
|
||||
NBTTagCompound tempTag = new NBTTagCompound();
|
||||
for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots
|
||||
|
||||
if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item
|
||||
ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item
|
||||
if (a.getItem() instanceof ToolPart) {
|
||||
if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) {
|
||||
tempTag = a.getSubCompound("tags").copy();
|
||||
event.crafting.getTagCompound().setTag("tags", tempTag);
|
||||
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
|
||||
@@ -38,13 +36,13 @@ public class CommonEvents implements ToolNBT {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (event.crafting.getItem() instanceof CustomAxe) {
|
||||
if (event.crafting.getItem() instanceof CustomAxe || event.crafting.getItem() instanceof BronzeAxe) {
|
||||
NBTTagCompound tempTag = new NBTTagCompound();
|
||||
for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots
|
||||
|
||||
if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item
|
||||
ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item
|
||||
if (a.getItem() instanceof ToolPart) {
|
||||
if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) {
|
||||
tempTag = a.getSubCompound("tags").copy();
|
||||
event.crafting.getTagCompound().setTag("tags", tempTag);
|
||||
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
|
||||
@@ -53,70 +51,64 @@ public class CommonEvents implements ToolNBT {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (event.crafting.getItem() instanceof CustomShovel) {
|
||||
if (event.crafting.getItem() instanceof CustomShovel || event.crafting.getItem() instanceof BronzeShovel) {
|
||||
NBTTagCompound tempTag = new NBTTagCompound();
|
||||
for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots
|
||||
|
||||
if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item
|
||||
ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item
|
||||
if (a.getItem() instanceof ToolPart) {
|
||||
if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) {
|
||||
tempTag = a.getSubCompound("tags").copy();
|
||||
event.crafting.getTagCompound().setTag("tags", tempTag);
|
||||
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
|
||||
event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage());
|
||||
//if( getDiamondLevel(event.crafting) > 0 ){
|
||||
// event.crafting.getItem().setHarvestLevel("pickaxe", 3);
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (event.crafting.getItem() instanceof CustomHoe) {
|
||||
if (event.crafting.getItem() instanceof CustomHoe || event.crafting.getItem() instanceof BronzeHoe) {
|
||||
NBTTagCompound tempTag = new NBTTagCompound();
|
||||
for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots
|
||||
|
||||
if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item
|
||||
ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item
|
||||
if (a.getItem() instanceof ToolPart) {
|
||||
if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) {
|
||||
tempTag = a.getSubCompound("tags").copy();
|
||||
event.crafting.getTagCompound().setTag("tags", tempTag);
|
||||
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
|
||||
event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage());
|
||||
//if( getDiamondLevel(event.crafting) > 0 ){
|
||||
// event.crafting.getItem().setHarvestLevel("pickaxe", 3);
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (event.crafting.getItem() instanceof ToolPart) {
|
||||
if (event.crafting.getItem() instanceof ToolPart || event.crafting.getItem() instanceof BronzeToolPart) {
|
||||
NBTTagCompound tempTag = new NBTTagCompound();
|
||||
for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots
|
||||
|
||||
if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item
|
||||
ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item
|
||||
if (a.getItem() instanceof CustomAxe) {
|
||||
if (a.getItem() instanceof CustomAxe || a.getItem() instanceof BronzeAxe) {
|
||||
tempTag = a.getSubCompound("tags").copy();
|
||||
event.crafting.getTagCompound().setTag("tags", tempTag);
|
||||
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
|
||||
Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage();
|
||||
event.crafting.setItemDamage(tempDamage);
|
||||
}
|
||||
if (a.getItem() instanceof CustomPickaxe) {
|
||||
if (a.getItem() instanceof CustomPickaxe || a.getItem() instanceof BronzePickaxe) {
|
||||
tempTag = a.getSubCompound("tags").copy();
|
||||
event.crafting.getTagCompound().setTag("tags", tempTag);
|
||||
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
|
||||
Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage();
|
||||
event.crafting.setItemDamage(tempDamage);
|
||||
}
|
||||
if (a.getItem() instanceof CustomShovel) {
|
||||
if (a.getItem() instanceof CustomShovel || a.getItem() instanceof BronzeShovel) {
|
||||
tempTag = a.getSubCompound("tags").copy();
|
||||
event.crafting.getTagCompound().setTag("tags", tempTag);
|
||||
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
|
||||
Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage();
|
||||
event.crafting.setItemDamage(tempDamage);
|
||||
}
|
||||
if (a.getItem() instanceof CustomHoe) {
|
||||
if (a.getItem() instanceof CustomHoe || a.getItem() instanceof BronzeHoe) {
|
||||
tempTag = a.getSubCompound("tags").copy();
|
||||
event.crafting.getTagCompound().setTag("tags", tempTag);
|
||||
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
|
||||
|
||||
@@ -15,6 +15,8 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.*;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.util.text.TextComponentString;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
@@ -63,7 +65,7 @@ public class BloomeryBase extends CustomContainerFacing implements ITileEntityPr
|
||||
return new TileBloomery();
|
||||
}
|
||||
|
||||
@Override
|
||||
/*@Override
|
||||
public void randomTick(World world, BlockPos pos, IBlockState state, Random random)
|
||||
{
|
||||
this.updateTick(world, pos, state, random);
|
||||
@@ -72,7 +74,7 @@ public class BloomeryBase extends CustomContainerFacing implements ITileEntityPr
|
||||
FireHelper.makeSmoke(world, pos, 50);
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
|
||||
@@ -106,10 +108,13 @@ public class BloomeryBase extends CustomContainerFacing implements ITileEntityPr
|
||||
stringRemainingTime = remainingTime.toString();
|
||||
|
||||
}
|
||||
|
||||
ITextComponent itextcomponent = new TextComponentString("Current Temp: " + stringBloomeryHeat + " Ideal Temp: " + stringIdealTemp + " Ticks Remaining: " + stringRemainingTime);
|
||||
player.sendStatusMessage(itextcomponent, true);
|
||||
//System.out.println(pos);
|
||||
String display =
|
||||
"Current Temp: " + stringBloomeryHeat + '\n'
|
||||
+ "Ideal Temp: " + stringIdealTemp + '\n'
|
||||
+ "Ticks Remaining: " + stringRemainingTime + '\n'
|
||||
+ "Fuel Remaining: " + tile.getSlotStack(0).getCount() + '\n';
|
||||
ITextComponent itextcomponent = new TextComponentString(display);
|
||||
player.sendStatusMessage(itextcomponent, false);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||
import nmd.primal.core.api.PrimalBlocks;
|
||||
import nmd.primal.core.api.PrimalItems;
|
||||
import nmd.primal.core.common.helper.CommonUtils;
|
||||
import nmd.primal.forgecraft.crafting.AnvilCrafting;
|
||||
@@ -25,6 +26,16 @@ public class ModCrafting {
|
||||
|
||||
Random rand = new Random();
|
||||
|
||||
/***CASTING BLOCK***/
|
||||
GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.castingblock),
|
||||
" B ", "BXB", " B ", 'X', Blocks.STONE_SLAB, 'B', PrimalItems.ADOBEBRICK_DRY);
|
||||
|
||||
/***CASTING FORM***/
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1),
|
||||
true, new Object[]{" S ", "S S", " S ",
|
||||
('S'), "logSplit"
|
||||
}));
|
||||
|
||||
/***Forge***/
|
||||
GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.forge_brick),
|
||||
"X X", "XYX", "X X", 'X', Items.BRICK, 'Y', Blocks.FURNACE);
|
||||
@@ -135,9 +146,16 @@ public class ModCrafting {
|
||||
('E'), PrimalItems.EMERALD_KNAPP,
|
||||
('Y'), ModBlocks.rawbronzecrucible));
|
||||
|
||||
|
||||
/***************************************************************
|
||||
* TOOL CRAFTING RECIPES
|
||||
***************************************************************/
|
||||
|
||||
/***Pickaxe Crafting***/
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzepickaxe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironpickaxe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.pickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
@@ -156,18 +174,29 @@ public class ModCrafting {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.IRON_PICKAXE), "T", "S",
|
||||
('T'), ModItems.pickaxehead,
|
||||
('S'), Items.STICK));
|
||||
|
||||
//placeholder wootz
|
||||
//TODO wootz placeholder
|
||||
|
||||
/***Axe Crafting***/
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzeaxe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironaxe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironaxe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cleanironaxe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.cleanironaxehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steelaxe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.steelaxehead,1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
@@ -178,14 +207,21 @@ public class ModCrafting {
|
||||
('S'), Items.STICK));
|
||||
|
||||
/***Shovel Crafting***/
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzeshovel), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.bronzeshovelhead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironshovel), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.ironshovelhead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cleanironshovel), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.cleanironshovelhead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steelshovel), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.steelshovelhead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
@@ -196,14 +232,21 @@ public class ModCrafting {
|
||||
('S'), Items.STICK));
|
||||
|
||||
/***Hoe Crafting***/
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzehoe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.bronzehoehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironhoe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.ironhoehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cleanironhoe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.cleanironhoehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
('C'), "cordageGeneral"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steelhoe), "T", "C", "S",
|
||||
('T'), new ItemStack(ModItems.steelhoehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
('S'), PrimalItems.LACQUER_STICK,
|
||||
@@ -215,11 +258,24 @@ public class ModCrafting {
|
||||
|
||||
|
||||
/***************************************************************
|
||||
* TEMPORARY RECIPES
|
||||
* TOOL DISASSEMBLY RECIPES
|
||||
***************************************************************/
|
||||
//GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
// " ", " X ", " ", 'X', ModItems.ironaxe);
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
true, "X", ('X'), new ItemStack(ModItems.bronzeaxe, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
true, "X", ('X'), new ItemStack(ModItems.bronzepickaxe, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzeshovelhead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
true, "X", ('X'), new ItemStack(ModItems.bronzeshovel, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzehoehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
true, "X", ('X'), new ItemStack(ModItems.bronzehoe, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE),
|
||||
true, "X", ('X'), new ItemStack(ModItems.ironaxe, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
|
||||
|
||||
@@ -17,9 +17,4 @@ public class ModEvents {
|
||||
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static void registerClientEvents() {
|
||||
//MinecraftForge.EVENT_BUS.register(new ClientEvents());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,10 +18,7 @@ import nmd.primal.forgecraft.items.*;
|
||||
import nmd.primal.forgecraft.items.casting.CastingPart;
|
||||
import nmd.primal.forgecraft.items.parts.BronzeToolPart;
|
||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||
import nmd.primal.forgecraft.items.tools.CustomAxe;
|
||||
import nmd.primal.forgecraft.items.tools.CustomHoe;
|
||||
import nmd.primal.forgecraft.items.tools.CustomPickaxe;
|
||||
import nmd.primal.forgecraft.items.tools.CustomShovel;
|
||||
import nmd.primal.forgecraft.items.tools.*;
|
||||
import nmd.primal.forgecraft.items.weapons.CustomShield;
|
||||
import nmd.primal.forgecraft.items.weapons.CustomSword;
|
||||
|
||||
@@ -80,6 +77,11 @@ public class ModItems {
|
||||
public static Item bronzeshovelhead;
|
||||
public static Item bronzehoehead;
|
||||
|
||||
public static Item bronzepickaxe;
|
||||
public static Item bronzeaxe;
|
||||
public static Item bronzeshovel;
|
||||
public static Item bronzehoe;
|
||||
|
||||
public static Item ironpickaxe;
|
||||
public static Item ironaxe;
|
||||
public static Item ironshovel;
|
||||
@@ -165,6 +167,11 @@ public class ModItems {
|
||||
/**********
|
||||
TOOLS
|
||||
**********/
|
||||
bronzepickaxe = new BronzePickaxe("bronzepickaxe", PrimalMaterials.TOOL_BRONZE);
|
||||
bronzeaxe = new BronzeAxe("bronzeaxe", PrimalMaterials.TOOL_BRONZE);
|
||||
bronzeshovel = new BronzeShovel("bronzeshovel", PrimalMaterials.TOOL_BRONZE);
|
||||
bronzehoe = new BronzeHoe("bronzehoe", PrimalMaterials.TOOL_BRONZE);
|
||||
|
||||
ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalMaterials.TOOL_WROUGHT_IRON);
|
||||
ironaxe = new CustomAxe("ironaxe", PrimalMaterials.TOOL_WROUGHT_IRON);
|
||||
ironshovel = new CustomShovel("ironshovel", PrimalMaterials.TOOL_WROUGHT_IRON);
|
||||
@@ -269,6 +276,11 @@ public class ModItems {
|
||||
/**********
|
||||
TOOLS
|
||||
**********/
|
||||
GameRegistry.register(bronzepickaxe);
|
||||
GameRegistry.register(bronzeaxe);
|
||||
GameRegistry.register(bronzeshovel);
|
||||
GameRegistry.register(bronzehoe);
|
||||
|
||||
GameRegistry.register(ironpickaxe);
|
||||
GameRegistry.register(ironaxe);
|
||||
GameRegistry.register(ironshovel);
|
||||
@@ -355,6 +367,11 @@ public class ModItems {
|
||||
/**********
|
||||
TOOLS
|
||||
**********/
|
||||
registerRender(bronzepickaxe);
|
||||
registerRender(bronzeaxe);
|
||||
registerRender(bronzeshovel);
|
||||
registerRender(bronzehoe);
|
||||
|
||||
registerRender(ironpickaxe);
|
||||
registerRender(ironaxe);
|
||||
registerRender(ironshovel);
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
package nmd.primal.forgecraft.items.tools;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 3/29/17.
|
||||
*/
|
||||
public abstract class BasePickaxe extends BaseTool
|
||||
{
|
||||
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(new Block[] {Blocks.ACTIVATOR_RAIL, Blocks.COAL_ORE, Blocks.COBBLESTONE, Blocks.DETECTOR_RAIL, Blocks.DIAMOND_BLOCK, Blocks.DIAMOND_ORE, Blocks.DOUBLE_STONE_SLAB, Blocks.GOLDEN_RAIL, Blocks.GOLD_BLOCK, Blocks.GOLD_ORE, Blocks.ICE, Blocks.IRON_BLOCK, Blocks.IRON_ORE, Blocks.LAPIS_BLOCK, Blocks.LAPIS_ORE, Blocks.LIT_REDSTONE_ORE, Blocks.MOSSY_COBBLESTONE, Blocks.NETHERRACK, Blocks.PACKED_ICE, Blocks.RAIL, Blocks.REDSTONE_ORE, Blocks.SANDSTONE, Blocks.RED_SANDSTONE, Blocks.STONE, Blocks.STONE_SLAB, Blocks.STONE_BUTTON, Blocks.STONE_PRESSURE_PLATE});
|
||||
|
||||
protected BasePickaxe(ForgeToolMaterial material)
|
||||
{
|
||||
super(1.0F, -2.8F, material, EFFECTIVE_ON);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether this Item can harvest the given Block
|
||||
*/
|
||||
public boolean canHarvestBlock(IBlockState blockIn)
|
||||
{
|
||||
Block block = blockIn.getBlock();
|
||||
|
||||
if (block == Blocks.OBSIDIAN)
|
||||
{
|
||||
return this.toolMaterial.getHarvestLevel() == 3;
|
||||
}
|
||||
else if (block != Blocks.DIAMOND_BLOCK && block != Blocks.DIAMOND_ORE)
|
||||
{
|
||||
if (block != Blocks.EMERALD_ORE && block != Blocks.EMERALD_BLOCK)
|
||||
{
|
||||
if (block != Blocks.GOLD_BLOCK && block != Blocks.GOLD_ORE)
|
||||
{
|
||||
if (block != Blocks.IRON_BLOCK && block != Blocks.IRON_ORE)
|
||||
{
|
||||
if (block != Blocks.LAPIS_BLOCK && block != Blocks.LAPIS_ORE)
|
||||
{
|
||||
if (block != Blocks.REDSTONE_ORE && block != Blocks.LIT_REDSTONE_ORE)
|
||||
{
|
||||
Material material = blockIn.getMaterial();
|
||||
return material == Material.ROCK ? true : (material == Material.IRON ? true : material == Material.ANVIL);
|
||||
}
|
||||
else
|
||||
{
|
||||
return this.toolMaterial.getHarvestLevel() >= 2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return this.toolMaterial.getHarvestLevel() >= 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return this.toolMaterial.getHarvestLevel() >= 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return this.toolMaterial.getHarvestLevel() >= 2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return this.toolMaterial.getHarvestLevel() >= 2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return this.toolMaterial.getHarvestLevel() >= 2;
|
||||
}
|
||||
}
|
||||
|
||||
public float getStrVsBlock(ItemStack stack, IBlockState state)
|
||||
{
|
||||
Material material = state.getMaterial();
|
||||
return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial;
|
||||
}
|
||||
}
|
||||
@@ -1,262 +0,0 @@
|
||||
package nmd.primal.forgecraft.items.tools;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 3/29/17.
|
||||
*/
|
||||
public abstract class BaseTool extends Item {
|
||||
|
||||
private final Set<Block> effectiveBlocks;
|
||||
protected float efficiencyOnProperMaterial;
|
||||
/** Damage versus entities. */
|
||||
protected float damageVsEntity;
|
||||
protected float attackSpeed;
|
||||
/** The material this tool is made from. */
|
||||
protected ForgeToolMaterial toolMaterial;
|
||||
|
||||
protected BaseTool(float attackDamageIn, float attackSpeedIn, ForgeToolMaterial materialIn, Set<Block> effectiveBlocksIn)
|
||||
{
|
||||
this.efficiencyOnProperMaterial = 4.0F;
|
||||
this.toolMaterial = materialIn;
|
||||
this.effectiveBlocks = effectiveBlocksIn;
|
||||
this.maxStackSize = 1;
|
||||
this.setMaxDamage(materialIn.getMaxUses());
|
||||
this.efficiencyOnProperMaterial = materialIn.getEfficiencyOnProperMaterial();
|
||||
this.damageVsEntity = attackDamageIn + materialIn.getDamageVsEntity();
|
||||
this.attackSpeed = attackSpeedIn;
|
||||
this.setCreativeTab(CreativeTabs.TOOLS);
|
||||
}
|
||||
|
||||
protected BaseTool(ForgeToolMaterial materialIn, Set<Block> effectiveBlocksIn)
|
||||
{
|
||||
this(0.0F, 0.0F, materialIn, effectiveBlocksIn);
|
||||
}
|
||||
|
||||
public float getStrVsBlock(ItemStack stack, IBlockState state)
|
||||
{
|
||||
for (String type : getToolClasses(stack))
|
||||
{
|
||||
if (state.getBlock().isToolEffective(type, state))
|
||||
return efficiencyOnProperMaterial;
|
||||
}
|
||||
return this.effectiveBlocks.contains(state.getBlock()) ? this.efficiencyOnProperMaterial : 1.0F;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static enum ForgeToolMaterial {
|
||||
IRON(2, 250, 6.0F, 2.0F, 14);
|
||||
//DIAMOND(3, 1561, 8.0F, 3.0F, 10),
|
||||
//GOLD(0, 32, 12.0F, 0.0F, 22);
|
||||
|
||||
/**
|
||||
* The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = WOOD/GOLD)
|
||||
*/
|
||||
private int harvestLevel;
|
||||
/**
|
||||
* The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32)
|
||||
*/
|
||||
private int maxUses;
|
||||
/**
|
||||
* The strength of this tool material against blocks which it is effective against.
|
||||
*/
|
||||
private float efficiencyOnProperMaterial;
|
||||
/**
|
||||
* Damage versus entities.
|
||||
*/
|
||||
private float damageVsEntity;
|
||||
/**
|
||||
* Defines the natural enchantability factor of the material.
|
||||
*/
|
||||
private int enchantability;
|
||||
//Added by forge for custom Tool materials.
|
||||
|
||||
ForgeToolMaterial(int harvestLevel, int maxUses, float efficiency, float damageVsEntity, int enchantability) {
|
||||
this.harvestLevel = harvestLevel;
|
||||
this.maxUses = maxUses;
|
||||
this.efficiencyOnProperMaterial = efficiency;
|
||||
this.damageVsEntity = damageVsEntity;
|
||||
this.enchantability = enchantability;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32)
|
||||
*/
|
||||
public int getMaxUses() {
|
||||
return this.maxUses;
|
||||
}
|
||||
|
||||
public void setMaxUses(int maxUses) {
|
||||
this.maxUses = maxUses;
|
||||
}
|
||||
|
||||
/**
|
||||
* The strength of this tool material against blocks which it is effective against.
|
||||
*/
|
||||
public float getEfficiencyOnProperMaterial() {
|
||||
return this.efficiencyOnProperMaterial;
|
||||
}
|
||||
|
||||
public void setEfficiencyOnProperMaterial(float efficiencyOnProperMaterial) {
|
||||
this.efficiencyOnProperMaterial = efficiencyOnProperMaterial;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the damage against a given entity.
|
||||
*/
|
||||
public float getDamageVsEntity() {
|
||||
return this.damageVsEntity;
|
||||
}
|
||||
|
||||
public void setDamageVsEntity(float damageVsEntity) {
|
||||
this.damageVsEntity = damageVsEntity;
|
||||
}
|
||||
|
||||
/**
|
||||
* The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = IRON/GOLD)
|
||||
*/
|
||||
public int getHarvestLevel() {
|
||||
return this.harvestLevel;
|
||||
}
|
||||
|
||||
public void setHarvestLevel(int harvestLevel) {
|
||||
this.harvestLevel = harvestLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the natural enchantability factor of the material.
|
||||
*/
|
||||
public int getEnchantability() {
|
||||
return this.enchantability;
|
||||
}
|
||||
|
||||
public void setEnchantability(int enchantability) {
|
||||
this.enchantability = enchantability;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Current implementations of this method in child classes do not use the entry argument beside ev. They just raise
|
||||
* the damage on the stack.
|
||||
*/
|
||||
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker)
|
||||
{
|
||||
stack.damageItem(2, attacker);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when a Block is destroyed using this Item. Return true to trigger the "Use Item" statistic.
|
||||
*/
|
||||
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving)
|
||||
{
|
||||
if (!worldIn.isRemote && (double)state.getBlockHardness(worldIn, pos) != 0.0D)
|
||||
{
|
||||
stack.damageItem(1, entityLiving);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns True is the item is renderer in full 3D when hold.
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean isFull3D()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public ForgeToolMaterial getToolMaterial()
|
||||
{
|
||||
return this.toolMaterial;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the enchantability factor of the item, most of the time is based on material.
|
||||
*/
|
||||
public int getItemEnchantability()
|
||||
{
|
||||
return this.toolMaterial.getEnchantability();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the name for this tool's material.
|
||||
*/
|
||||
public String getToolMaterialName()
|
||||
{
|
||||
return this.toolMaterial.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return whether this item is repairable in an anvil.
|
||||
*/
|
||||
public boolean getIsRepairable(ItemStack toRepair, ItemStack repair)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public Multimap<String, AttributeModifier> getItemAttributeModifiers(EntityEquipmentSlot equipmentSlot)
|
||||
{
|
||||
Multimap<String, AttributeModifier> multimap = super.getItemAttributeModifiers(equipmentSlot);
|
||||
|
||||
if (equipmentSlot == EntityEquipmentSlot.MAINHAND)
|
||||
{
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Tool modifier", (double)this.damageVsEntity, 0));
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), new AttributeModifier(ATTACK_SPEED_MODIFIER, "Tool modifier", (double)this.attackSpeed, 0));
|
||||
}
|
||||
|
||||
return multimap;
|
||||
}
|
||||
|
||||
/*===================================== FORGE START =================================*/
|
||||
@javax.annotation.Nullable
|
||||
private String toolClass;
|
||||
@Override
|
||||
public int getHarvestLevel(ItemStack stack, String toolClass, @javax.annotation.Nullable net.minecraft.entity.player.EntityPlayer player, @javax.annotation.Nullable IBlockState blockState)
|
||||
{
|
||||
int level = super.getHarvestLevel(stack, toolClass, player, blockState);
|
||||
if (level == -1 && toolClass.equals(this.toolClass))
|
||||
{
|
||||
return this.toolMaterial.getHarvestLevel();
|
||||
}
|
||||
else
|
||||
{
|
||||
return level;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getToolClasses(ItemStack stack)
|
||||
{
|
||||
return toolClass != null ? com.google.common.collect.ImmutableSet.of(toolClass) : super.getToolClasses(stack);
|
||||
}
|
||||
/*===================================== FORGE END =================================*/
|
||||
}
|
||||
@@ -0,0 +1,235 @@
|
||||
package nmd.primal.forgecraft.items.tools;
|
||||
|
||||
import com.mojang.realmsclient.gui.ChatFormatting;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.IItemPropertyGetter;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemAxe;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import nmd.primal.core.common.helper.PlayerHelper;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.util.ToolNBT;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 6/25/17.
|
||||
*/
|
||||
public class BronzeAxe extends ItemAxe implements ToolNBT {
|
||||
|
||||
public BronzeAxe(String name, Item.ToolMaterial material) {
|
||||
super(material, 5, -2f);
|
||||
this.setUnlocalizedName(name);
|
||||
this.setRegistryName(name);
|
||||
this.setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||
this.setMaxStackSize(1);
|
||||
this.setNoRepair();
|
||||
|
||||
this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() {
|
||||
|
||||
/***
|
||||
|
||||
hot . emerald . diamond . redstone . lapis
|
||||
0 . 0 . 0 . 0 . 0
|
||||
|
||||
***/
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn)
|
||||
{
|
||||
if (item.hasTagCompound()) {
|
||||
|
||||
|
||||
if (getModifiers(item) != 0) {
|
||||
if (getEmerald(item)) {
|
||||
return 0.1F;
|
||||
}
|
||||
|
||||
if (getDiamondLevel(item) == 1) {
|
||||
return 0.2F;
|
||||
}
|
||||
|
||||
if ( getRedstoneLevel(item) == 1) {
|
||||
return 0.3F;
|
||||
}
|
||||
|
||||
if (getLapisLevel(item) == 1) {
|
||||
return 0.4F;
|
||||
}
|
||||
}
|
||||
if (getModifiers(item) == 0) {
|
||||
return 0.0F;
|
||||
}
|
||||
}
|
||||
return 0.0F;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static boolean isHidden()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreated(ItemStack item, World world, EntityPlayer playerIn) {
|
||||
|
||||
if(!world.isRemote) {
|
||||
if (!item.hasTagCompound()) {
|
||||
item.setTagCompound(new NBTTagCompound());
|
||||
NBTTagCompound tags = new NBTTagCompound();
|
||||
|
||||
item.getTagCompound().setTag("tags", tags);
|
||||
|
||||
/*setHot(item, false);
|
||||
|
||||
setHot(item, false);
|
||||
setEmerald(item, false);
|
||||
setDiamondLevel(item, 0);
|
||||
setRedstoneLevel(item, 0);
|
||||
setLapisLevel(item, 0);
|
||||
setModifiers(item, 0);*/
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) {
|
||||
if(!world.isRemote) {
|
||||
if (!item.hasTagCompound()) {
|
||||
item.setTagCompound(new NBTTagCompound());
|
||||
NBTTagCompound tags = new NBTTagCompound();
|
||||
|
||||
item.getTagCompound().setTag("tags", tags);
|
||||
|
||||
setHot(item, false);
|
||||
setEmerald(item, false);
|
||||
setDiamondLevel(item, 0);
|
||||
setRedstoneLevel(item, 0);
|
||||
setLapisLevel(item, 0);
|
||||
setModifiers(item, 0);
|
||||
}
|
||||
if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){
|
||||
PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.bronzeaxehead, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//public void onItemTooltip(ItemTooltipEvent event){
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack item, EntityPlayer player, List<String> tooltip, boolean advanced)
|
||||
{
|
||||
if(!item.isEmpty()) {
|
||||
if (player.getEntityWorld().isRemote) {
|
||||
|
||||
if (item.hasTagCompound()) {
|
||||
|
||||
tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) );
|
||||
if (getEmerald(item) == true) {
|
||||
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
|
||||
}
|
||||
if (getDiamondLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item));
|
||||
}
|
||||
if (getRedstoneLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.RED + "Redstone Level: " + "1" );
|
||||
}
|
||||
if (getLapisLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + "5" );
|
||||
}
|
||||
tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@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 CustomAxe){
|
||||
if( getEmerald(itemstack)){
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
|
||||
}
|
||||
/*if( getDiamondLevel(itemstack) > 0 ){
|
||||
itemstack.getItem().setHarvestLevel("pickaxe", 3);
|
||||
}*/
|
||||
if ( getLapisLevel(itemstack) > 0) {
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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());
|
||||
if(getDiamondLevel(stack) > 0) {
|
||||
if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) {
|
||||
stack.damageItem(1, entityLiving);
|
||||
}
|
||||
} else stack.damageItem(1, entityLiving);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getStrVsBlock(ItemStack stack, IBlockState state)
|
||||
{
|
||||
Material material = state.getMaterial();
|
||||
//return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial;
|
||||
|
||||
if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){
|
||||
return super.getStrVsBlock(stack, state);
|
||||
} else {
|
||||
return this.efficiencyOnProperMaterial + 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public boolean hasEffect(ItemStack stack)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRepairable()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getItemEnchantability(ItemStack stack)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
package nmd.primal.forgecraft.items.tools;
|
||||
|
||||
import com.mojang.realmsclient.gui.ChatFormatting;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.IItemPropertyGetter;
|
||||
import net.minecraft.item.ItemHoe;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import nmd.primal.core.common.helper.PlayerHelper;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.util.ToolNBT;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 3/21/17.
|
||||
*/
|
||||
public class BronzeHoe extends ItemHoe implements ToolNBT {
|
||||
|
||||
public BronzeHoe(String name, ToolMaterial material) {
|
||||
super(material);
|
||||
this.setUnlocalizedName(name);
|
||||
this.setRegistryName(name);
|
||||
this.setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||
this.setMaxStackSize(1);
|
||||
this.setNoRepair();
|
||||
|
||||
this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() {
|
||||
|
||||
/***
|
||||
|
||||
hot . emerald . diamond . redstone . lapis
|
||||
0 . 0 . 0 . 0 . 0
|
||||
|
||||
***/
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn)
|
||||
{
|
||||
if (item.hasTagCompound()) {
|
||||
|
||||
|
||||
if (getModifiers(item) != 0) {
|
||||
if (getEmerald(item)) {
|
||||
return 0.1F;
|
||||
}
|
||||
|
||||
if (getDiamondLevel(item) == 1) {
|
||||
return 0.2F;
|
||||
}
|
||||
|
||||
if ( getRedstoneLevel(item) == 1) {
|
||||
return 0.3F;
|
||||
}
|
||||
|
||||
if (getLapisLevel(item) == 1) {
|
||||
return 0.4F;
|
||||
}
|
||||
}
|
||||
if (getModifiers(item) == 0) {
|
||||
return 0.0F;
|
||||
}
|
||||
}
|
||||
return 0.0F;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static boolean isHidden()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreated(ItemStack item, World world, EntityPlayer playerIn) {
|
||||
|
||||
if(!world.isRemote) {
|
||||
if (!item.hasTagCompound()) {
|
||||
item.setTagCompound(new NBTTagCompound());
|
||||
NBTTagCompound tags = new NBTTagCompound();
|
||||
|
||||
item.getTagCompound().setTag("tags", tags);
|
||||
|
||||
/*setHot(item, false);
|
||||
|
||||
setHot(item, false);
|
||||
setEmerald(item, false);
|
||||
setDiamondLevel(item, 0);
|
||||
setRedstoneLevel(item, 0);
|
||||
setLapisLevel(item, 0);
|
||||
setModifiers(item, 0);*/
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) {
|
||||
if(!world.isRemote) {
|
||||
if (!item.hasTagCompound()) {
|
||||
item.setTagCompound(new NBTTagCompound());
|
||||
NBTTagCompound tags = new NBTTagCompound();
|
||||
|
||||
item.getTagCompound().setTag("tags", tags);
|
||||
|
||||
setHot(item, false);
|
||||
setEmerald(item, false);
|
||||
setDiamondLevel(item, 0);
|
||||
setRedstoneLevel(item, 0);
|
||||
setLapisLevel(item, 0);
|
||||
setModifiers(item, 0);
|
||||
|
||||
}
|
||||
if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){
|
||||
PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.bronzehoehead, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//public void onItemTooltip(ItemTooltipEvent event){
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack item, EntityPlayer player, List<String> tooltip, boolean advanced)
|
||||
{
|
||||
if(player.getEntityWorld().isRemote) {
|
||||
//tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() );
|
||||
if(item.hasTagCompound()) {
|
||||
|
||||
tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) );
|
||||
if (getEmerald(item) == true) {
|
||||
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
|
||||
}
|
||||
if (getDiamondLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item));
|
||||
}
|
||||
if (getRedstoneLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.RED + "Redstone Level: " + 1 );
|
||||
}
|
||||
if (getLapisLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + 5 );
|
||||
}
|
||||
tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
|
||||
{
|
||||
if(!player.world.isRemote){
|
||||
World world = player.getEntityWorld();
|
||||
|
||||
if(itemstack.getItem() instanceof BronzeHoe){
|
||||
if( getEmerald(itemstack)){
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
|
||||
}
|
||||
/*if( getDiamondLevel(itemstack) > 0 ){
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack));
|
||||
itemstack.getItem().setHarvestLevel("pickaxe", 3);
|
||||
}*/
|
||||
/*if( getRedstoneLevel(itemstack) > 0 ){
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack));
|
||||
//System.out.println(itemstack.getEnchantmentTagList());
|
||||
}*/
|
||||
if ( getLapisLevel(itemstack) > 0) {
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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());
|
||||
if(getDiamondLevel(stack) > 0) {
|
||||
if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) {
|
||||
stack.damageItem(1, entityLiving);
|
||||
}
|
||||
} else stack.damageItem(1, entityLiving);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public boolean hasEffect(ItemStack stack)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRepairable()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getItemEnchantability(ItemStack stack)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
package nmd.primal.forgecraft.items.tools;
|
||||
|
||||
import com.mojang.realmsclient.gui.ChatFormatting;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.IItemPropertyGetter;
|
||||
import net.minecraft.item.ItemPickaxe;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import nmd.primal.core.common.helper.PlayerHelper;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.util.ToolNBT;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 3/14/17.
|
||||
*/
|
||||
public class BronzePickaxe extends ItemPickaxe implements ToolNBT{
|
||||
|
||||
public BronzePickaxe(String name, ToolMaterial material) {
|
||||
super(material);
|
||||
this.setUnlocalizedName(name);
|
||||
this.setRegistryName(name);
|
||||
this.setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||
this.setMaxStackSize(1);
|
||||
this.setNoRepair();
|
||||
|
||||
//this.toolClass = "pickaxe";
|
||||
|
||||
this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() {
|
||||
|
||||
/***
|
||||
|
||||
hot . emerald . diamond . redstone . lapis
|
||||
0 . 0 . 0 . 0 . 0
|
||||
|
||||
***/
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn)
|
||||
{
|
||||
if (item.hasTagCompound()) {
|
||||
|
||||
|
||||
if (getModifiers(item) != 0) {
|
||||
if (getEmerald(item)) {
|
||||
return 0.1F;
|
||||
}
|
||||
|
||||
if (getDiamondLevel(item) == 1) {
|
||||
return 0.2F;
|
||||
}
|
||||
|
||||
if ( getRedstoneLevel(item) == 1) {
|
||||
return 0.3F;
|
||||
}
|
||||
|
||||
if (getLapisLevel(item) == 1) {
|
||||
return 0.4F;
|
||||
}
|
||||
}
|
||||
if (getModifiers(item) == 0) {
|
||||
return 0.0F;
|
||||
}
|
||||
}
|
||||
return 0.0F;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static boolean isHidden()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreated(ItemStack item, World world, EntityPlayer playerIn) {
|
||||
|
||||
if(!world.isRemote) {
|
||||
if (!item.hasTagCompound()) {
|
||||
item.setTagCompound(new NBTTagCompound());
|
||||
NBTTagCompound tags = new NBTTagCompound();
|
||||
|
||||
item.getTagCompound().setTag("tags", tags);
|
||||
|
||||
/*setHot(item, false);
|
||||
|
||||
setHot(item, false);
|
||||
setEmerald(item, false);
|
||||
setDiamondLevel(item, 0);
|
||||
setRedstoneLevel(item, 0);
|
||||
setLapisLevel(item, 0);
|
||||
setModifiers(item, 0);*/
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) {
|
||||
if(!world.isRemote) {
|
||||
if (!item.hasTagCompound()) {
|
||||
item.setTagCompound(new NBTTagCompound());
|
||||
NBTTagCompound tags = new NBTTagCompound();
|
||||
|
||||
item.getTagCompound().setTag("tags", tags);
|
||||
|
||||
setHot(item, false);
|
||||
setEmerald(item, false);
|
||||
setDiamondLevel(item, 0);
|
||||
setRedstoneLevel(item, 0);
|
||||
setLapisLevel(item, 0);
|
||||
setModifiers(item, 0);
|
||||
|
||||
}
|
||||
if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){
|
||||
PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.bronzepickaxehead, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//public void onItemTooltip(ItemTooltipEvent event){
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack item, EntityPlayer player, List<String> tooltip, boolean advanced)
|
||||
{
|
||||
if(player.getEntityWorld().isRemote) {
|
||||
//tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() );
|
||||
if(item.hasTagCompound()) {
|
||||
|
||||
tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) );
|
||||
if (getEmerald(item) == true) {
|
||||
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
|
||||
}
|
||||
if (getDiamondLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item));
|
||||
}
|
||||
if (getRedstoneLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.RED + "Redstone Level: " + 1 );
|
||||
}
|
||||
if (getLapisLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + 5 );
|
||||
}
|
||||
tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@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 BronzePickaxe){
|
||||
if( getEmerald(itemstack)){
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
|
||||
}
|
||||
/*if( getDiamondLevel(itemstack) > 0 ){
|
||||
//itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack));
|
||||
itemstack.getItem().setHarvestLevel("pickaxe", 3);
|
||||
}*/
|
||||
if ( getLapisLevel(itemstack) > 0) {
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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());
|
||||
if(getDiamondLevel(stack) > 0) {
|
||||
if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) {
|
||||
stack.damageItem(1, entityLiving);
|
||||
}
|
||||
} else stack.damageItem(1, entityLiving);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public boolean hasEffect(ItemStack stack)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRepairable()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getItemEnchantability(ItemStack stack)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getStrVsBlock(ItemStack stack, IBlockState state)
|
||||
{
|
||||
Material material = state.getMaterial();
|
||||
//return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial;
|
||||
|
||||
if(material != Material.IRON && material != Material.ANVIL && material != Material.ROCK){
|
||||
return super.getStrVsBlock(stack, state);
|
||||
} else {
|
||||
return this.efficiencyOnProperMaterial + 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
package nmd.primal.forgecraft.items.tools;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.mojang.realmsclient.gui.ChatFormatting;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.IItemPropertyGetter;
|
||||
import net.minecraft.item.ItemSpade;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import nmd.primal.core.common.helper.PlayerHelper;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.util.ToolNBT;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 3/21/17.
|
||||
*/
|
||||
public class BronzeShovel extends ItemSpade implements ToolNBT {
|
||||
|
||||
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(new Block[] {Blocks.CLAY, Blocks.DIRT, Blocks.FARMLAND, Blocks.GRASS, Blocks.GRAVEL, Blocks.MYCELIUM, Blocks.SAND, Blocks.SNOW, Blocks.SNOW_LAYER, Blocks.SOUL_SAND, Blocks.GRASS_PATH});
|
||||
|
||||
public BronzeShovel(String name, ToolMaterial material) {
|
||||
super(material);
|
||||
this.setUnlocalizedName(name);
|
||||
this.setRegistryName(name);
|
||||
this.setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||
this.setMaxStackSize(1);
|
||||
this.setNoRepair();
|
||||
|
||||
this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() {
|
||||
|
||||
/***
|
||||
|
||||
hot . emerald . diamond . redstone . lapis
|
||||
0 . 0 . 0 . 0 . 0
|
||||
|
||||
***/
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn)
|
||||
{
|
||||
if (item.hasTagCompound()) {
|
||||
|
||||
|
||||
if (getModifiers(item) != 0) {
|
||||
if (getEmerald(item)) {
|
||||
return 0.1F;
|
||||
}
|
||||
|
||||
if (getDiamondLevel(item) == 1) {
|
||||
return 0.2F;
|
||||
}
|
||||
|
||||
if ( getRedstoneLevel(item) == 1) {
|
||||
return 0.3F;
|
||||
}
|
||||
|
||||
if (getLapisLevel(item) == 1) {
|
||||
return 0.4F;
|
||||
}
|
||||
}
|
||||
if (getModifiers(item) == 0) {
|
||||
return 0.0F;
|
||||
}
|
||||
}
|
||||
return 0.0F;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static boolean isHidden()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreated(ItemStack item, World world, EntityPlayer playerIn) {
|
||||
|
||||
if(!world.isRemote) {
|
||||
if (!item.hasTagCompound()) {
|
||||
item.setTagCompound(new NBTTagCompound());
|
||||
NBTTagCompound tags = new NBTTagCompound();
|
||||
|
||||
item.getTagCompound().setTag("tags", tags);
|
||||
|
||||
/*setHot(item, false);
|
||||
|
||||
setHot(item, false);
|
||||
setEmerald(item, false);
|
||||
setDiamondLevel(item, 0);
|
||||
setRedstoneLevel(item, 0);
|
||||
setLapisLevel(item, 0);
|
||||
setModifiers(item, 0);*/
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) {
|
||||
if(!world.isRemote) {
|
||||
if (!item.hasTagCompound()) {
|
||||
item.setTagCompound(new NBTTagCompound());
|
||||
NBTTagCompound tags = new NBTTagCompound();
|
||||
|
||||
item.getTagCompound().setTag("tags", tags);
|
||||
|
||||
setHot(item, false);
|
||||
setEmerald(item, false);
|
||||
setDiamondLevel(item, 0);
|
||||
setRedstoneLevel(item, 0);
|
||||
setLapisLevel(item, 0);
|
||||
setModifiers(item, 0);
|
||||
|
||||
}
|
||||
if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){
|
||||
PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.bronzeshovelhead, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//public void onItemTooltip(ItemTooltipEvent event){
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack item, EntityPlayer player, List<String> tooltip, boolean advanced)
|
||||
{
|
||||
if(player.getEntityWorld().isRemote) {
|
||||
//tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() );
|
||||
if(item.hasTagCompound()) {
|
||||
|
||||
tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) );
|
||||
if (getEmerald(item) == true) {
|
||||
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
|
||||
}
|
||||
if (getDiamondLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item));
|
||||
}
|
||||
if (getRedstoneLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.RED + "Redstone Level: " + 1 );
|
||||
}
|
||||
if (getLapisLevel(item) > 0) {
|
||||
tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + 5 );
|
||||
}
|
||||
tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
|
||||
{
|
||||
if(!player.world.isRemote){
|
||||
World world = player.getEntityWorld();
|
||||
|
||||
if(itemstack.getItem() instanceof BronzeShovel){
|
||||
if( getEmerald(itemstack)){
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
|
||||
}
|
||||
if ( getLapisLevel(itemstack) > 0) {
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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());
|
||||
if(getDiamondLevel(stack) > 0) {
|
||||
if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) {
|
||||
stack.damageItem(1, entityLiving);
|
||||
}
|
||||
} else stack.damageItem(1, entityLiving);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getStrVsBlock(ItemStack stack, IBlockState state)
|
||||
{
|
||||
for (String type : getToolClasses(stack))
|
||||
{
|
||||
if (state.getBlock().isToolEffective(type, state))
|
||||
return efficiencyOnProperMaterial;
|
||||
}
|
||||
return this.efficiencyOnProperMaterial + 1;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public boolean hasEffect(ItemStack stack)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRepairable()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getItemEnchantability(ItemStack stack)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -298,7 +298,7 @@ public class CustomHoe extends ItemHoe implements ToolNBT {
|
||||
{
|
||||
if(!player.world.isRemote){
|
||||
World world = player.getEntityWorld();
|
||||
System.out.println(world.getBlockState(pos).getBlock());
|
||||
|
||||
if(itemstack.getItem() instanceof CustomHoe){
|
||||
if( getEmerald(itemstack)){
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
|
||||
|
||||
@@ -304,14 +304,13 @@ public class CustomShovel extends ItemSpade implements ToolNBT {
|
||||
{
|
||||
if(!player.world.isRemote){
|
||||
World world = player.getEntityWorld();
|
||||
System.out.println(world.getBlockState(pos).getBlock());
|
||||
if(itemstack.getItem() instanceof CustomShovel){
|
||||
if( getEmerald(itemstack)){
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
|
||||
}
|
||||
if( getDiamondLevel(itemstack) > 0 ){
|
||||
//itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack));
|
||||
itemstack.getItem().setHarvestLevel("pickaxe", 3);
|
||||
itemstack.getItem().setHarvestLevel("shovel", 3);
|
||||
}
|
||||
/*if( getRedstoneLevel(itemstack) > 0 ){
|
||||
itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack));
|
||||
|
||||
@@ -103,21 +103,38 @@ public class TileBloomery extends TileBaseSlot implements ITickable {
|
||||
|
||||
private void slotZeroManager(World world){
|
||||
if(this.getSlotStack(0) != ItemStack.EMPTY) {
|
||||
Integer decrInt = (int) Math.floor(getVanillaItemBurnTime(this.getSlotStack(0)) / 100);
|
||||
Integer decrInt = (int) Math.floor(getVanillaItemBurnTime(this.getSlotStack(0)) / 5);
|
||||
if(decrInt == 0) {
|
||||
decrInt = 1;
|
||||
}
|
||||
Integer size = this.getSlotStack(0).getCount();
|
||||
Integer burnModifier = 0;
|
||||
if(size / 16 <= 1){
|
||||
burnModifier = 1;
|
||||
}
|
||||
if(size / 16 > 1 && size / 16 <= 2){
|
||||
burnModifier = 2;
|
||||
}
|
||||
if(size / 16 > 2 && size / 16 <= 3){
|
||||
burnModifier = 3;
|
||||
}
|
||||
if(size / 16 > 3 && size / 16 <= 4){
|
||||
burnModifier = 4;
|
||||
}
|
||||
if (world.rand.nextInt(decrInt) == 0) {
|
||||
if (world.rand.nextInt(burnModifier) == 0) {
|
||||
System.out.println("Fuel Burn" + this.getSlotStack(0));
|
||||
this.decrStackSize(0, 1);
|
||||
this.markDirty();
|
||||
this.updateBlock();
|
||||
}
|
||||
}
|
||||
if (this.getSlotStack(0).getCount() == 1){
|
||||
this.decrStackSize(0, 1);
|
||||
this.markDirty();
|
||||
this.updateBlock();
|
||||
}
|
||||
if(CommonUtils.randomCheck(200)) {
|
||||
if(CommonUtils.randomCheck(1000)) {
|
||||
makeSmoke(world, pos);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,21 +63,38 @@ public class TileForge extends TileBaseSlot implements ITickable {
|
||||
|
||||
private void slotZeroManager(World world){
|
||||
if(this.getSlotStack(0) != ItemStack.EMPTY) {
|
||||
Integer decrInt = (int) Math.floor(getVanillaItemBurnTime(this.getSlotStack(0)) / 100);
|
||||
Integer decrInt = (int) Math.floor(getVanillaItemBurnTime(this.getSlotStack(0)) / 5);
|
||||
if(decrInt == 0) {
|
||||
decrInt = 1;
|
||||
}
|
||||
Integer size = this.getSlotStack(0).getCount();
|
||||
Integer burnModifier = 0;
|
||||
if(size / 16 <= 1){
|
||||
burnModifier = 1;
|
||||
}
|
||||
if(size / 16 > 1 && size / 16 <= 2){
|
||||
burnModifier = 2;
|
||||
}
|
||||
if(size / 16 > 2 && size / 16 <= 3){
|
||||
burnModifier = 3;
|
||||
}
|
||||
if(size / 16 > 3 && size / 16 <= 4){
|
||||
burnModifier = 4;
|
||||
}
|
||||
if (world.rand.nextInt(decrInt) == 0) {
|
||||
if (world.rand.nextInt(burnModifier) == 0) {
|
||||
System.out.println("Fuel Burn" + this.getSlotStack(0));
|
||||
this.decrStackSize(0, 1);
|
||||
this.markDirty();
|
||||
this.updateBlock();
|
||||
}
|
||||
}
|
||||
if (this.getSlotStack(0).getCount() == 1){
|
||||
this.decrStackSize(0, 1);
|
||||
this.markDirty();
|
||||
this.updateBlock();
|
||||
}
|
||||
if(CommonUtils.randomCheck(200)) {
|
||||
if(CommonUtils.randomCheck(1000)) {
|
||||
makeSmoke(world, pos);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,24 @@
|
||||
package nmd.primal.forgecraft.util;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import nmd.primal.core.api.PrimalBlocks;
|
||||
import nmd.primal.core.api.PrimalItems;
|
||||
import nmd.primal.core.common.helper.PlayerHelper;
|
||||
import nmd.primal.forgecraft.blocks.CustomContainerFacing;
|
||||
import nmd.primal.forgecraft.init.ModBlocks;
|
||||
import nmd.primal.forgecraft.tiles.TileBreaker;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static net.minecraftforge.oredict.OreDictionary.getOreIDs;
|
||||
import static nmd.primal.core.common.helper.CommonUtils.randomCheck;
|
||||
|
||||
//import nmd.primal.forgecraft.CommonUtils;
|
||||
@@ -20,14 +28,46 @@ import static nmd.primal.core.common.helper.CommonUtils.randomCheck;
|
||||
*/
|
||||
public interface BreakerHandler {
|
||||
|
||||
default boolean hasOreName(ItemStack itemStack, String oreName)
|
||||
{
|
||||
int[] oreIds = OreDictionary.getOreIDs(itemStack);
|
||||
for(int oreId : oreIds)
|
||||
{
|
||||
String oreNameEntry = OreDictionary.getOreName(oreId);
|
||||
if(oreName.equals(oreNameEntry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
int checkid = OreDictionary.getOreID(oreDictName);
|
||||
for (int id:OreDictionary.getOreIDs(stack))
|
||||
if(id == checkid) return true;
|
||||
return false;
|
||||
*/
|
||||
|
||||
// somewhere else
|
||||
//if(hasOreName(new ItemStack(Blocks.LOG), "logWood"))
|
||||
// item is logWood
|
||||
|
||||
default void doBreaking(World world, IBlockState state, BlockPos pos, TileBreaker tile){
|
||||
|
||||
if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.EAST) {
|
||||
|
||||
if(tile.getCharge() > getThreshold(world, pos.east())) {
|
||||
if (world.getBlockState(pos.east()).getBlock() == Blocks.IRON_ORE) {
|
||||
world.setBlockToAir(pos.east());
|
||||
PlayerHelper.spawnItemOnGround(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2)));
|
||||
for (EnumFacing face : EnumFacing.values()) {
|
||||
if(world.getBlockState(pos).getValue(CustomContainerFacing.FACING) == face) {
|
||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||
Block smashBlock = world.getBlockState(pos.offset(face)).getBlock();
|
||||
ItemStack smashStack = new ItemStack(smashBlock, 1);
|
||||
System.out.println(smashStack.getItem());
|
||||
if (hasOreName(smashStack, "oreIron")) {
|
||||
world.setBlockToAir(pos.offset(face));
|
||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2)));
|
||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||
}
|
||||
if (hasOreName(smashStack, "oreCopper")) {
|
||||
world.setBlockToAir(pos.offset(face));
|
||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.COPPER_DUST, randomChanceReturn(9, 1, 2)));
|
||||
|
||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||
}
|
||||
@@ -35,42 +75,9 @@ public interface BreakerHandler {
|
||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 10);
|
||||
}
|
||||
}
|
||||
if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.WEST) {
|
||||
if(tile.getCharge() > getThreshold(world, pos.west())) {
|
||||
if (world.getBlockState(pos.west()).getBlock() == Blocks.IRON_ORE) {
|
||||
world.setBlockToAir(pos.west());
|
||||
PlayerHelper.spawnItemOnGround(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2)));
|
||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+1);
|
||||
}
|
||||
} else {
|
||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+10);
|
||||
}
|
||||
}
|
||||
if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.SOUTH) {
|
||||
if(tile.getCharge() > getThreshold(world, pos.south())) {
|
||||
if (world.getBlockState(pos.south()).getBlock() == Blocks.IRON_ORE) {
|
||||
world.setBlockToAir(pos.south());
|
||||
PlayerHelper.spawnItemOnGround(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2)));
|
||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+1);
|
||||
}
|
||||
} else {
|
||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+10);
|
||||
}
|
||||
}
|
||||
if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.NORTH) {
|
||||
if(tile.getCharge() > getThreshold(world, pos.north())) {
|
||||
if (world.getBlockState(pos.north()).getBlock() == Blocks.IRON_ORE) {
|
||||
world.setBlockToAir(pos.north());
|
||||
PlayerHelper.spawnItemOnGround(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2)));
|
||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+1);
|
||||
}
|
||||
} else {
|
||||
//tile.getSlotStack(0).damageItem(10, (EntityPlayer) null);
|
||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+10);
|
||||
}
|
||||
}
|
||||
tile.setCharge(0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
default float getThreshold(World world, BlockPos pos){
|
||||
float threshold = world.getBlockState(pos).getBlockHardness(world, pos) * (world.getBlockState(pos).getBlock().getExplosionResistance(null)*5);
|
||||
|
||||
@@ -1,17 +1,24 @@
|
||||
itemGroup.forgecraft=ForgeCraft
|
||||
|
||||
|
||||
tile.castingform.name=Casting Form
|
||||
tile.castingblock.name=Casting Block
|
||||
tile.bloomery_adobe.name=Adobe Bloomery
|
||||
tile.bloomery_brick.name=Brick Bloomery
|
||||
|
||||
tile.forge_brick.name=Brick Forge
|
||||
tile.forge_adobe.name=Adobe Forge
|
||||
|
||||
tile.blockbreaker.name= Block Breaker
|
||||
|
||||
tile.stoneanvil.name=Stone Anvil
|
||||
tile.ironanvil.name=Iron Anvil
|
||||
|
||||
tile.pistonbellows.name=Wooden Piston Bellows
|
||||
|
||||
|
||||
tile.pistonbellowsoak.name=Oak Piston Bellows
|
||||
tile.pistonbellowsjungle.name=Jungle Piston Bellows
|
||||
tile.pistonbellowsbirch.name=Birch Piston Bellows
|
||||
tile.pistonbellowsspruce.name=Spruce Piston Bellows
|
||||
tile.pistonbellowsdarkoak.name=Dark Oak Piston Bellows
|
||||
tile.pistonbellowsacacia.name=Acacia Piston Bellows
|
||||
|
||||
tile.emptycruciblehot.name=Empty Hot Crucible
|
||||
tile.emptycrucible.name=Empty Crucible
|
||||
@@ -19,6 +26,28 @@ tile.emptycruciblehit.name=Hot Empty Crucible
|
||||
tile.emptycruciblecracked.name= Cracked Empty Crucible
|
||||
tile.emptycruciblecrackedhot.name=Cracked Hot Empty Crucible
|
||||
|
||||
tile.rawbronzecrucible.name=Raw Bronze Crucible
|
||||
tile.hotbronzecrucible.name=Hot Bronze Crucible
|
||||
tile.hotcookedbronzecrucible.name=Finished Bronze Crucible
|
||||
|
||||
tile.rawbronzecrucible_emerald.name=Raw Emerald Bronze Crucible
|
||||
tile.hotbronzecrucible_emerald.name=Hot Emerald Bronze Crucible
|
||||
tile.hotcookedbronzecrucible_emerald.name=Finished Emerald Bronze Crucible
|
||||
|
||||
tile.rawbronzecrucible_diamond.name=Raw Diamond Bronze Crucible
|
||||
tile.hotbronzecrucible_diamond.name=Hot Diamond Bronze Crucible
|
||||
tile.hotcookedbronzecrucible_diamond.name=Finished Diamond Bronze Crucible
|
||||
|
||||
tile.rawbronzecrucible_lapis.name=Raw Lapis Bronze Crucible
|
||||
tile.hotbronzecrucible_lapis.name=Hot Lapis Bronze Crucible
|
||||
tile.hotcookedbronzecrucible_lapis.name=Finished Lapis Bronze Crucible
|
||||
|
||||
tile.rawbronzecrucible_redstone.name=Raw Redstone Bronze Crucible
|
||||
tile.hotbronzecrucible_redstone.name=Hot Redstone Bronze Crucible
|
||||
tile.hotcookedbronzecrucible_redstone.name=Finished Redstone Bronze Crucible
|
||||
|
||||
|
||||
|
||||
tile.rawironcrucible.name=Filled Iron Crucible
|
||||
tile.hotironcrucible.name=Hot Iron Crucible
|
||||
tile.hotcookedironcrucible.name=Hot Cooked Iron Crucible
|
||||
@@ -62,19 +91,33 @@ item.softcrucible.name=Soft Crucible
|
||||
item.stonetongs.name=Stone Tongs
|
||||
item.forgehammer.name=Forge Hammer
|
||||
|
||||
item.cast_axe.name=Axe Cast
|
||||
item.cast_gladius.name=Gladius Cast
|
||||
item.cast_pickaxe.name=Pickaxe Cast
|
||||
item.cast_shovel.name=Shovel Cast
|
||||
item.cast_hoe.name=Hoe Cast
|
||||
item.bronzegladius.name=Bronze Gladius
|
||||
|
||||
item.ironingothot.name=Iron Ingot Hot
|
||||
item.ironchunkhot.name=Iron Chunk Hot
|
||||
item.ironingothot.name=Hot Iron Ingot
|
||||
item.ironchunkhot.name=Hot Iron Chunk
|
||||
|
||||
item.cleanironingothot.name=Clean Iron Ingot Hot
|
||||
item.cleanironchunkhot.name=Clean Iron Chunk Hot
|
||||
item.ironcleaningotballhot.name=Hot Clean Iron Ingot
|
||||
item.ironcleanchunkhot.name=Hot Clean Iron Chunk
|
||||
|
||||
item.steelingothot.name=Steel Ingot Hot
|
||||
item.steelchunkhot.name=Steel Chunk Hot
|
||||
item.steelingotballhot.name=Hot Steel Ingot
|
||||
item.steelchunkhot.name=Hot Steel Chunk
|
||||
|
||||
item.wootzingothot.name=Damascus Steel Ingot Hot
|
||||
item.wootzchunkhot.name=Damascus Steel Chunk Hot
|
||||
item.wootzingothot.name=Hot Damascus Steel Ingot
|
||||
item.wootzchunkhot.name=Hot Damascus Steel Chunk
|
||||
|
||||
item.bronzepickaxehead.name=Bronze Pickaxe Head
|
||||
item.bronzeaxehead.name=Bronze Axe Head
|
||||
item.bronzeshovelhead.name=Bronze Shovel Head
|
||||
item.bronzehoehead.name=Bronze Hoe Head
|
||||
item.bronzepickaxe.name=Bronze Pickaxe
|
||||
item.bronzeaxe.name=Bronze Axe
|
||||
item.bronzeshovel.name=Bronze Shovel
|
||||
item.bronzehoe.name=Bronze Hoe
|
||||
|
||||
item.ironpickaxehead.name=Iron Pickaxe Head
|
||||
item.ironaxehead.name=Iron Axe Head
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/axe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/axe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_emerald"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/axe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_diamond"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/axe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_redstone"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/axe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_lapis"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"parent": "forgecraft:item/axe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/finished_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze"
|
||||
},
|
||||
"overrides": [
|
||||
{"predicate": {"type": 0.0},"model": "forgecraft:item/axe/bronze/bronzeaxe_0"},
|
||||
{"predicate": {"type": 0.1},"model": "forgecraft:item/axe/bronze/bronzeaxe_1"},
|
||||
{"predicate": {"type": 0.2},"model": "forgecraft:item/axe/bronze/bronzeaxe_2"},
|
||||
{"predicate": {"type": 0.3},"model": "forgecraft:item/axe/bronze/bronzeaxe_3"},
|
||||
{"predicate": {"type": 0.4},"model": "forgecraft:item/axe/bronze/bronzeaxe_4"}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"parent": "forgecraft:item/hoe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/finished_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze"
|
||||
},
|
||||
"overrides": [
|
||||
{"predicate": {"type": 0.0},"model": "forgecraft:item/hoe/bronze/bronzehoe_0"},
|
||||
{"predicate": {"type": 0.1},"model": "forgecraft:item/hoe/bronze/bronzehoe_1"},
|
||||
{"predicate": {"type": 0.2},"model": "forgecraft:item/hoe/bronze/bronzehoe_2"},
|
||||
{"predicate": {"type": 0.3},"model": "forgecraft:item/hoe/bronze/bronzehoe_3"},
|
||||
{"predicate": {"type": 0.4},"model": "forgecraft:item/hoe/bronze/bronzehoe_4"}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"parent": "forgecraft:item/pickaxe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/finished_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze"
|
||||
},
|
||||
"overrides": [
|
||||
{"predicate": {"type": 0.0},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_0"},
|
||||
{"predicate": {"type": 0.1},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_1"},
|
||||
{"predicate": {"type": 0.2},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_2"},
|
||||
{"predicate": {"type": 0.3},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_3"},
|
||||
{"predicate": {"type": 0.4},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_4"}
|
||||
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"parent": "forgecraft:item/shovel",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/finished_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze"
|
||||
},
|
||||
"overrides": [
|
||||
{"predicate": {"type": 0.0},"model": "forgecraft:item/shovel/bronze/bronzeshovel_0"},
|
||||
{"predicate": {"type": 0.1},"model": "forgecraft:item/shovel/bronze/bronzeshovel_1"},
|
||||
{"predicate": {"type": 0.2},"model": "forgecraft:item/shovel/bronze/bronzeshovel_2"},
|
||||
{"predicate": {"type": 0.3},"model": "forgecraft:item/shovel/bronze/bronzeshovel_3"},
|
||||
{"predicate": {"type": 0.4},"model": "forgecraft:item/shovel/bronze/bronzeshovel_4"}
|
||||
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/hoe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/hoe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_emerald"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/hoe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_diamond"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/hoe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_redstone"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/hoe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_lapis"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/pickaxe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/pickaxe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_emerald"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/pickaxe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_diamond"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/pickaxe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_redstone"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/pickaxe",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_lapis"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/shovel",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/shovel",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_emerald"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/shovel",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_diamond"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/shovel",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_redstone"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "forgecraft:item/shovel",
|
||||
"textures": {
|
||||
"particle": "forgecraft:items/raw_bronze",
|
||||
"texture": "blocks/planks_oak",
|
||||
"texture1": "forgecraft:items/finished_bronze_lapis"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user