tools range upgrades from 1-5 longbow fixed, reduced forge light level, forge really cools down now, chunks dont read upgrades, casting form works, anvil can cool down items stored in its inventory,

This commit is contained in:
Mohammad-Ali Minaie
2018-09-30 14:30:47 -04:00
parent c765542d6a
commit 2faa718deb
2463 changed files with 15182 additions and 7698 deletions

BIN
exampleModifiers.xlsx Normal file

Binary file not shown.

View File

@@ -11,16 +11,25 @@
- [x] Anvil cool down items - [x] Anvil cool down items
- [x] Longbow Fire Speed - [x] Longbow Fire Speed
- [x] More Crafting for buckets - [x] More Crafting for buckets
- [x] Config Usage
- [x] Copper Tools - [x] Copper Tools
- [x] Config for lowering fortune multiplier - [x] Copper Tool Assets
- [x] Copper Ingots
- [ ] Copper Tool Casting - [x] Copper Tool Recipes
- [ ] Copper Tool Assets - [x] Tool Class Refactor into 1 with value for modifiers
- [ ] Emerald and redstone asset - [x] Copper and Bronze have 1 upgrades
- [ ] Diamond + Redstone no texture - [x] Wrought has 2 upgrades
- [x] Clean has 3 upgrades
- [x] Steel has 4 upgrades
- [x] Wootz has 5 upgrades
- [x] NBTCrucible Molten Crucible moved
- [x] Modifiers Print out for tool part
- [x] Copper Tools and Parts need names
- [x] When upgrading past max item dissapears
- [x] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers
- [x] Tongs Rendering
- [ ] Copper Gladius
- [ ] Craft Tweaker Support - [ ] Craft Tweaker Support
- [ ] Hardened Leather Helmet Inventory Model
## Feature Musket ## Feature Musket
- [ ] Create powder charge item (copper, charcoal, gunpowder) - [ ] Create powder charge item (copper, charcoal, gunpowder)
@@ -34,9 +43,10 @@
- [ ] Create lock assembly item - [ ] Create lock assembly item
## Backlog ## Backlog
- [ ] Hardened Leather Helmet Inventory Model
- [ ] Add Achievements
- [ ] Bloomery Print out - [ ] Bloomery Print out
- [ ] Random Floats for hot texture - [ ] Random Floats for hot texture
- [ ] Mass Ore Production - [ ] Mass Ore Production
- [ ] Silver/Lead Production - [ ] Silver/Lead Production
- [ ] Sparks to forging - [ ] Sparks to forging
@@ -44,7 +54,6 @@
- [ ] Add chainmail recipe - [ ] Add chainmail recipe
- [ ] Add Iron Shield - [ ] Add Iron Shield
- [ ] Gold Smelting - [ ] Gold Smelting
- [ ] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers
- [ ] Add forgehammer to oreDict - [ ] Add forgehammer to oreDict
### Tid-Bits ### Tid-Bits

View File

@@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G
mod_group=nmd.primal.forgecraft mod_group=nmd.primal.forgecraft
mod_name=ForgeCraft mod_name=ForgeCraft
mod_version=1.6.14 mod_version=1.6.15
forge_version=14.23.4.2744 forge_version=14.23.4.2744
mcp_mappings=snapshot_20171003 mcp_mappings=snapshot_20171003
mc_version=1.12.2 mc_version=1.12.2

View File

@@ -5,16 +5,11 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.PlayerEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent;
import nmd.primal.forgecraft.items.parts.SimpleToolPart;
import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.items.parts.ToolPart;
import nmd.primal.forgecraft.items.tools.CustomAxe; import nmd.primal.forgecraft.items.tools.CustomAxe;
import nmd.primal.forgecraft.items.tools.CustomHoe; import nmd.primal.forgecraft.items.tools.CustomHoe;
import nmd.primal.forgecraft.items.tools.CustomPickaxe; import nmd.primal.forgecraft.items.tools.CustomPickaxe;
import nmd.primal.forgecraft.items.tools.CustomShovel; import nmd.primal.forgecraft.items.tools.CustomShovel;
import nmd.primal.forgecraft.items.tools.bronze.BronzeAxe;
import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe;
import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe;
import nmd.primal.forgecraft.items.tools.bronze.BronzeShovel;
import nmd.primal.forgecraft.util.ToolNBT; import nmd.primal.forgecraft.util.ToolNBT;
/** /**
@@ -28,13 +23,58 @@ public class CommonEvents implements ToolNBT {
if(!event.player.getEntityWorld().isRemote) { if(!event.player.getEntityWorld().isRemote) {
if (event.crafting.getItem() instanceof CustomPickaxe || event.crafting.getItem() instanceof BronzePickaxe) { if (event.crafting.getItem() instanceof CustomPickaxe) {
NBTTagCompound tempTag = new NBTTagCompound(); doToolNBT(event);
}
if (event.crafting.getItem() instanceof CustomAxe ) {
doToolNBT(event);
}
if (event.crafting.getItem() instanceof CustomShovel ) {
doToolNBT(event);
}
if (event.crafting.getItem() instanceof CustomHoe) {
doToolNBT(event);
}
if (event.crafting.getItem() instanceof ToolPart) {
for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots
if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item
ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item
if (a.getItem() instanceof ToolPart || a.getItem() instanceof SimpleToolPart) { if (a.getItem() instanceof CustomAxe) {
doQuickNBT(event, i, a);
}
if (a.getItem() instanceof CustomPickaxe) {
doQuickNBT(event, i, a);
}
if (a.getItem() instanceof CustomShovel) {
doQuickNBT(event, i, a);
}
if (a.getItem() instanceof CustomHoe) {
doQuickNBT(event, i, a);
}
}
}
}
}
}
private void doQuickNBT(PlayerEvent.ItemCraftedEvent event, Integer i, ItemStack a){
NBTTagCompound tempTag;
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);
}
private void doToolNBT(PlayerEvent.ItemCraftedEvent event) {
NBTTagCompound tempTag;
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) {
tempTag = a.getSubCompound("tags").copy(); tempTag = a.getSubCompound("tags").copy();
event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getTagCompound().setTag("tags", tempTag);
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
@@ -43,90 +83,4 @@ public class CommonEvents implements ToolNBT {
} }
} }
} }
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 || a.getItem() instanceof SimpleToolPart) {
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 (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 || a.getItem() instanceof SimpleToolPart) {
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 (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 || a.getItem() instanceof SimpleToolPart) {
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 (event.crafting.getItem() instanceof ToolPart || event.crafting.getItem() instanceof SimpleToolPart) {
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 || 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 || 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 || 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 || a.getItem() instanceof BronzeHoe) {
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);
}
}
}
}
}
}
} }

View File

@@ -18,7 +18,7 @@ public class ModInfo {
//public static final String MOD_PREFIX = MOD_ID + ":"; //public static final String MOD_PREFIX = MOD_ID + ":";
public static final String MOD_CHANNEL = MOD_ID; public static final String MOD_CHANNEL = MOD_ID;
public static final String MOD_VERSION = "1.6.14"; public static final String MOD_VERSION = "1.6.15";
public static final String MC_VERSIONS = "[1.12.0, 1.13.0)"; public static final String MC_VERSIONS = "[1.12.0, 1.13.0)";
public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);"; public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);";

View File

@@ -31,7 +31,6 @@ import nmd.primal.forgecraft.crafting.CrucibleCrafting;
import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModBlocks;
import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.init.ModItems;
import nmd.primal.forgecraft.items.SlottedTongs; import nmd.primal.forgecraft.items.SlottedTongs;
import nmd.primal.forgecraft.items.parts.SimpleToolPart;
import nmd.primal.forgecraft.tiles.TileCastingForm; import nmd.primal.forgecraft.tiles.TileCastingForm;
import nmd.primal.forgecraft.util.CastingFormHandler; import nmd.primal.forgecraft.util.CastingFormHandler;
import nmd.primal.forgecraft.util.ToolNBT; import nmd.primal.forgecraft.util.ToolNBT;
@@ -69,7 +68,7 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan
SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem(); SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem();
ItemStack tongsStack = inventory.getStackInSlot(0).copy(); ItemStack tongsStack = inventory.getStackInSlot(0).copy();
SlottedTongs tongs = (SlottedTongs) pItem.getItem(); //SlottedTongs tongs = (SlottedTongs) pItem.getItem();
if(tongsStack.getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) { if(tongsStack.getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) {
NBTTagCompound tag = tongsStack.getTagCompound().copy(); NBTTagCompound tag = tongsStack.getTagCompound().copy();
@@ -78,21 +77,28 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan
NonNullList<ItemStack> ingList = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY); NonNullList<ItemStack> ingList = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY);
NonNullList<ItemStack> ingListEmpty = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY); NonNullList<ItemStack> ingListEmpty = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY);
ItemStackHelper.loadAllItems(tag.getCompoundTag("BlockEntityTag"), ingList); ItemStackHelper.loadAllItems(tag.getCompoundTag("BlockEntityTag"), ingList);
CrucibleCrafting crucibleRecipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4)); CrucibleCrafting crucibleRecipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4));
if(crucibleRecipe != null){ if(crucibleRecipe != null){
if(tag.getCompoundTag("BlockEntityTag").getBoolean("status") && tag.getCompoundTag("BlockEntityTag").getInteger("hot") == 15){ if(tag.getCompoundTag("BlockEntityTag").getBoolean("status") && tag.getCompoundTag("BlockEntityTag").getInteger("hot") == 15){
Item[] tempArray = new Item[25]; Item[] tempArray = new Item[25];
for(int i=0; i<25; i++){ for(int i=0; i<25; i++){
tempArray[i] = tile.getSlotStack(i).getItem(); tempArray[i] = tile.getSlotStack(i).getItem();
} }
System.out.println(crucibleRecipe.getDropsCooked());
CastingCrafting casting = CastingCrafting.getRecipe(tongsStack, tempArray); CastingCrafting casting = CastingCrafting.getRecipe(crucibleRecipe.getDropsCooked(), tempArray);
if(casting != null){ if(casting != null){
NBTTagCompound tagOutput = casting.getOutput().getTagCompound(); NBTTagCompound tagOutput = casting.getOutput().getTagCompound();
NBTTagCompound crucibleOutput = crucibleRecipe.getDropsCooked().getTagCompound(); NBTTagCompound crucibleOutput = crucibleRecipe.getDropsCooked().getTagCompound();
if(tagOutput != null) { if(tagOutput != null) {
ItemStack dropStack = casting.getOutput(); ItemStack dropStack = casting.getOutput();
System.out.println(dropStack);
System.out.println(crucibleOutput);
dropStack.setTagCompound(new NBTTagCompound()); dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound(); NBTTagCompound tags = new NBTTagCompound();

View File

@@ -31,7 +31,6 @@ public class AnvilCrafting {
this.input = input; this.input = input;
this.output = output; this.output = output;
this.upgradeType = upgrade; this.upgradeType = upgrade;
} }
// ***************************************************************************** // // ***************************************************************************** //

View File

@@ -59,7 +59,7 @@ public class CastingCrafting {
public static CastingCrafting getRecipe(ItemStack source, Item[] array) public static CastingCrafting getRecipe(ItemStack source, Item[] array)
{ {
for(CastingCrafting recipe : castingRecipes) { for(CastingCrafting recipe : castingRecipes) {
if (source.isItemEqualIgnoreDurability(source)) { if (source.getItem() == recipe.getSource().getItem() ) {
if (Arrays.equals(array, recipe.input)) if (Arrays.equals(array, recipe.input))
return recipe; return recipe;
} }

View File

@@ -24,38 +24,20 @@ public final class ModConfig
*/ */
public static class Compatibility public static class Compatibility
{ {
@Config.Comment({"Ore Dictionary Wootz steel for compatibility with common mod steel"}) //@Config.Comment({"Ore Dictionary Wootz steel for compatibility with common mod steel"})
public static boolean COMPAT_DICTIONARY_WOOTZ_STEEL; //public static boolean COMPAT_DICTIONARY_WOOTZ_STEEL;
} }
/** /**
* Customize main features of the mod * Customize main features of the mod
*/ */
//@Config.RequiresMcRestart
//@Config.Comment({"Config to allow or dissallow Copper Tools"})
//public static boolean ENABLE_COPPER_TOOLS = false;
public static class Features public static class Features
{ {
@Config.RequiresMcRestart // @Config.RequiresMcRestart
@Config.Comment({"Config to allow or dissallow Copper Tools"}) // @Config.Comment({"Config to allow or dissallow Copper Tools"})
public static boolean ENABLE_COPPER_TOOLS = false; // public static boolean ENABLE_COPPER_TOOLS = false;
@Config.Comment({"Bronze Tool Lapis Bonus do not go greater than 5"})
@Config.RangeInt(min = 0, max = 5)
public static int BRONZE_LAPIS_MULTIPLIER = 5;
@Config.Comment({"Copper Tools Emerald Upgrade"})
public static boolean ENABLE_COPPER_EMERALD = true;
@Config.RequiresMcRestart
@Config.Comment({"Various forge blocks will set fire to their surroundings when active"})
public static boolean FEATURE_ENABLE_FIRE = true;
@Config.Comment({"Sample config for a numeric range"})
@Config.RangeInt(min = 0, max = 1000)
public static int FEATURE_HEAT_RANGE = 0;
} }
} }

View File

@@ -9,6 +9,7 @@ import net.minecraft.item.crafting.Ingredient;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.OreIngredient; import net.minecraftforge.oredict.OreIngredient;
import net.minecraftforge.oredict.ShapedOreRecipe;
import nmd.primal.core.api.PrimalAPI; import nmd.primal.core.api.PrimalAPI;
import nmd.primal.core.common.recipes.irecipe.RecipeHandler; import nmd.primal.core.common.recipes.irecipe.RecipeHandler;
import nmd.primal.forgecraft.crafting.AnvilCrafting; import nmd.primal.forgecraft.crafting.AnvilCrafting;
@@ -65,7 +66,7 @@ public class ModCrafting{
ItemStack[] toolArray = new ItemStack[20]; ItemStack[] toolArray = new ItemStack[24];
ItemStack[] hotToolArray = new ItemStack[16]; ItemStack[] hotToolArray = new ItemStack[16];
ItemStack bronzepickaxehead = new ItemStack(ModItems.bronzepickaxehead, 1); ItemStack bronzepickaxehead = new ItemStack(ModItems.bronzepickaxehead, 1);
@@ -133,6 +134,18 @@ public class ModCrafting{
wootzhoehead.setTagCompound(newTag); wootzhoehead.setTagCompound(newTag);
toolArray[19] = wootzhoehead; toolArray[19] = wootzhoehead;
ItemStack copperpickaxehead = new ItemStack(ModItems.copperpickaxehead, 1);
copperpickaxehead.setTagCompound(newTag);
toolArray[20] = copperpickaxehead;
ItemStack copperaxehead = new ItemStack(ModItems.copperaxehead, 1);
copperaxehead.setTagCompound(newTag);
toolArray[21] = copperaxehead;
ItemStack coppershovelhead = new ItemStack(ModItems.coppershovelhead, 1);
coppershovelhead.setTagCompound(newTag);
toolArray[22] =coppershovelhead ;
ItemStack copperhoehead = new ItemStack(ModItems.copperhoehead, 1);
copperhoehead.setTagCompound(newTag);
toolArray[23] = copperhoehead;
ItemStack hotpickaxehead = pickaxehead.copy(); ItemStack hotpickaxehead = pickaxehead.copy();
hotToolArray[0] =hotpickaxehead; hotToolArray[0] =hotpickaxehead;
@@ -210,6 +223,11 @@ public class ModCrafting{
wootzshovelhead = toolArray[18] ; wootzshovelhead = toolArray[18] ;
wootzhoehead = toolArray[19]; wootzhoehead = toolArray[19];
copperpickaxehead = toolArray[20];
copperaxehead = toolArray[21];
coppershovelhead = toolArray[22];
copperhoehead = toolArray[23];
for(ItemStack temp : hotToolArray) { for(ItemStack temp : hotToolArray) {
//NBTTagCompound newTag = new NBTTagCompound(); //NBTTagCompound newTag = new NBTTagCompound();
NBTTagCompound tags = new NBTTagCompound(); NBTTagCompound tags = new NBTTagCompound();
@@ -252,7 +270,6 @@ public class ModCrafting{
/***CRUCIBLE CRAFTING***/ /***CRUCIBLE CRAFTING***/
/***********************/ /***********************/
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("oreIron"), new OreIngredient("oreIron"),
Ingredient.EMPTY, Ingredient.EMPTY,
@@ -373,8 +390,7 @@ public class ModCrafting{
1800, 1800,
1500); 1500);
//TODO change plate recipe /***BRONZE***/
NBTTagCompound tagBronzeDefault = new NBTTagCompound(); NBTTagCompound tagBronzeDefault = new NBTTagCompound();
tagBronzeDefault.setString("upgrades", ""); tagBronzeDefault.setString("upgrades", "");
tagBronzeDefault.setBoolean("hot", false); tagBronzeDefault.setBoolean("hot", false);
@@ -502,7 +518,7 @@ public class ModCrafting{
new OreIngredient("dustCopper"), new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"), new OreIngredient("dustCopper"),
new OreIngredient("dustTin"), new OreIngredient("dustTin"),
new OreIngredient("dustLapis"), new OreIngredient("gemLapis"),
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
lapisBronze, lapisBronze,
1100, 1100,
@@ -510,6 +526,143 @@ public class ModCrafting{
600); 600);
/***COPPER***/
NBTTagCompound tagCopperDefault = new NBTTagCompound();
tagCopperDefault.setString("upgrades", "");
tagCopperDefault.setBoolean("hot", false);
ItemStack defaultCopper = new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1);
defaultCopper.setTagCompound(tagCopperDefault.copy());
CrucibleCrafting.addRecipe(
new OreIngredient("oreCopper"),
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
defaultCopper,
900,
800,
600);
CrucibleCrafting.addRecipe(
new OreIngredient("ingotCopper"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
defaultCopper,
900,
750,
550);
ItemStack redCopper = defaultCopper.copy();
redCopper.getTagCompound().setString("upgrades", "redstone");
CrucibleCrafting.addRecipe(
new OreIngredient("ingotCopper"),
new OreIngredient("dustRedstone"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
redCopper,
900,
750,
550);
ItemStack diamondCopper = defaultCopper.copy();
diamondCopper.getTagCompound().setString("upgrades", "diamond");
CrucibleCrafting.addRecipe(
new OreIngredient("ingotCopper"),
new OreIngredient("flakeDiamond"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
diamondCopper,
900,
750,
550);
ItemStack emeraldCopper = defaultCopper.copy();
emeraldCopper.getTagCompound().setString("upgrades", "emerald");
CrucibleCrafting.addRecipe(
new OreIngredient("ingotCopper"),
new OreIngredient("flakeEmerald"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
emeraldCopper,
900,
750,
550);
ItemStack lapisCopper = defaultCopper.copy();
lapisCopper.getTagCompound().setString("upgrades", "lapis");
CrucibleCrafting.addRecipe(
new OreIngredient("ingotCopper"),
new OreIngredient("gemLapis"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
lapisCopper,
900,
750,
550);
CrucibleCrafting.addRecipe(
new OreIngredient("oreCopper"),
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
new OreIngredient("dustRedstone"),
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
redCopper,
900,
750,
550);
CrucibleCrafting.addRecipe(
new OreIngredient("oreCopper"),
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
new OreIngredient("flakeDiamond"),
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
diamondCopper,
900,
750,
550);
CrucibleCrafting.addRecipe(
new OreIngredient("oreCopper"),
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
new OreIngredient("flakeEmerald"),
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
emeraldCopper,
900,
750,
550);
CrucibleCrafting.addRecipe(
new OreIngredient("oreCopper"),
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
new OreIngredient("gemLapis"),
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
lapisCopper,
900,
750,
550);
/***CASTING FORM***/ /***CASTING FORM***/
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1), RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1),
true, new Object[]{" S ", "S S", " S ", true, new Object[]{" S ", "S S", " S ",
@@ -595,27 +748,27 @@ public class ModCrafting{
***************************************************************/ ***************************************************************/
/***Pickaxe Crafting***/ /***Pickaxe Crafting***/
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironpickaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.pickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.pickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironpickaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.cleanironpickaxehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.cleanironpickaxehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelpickaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.steelpickaxehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.steelpickaxehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzpickaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.wootzpickaxehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.wootzpickaxehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
@@ -625,27 +778,27 @@ public class ModCrafting{
('S'), Items.STICK); ('S'), Items.STICK);
/***Axe Crafting***/ /***Axe Crafting***/
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.cleanironaxehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.cleanironaxehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.steelaxehead,1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.steelaxehead,1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzaxe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.wootzaxehead,1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.wootzaxehead,1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
@@ -655,27 +808,27 @@ public class ModCrafting{
('S'), Items.STICK); ('S'), Items.STICK);
/***Shovel Crafting***/ /***Shovel Crafting***/
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeshovel, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.bronzeshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.bronzeshovelhead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironshovel, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.ironshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.ironshovelhead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironshovel, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.cleanironshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.cleanironshovelhead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelshovel, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.steelshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.steelshovelhead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzshovel, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.wootzshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.wootzshovelhead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
@@ -685,27 +838,27 @@ public class ModCrafting{
('S'), Items.STICK); ('S'), Items.STICK);
/***Hoe Crafting***/ /***Hoe Crafting***/
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzehoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzehoe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.bronzehoehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.bronzehoehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironhoe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.ironhoehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.ironhoehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironhoe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.cleanironhoehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.cleanironhoehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelhoe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.steelhoehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.steelhoehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzhoe, 1), "T", "C", "S",
('T'), new ItemStack(ModItems.wootzhoehead, 1, OreDictionary.WILDCARD_VALUE), ('T'), new ItemStack(ModItems.wootzhoehead, 1, OreDictionary.WILDCARD_VALUE),
('S'), "stickTreatedWood", ('S'), "stickTreatedWood",
('C'), "cordageGeneral"); ('C'), "cordageGeneral");
@@ -721,7 +874,7 @@ public class ModCrafting{
//RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), //RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE),
// " ", " X ", " ", 'X', ModItems.ironaxe); // " ", " X ", " ", 'X', ModItems.ironaxe);
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE), RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxehead, 1),
true, "X", ('X'), new ItemStack(ModItems.bronzeaxe, 1, OreDictionary.WILDCARD_VALUE)); true, "X", ('X'), new ItemStack(ModItems.bronzeaxe, 1, OreDictionary.WILDCARD_VALUE));
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE),
@@ -786,241 +939,6 @@ public class ModCrafting{
true, "X", ('X'), new ItemStack(ModItems.wootzhoe, 1, OreDictionary.WILDCARD_VALUE)); true, "X", ('X'), new ItemStack(ModItems.wootzhoe, 1, OreDictionary.WILDCARD_VALUE));
/***************************************************************/
/***Bloomery Crafting***/
/*
//Makes the Empty Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModItems.softcrucible, 1),
new ItemStack(ModBlocks.emptycruciblehot, 1),
new ItemStack(ModBlocks.emptycruciblecrackedhot, 1),
new ItemStack(ModBlocks.emptycrucible, 1),
2000,
1600,
600,
0.25f,
0.25f);
//Makes the Cracked Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.emptycruciblehot, 1),
new ItemStack(ModBlocks.emptycruciblecrackedhot, 1),
new ItemStack(ModBlocks.emptycruciblecrackedhot, 1),
new ItemStack(ModBlocks.emptycruciblecracked, 1),
2250,
9000,
600,
0.0f,
0.0f);
/*
//Makes the Hot Iron Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.rawironcrucible, 1),
new ItemStack(ModBlocks.hotironcrucible, 1),
new ItemStack(ModBlocks.hotironcrucible, 1),
new ItemStack(ModBlocks.rawironcrucible, 1),
800,
20,
500,
0.5f,
0.0f
);
//Makes the Finished Hot Iron Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.hotironcrucible, 1),
new ItemStack(ModBlocks.hotcookedironcrucible, 1),
new ItemStack(ModBlocks.failedironcruciblehot, 1),
new ItemStack(ModBlocks.coolironcrucible, 1),
1400,
1200,
800,
0.33f,
0.5f
);
//Makes the Hot Clean Iron Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.rawcleanironcrucible, 1),
new ItemStack(ModBlocks.hotcleanironcrucible, 1),
new ItemStack(ModBlocks.hotcleanironcrucible, 1),
new ItemStack(ModBlocks.rawcleanironcrucible, 1),
800,
20,
500,
0.5f,
0.0f
);
//Makes the Finished Hot Clean Iron Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.hotcleanironcrucible, 1),
new ItemStack(ModBlocks.hotcookedcleanironcrucible, 1),
new ItemStack(ModBlocks.failedcleanironcrucible, 1),
new ItemStack(ModBlocks.coolcleanironcrucible, 1),
1550,
1200,
800,
0.33f,
0.5f
);
//Makes the Hot Steel Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.rawsteelcrucible, 1),
new ItemStack(ModBlocks.hotsteelcrucible, 1),
new ItemStack(ModBlocks.hotsteelcrucible, 1),
new ItemStack(ModBlocks.rawsteelcrucible, 1),
800,
20,
500,
0.5f,
0.0f
);
//Makes the Finished Hot Steel Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.hotsteelcrucible, 1),
new ItemStack(ModBlocks.hotcookedsteelcrucible, 1),
new ItemStack(ModBlocks.failedsteelcrucible, 1),
new ItemStack(ModBlocks.coolsteelcrucible, 1),
2100,
1500,
1000,
0.2f,
0.25f
);
*/
/*
//Makes the Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.rawbronzecrucible, 1),
new ItemStack(ModBlocks.hotbronzecrucible, 1),
new ItemStack(ModBlocks.hotbronzecrucible, 1),
new ItemStack(ModBlocks.rawbronzecrucible, 1),
800,
20,
500,
0.5f,
0.0f
);
//Makes the Finished Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.hotbronzecrucible, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible, 1),
new ItemStack(ModBlocks.rawbronzecrucible, 1),
1100,
800,
600,
0.5f,
0.5f
);
//Makes the Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.rawbronzecrucible_diamond, 1),
new ItemStack(ModBlocks.hotbronzecrucible_diamond, 1),
new ItemStack(ModBlocks.hotbronzecrucible_diamond, 1),
new ItemStack(ModBlocks.rawbronzecrucible_diamond, 1),
800,
800,
500,
0.5f,
0.5f
);
//Makes the Finished Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.hotbronzecrucible_diamond, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible_diamond, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible_diamond, 1),
new ItemStack(ModBlocks.rawbronzecrucible_diamond, 1),
1100,
1100,
600,
0.5f,
0.5f
);
//Makes the Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.rawbronzecrucible_redstone, 1),
new ItemStack(ModBlocks.hotbronzecrucible_redstone, 1),
new ItemStack(ModBlocks.hotbronzecrucible_redstone, 1),
new ItemStack(ModBlocks.rawbronzecrucible_redstone, 1),
800,
20,
500,
0.5f,
0.0f
);
//Makes the Finished Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.hotbronzecrucible_redstone, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible_redstone, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible_redstone, 1),
new ItemStack(ModBlocks.rawbronzecrucible_redstone, 1),
1100,
1100,
600,
0.5f,
0.5f
);
//Makes the Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.rawbronzecrucible_emerald, 1),
new ItemStack(ModBlocks.hotbronzecrucible_emerald, 1),
new ItemStack(ModBlocks.hotbronzecrucible_emerald, 1),
new ItemStack(ModBlocks.rawbronzecrucible_emerald, 1),
800,
20,
500,
0.5f,
0.0f
);
//Makes the Finished Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.hotbronzecrucible_emerald, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible_emerald, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible_emerald, 1),
new ItemStack(ModBlocks.rawbronzecrucible_emerald, 1),
1100,
1100,
600,
0.5f,
0.5f
);
//Makes the Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.rawbronzecrucible_lapis, 1),
new ItemStack(ModBlocks.hotbronzecrucible_lapis, 1),
new ItemStack(ModBlocks.hotbronzecrucible_lapis, 1),
new ItemStack(ModBlocks.rawbronzecrucible_lapis, 1),
800,
20,
500,
0.5f,
0.0f
);
//Makes the Finished Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.hotbronzecrucible_lapis, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible_lapis, 1),
new ItemStack(ModBlocks.hotcookedbronzecrucible_lapis, 1),
new ItemStack(ModBlocks.rawbronzecrucible_lapis, 1),
1100,
1100,
600,
0.5f,
0.5f
);
*/
/****************************************************************************** /******************************************************************************
@@ -1102,6 +1020,80 @@ public class ModCrafting{
new ItemStack(PrimalAPI.Items.BRONZE_PLATE, 1) new ItemStack(PrimalAPI.Items.BRONZE_PLATE, 1)
); );
//Casting Pickaxe
CastingCrafting.addRecipe(
new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1),
new Item[]{
muddd, muddd, muddd, muddd, muddd,
muddd, empty, empty, empty, muddd,
empty, muddd, muddd, muddd, empty,
muddd, muddd, muddd, muddd, muddd,
muddd, muddd, muddd, muddd, muddd},
copperpickaxehead
);
//Casting Shovel
CastingCrafting.addRecipe(
new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1),
new Item[]{
muddd, muddd, muddd, muddd, muddd,
muddd, muddd, empty, muddd, muddd,
muddd, empty, empty, empty, muddd,
muddd, empty, empty, empty, muddd,
muddd, empty, muddd, empty, muddd},
coppershovelhead
);
//Casting Axe
CastingCrafting.addRecipe(
new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1),
new Item[]{
muddd, empty, empty, muddd, muddd,
muddd, empty, empty, empty, muddd,
muddd, empty, empty, empty, muddd,
muddd, empty, muddd, muddd, muddd,
muddd, muddd, muddd, muddd, muddd},
copperaxehead
);
//Casting Hoe
CastingCrafting.addRecipe(
new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1),
new Item[]{
muddd, muddd, muddd, empty, empty,
muddd, muddd, empty, muddd, muddd,
muddd, empty, muddd, muddd, muddd,
empty, muddd, muddd, muddd, muddd,
muddd, muddd, muddd, muddd, muddd},
copperhoehead
);
/*
//Casting Gladius
CastingCrafting.addRecipe(
new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1),
new Item[] {
muddd,muddd,muddd,muddd,muddd,
muddd,muddd,empty,muddd,muddd,
muddd,muddd,empty,muddd,muddd,
muddd,empty,empty,empty,muddd,
muddd,muddd,empty,muddd,muddd },
new ItemStack(ModItems.coppergladius, 1)
);
*/
//Casting Bronze Plate
CastingCrafting.addRecipe(
new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1),
new Item[]{
muddd, muddd, muddd, muddd, muddd,
muddd, empty, empty, empty, muddd,
muddd, empty, empty, empty, muddd,
muddd, empty, empty, empty, muddd,
muddd, muddd, muddd, muddd, muddd},
new ItemStack(PrimalAPI.Items.COPPER_PLATE, 1)
);
/****************************************************************************** /******************************************************************************
FORGING FORGING
******************************************************************************/ ******************************************************************************/

View File

@@ -12,20 +12,11 @@ import nmd.primal.core.api.PrimalAPI;
import nmd.primal.forgecraft.items.*; import nmd.primal.forgecraft.items.*;
import nmd.primal.forgecraft.items.armor.CustomHelmet; import nmd.primal.forgecraft.items.armor.CustomHelmet;
import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible; import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible;
import nmd.primal.forgecraft.items.parts.SimpleToolPart;
import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.items.parts.ToolPart;
import nmd.primal.forgecraft.items.tools.CustomAxe; import nmd.primal.forgecraft.items.tools.CustomAxe;
import nmd.primal.forgecraft.items.tools.CustomHoe; import nmd.primal.forgecraft.items.tools.CustomHoe;
import nmd.primal.forgecraft.items.tools.CustomPickaxe; import nmd.primal.forgecraft.items.tools.CustomPickaxe;
import nmd.primal.forgecraft.items.tools.CustomShovel; import nmd.primal.forgecraft.items.tools.CustomShovel;
import nmd.primal.forgecraft.items.tools.bronze.BronzeAxe;
import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe;
import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe;
import nmd.primal.forgecraft.items.tools.bronze.BronzeShovel;
import nmd.primal.forgecraft.items.tools.copper.CopperAxe;
import nmd.primal.forgecraft.items.tools.copper.CopperHoe;
import nmd.primal.forgecraft.items.tools.copper.CopperPickaxe;
import nmd.primal.forgecraft.items.tools.copper.CopperShovel;
import nmd.primal.forgecraft.items.weapons.CustomShield; import nmd.primal.forgecraft.items.weapons.CustomShield;
import nmd.primal.forgecraft.items.weapons.CustomSword; import nmd.primal.forgecraft.items.weapons.CustomSword;
import nmd.primal.forgecraft.items.weapons.Longbow; import nmd.primal.forgecraft.items.weapons.Longbow;
@@ -159,6 +150,7 @@ public class ModItems {
//public static Item forgingmanual; //public static Item forgingmanual;
public static void init() { public static void init() {
//OBJLoader.INSTANCE.addDomain(ModInfo.MOD_ID); //OBJLoader.INSTANCE.addDomain(ModInfo.MOD_ID);
//pistonbellows = new ItemBellowsHandle("pistonbellows"); //pistonbellows = new ItemBellowsHandle("pistonbellows");
itemnbtcrucible = new ItemNBTCrucible("itemnbtcrucible", ModBlocks.nbtCrucible); itemnbtcrucible = new ItemNBTCrucible("itemnbtcrucible", ModBlocks.nbtCrucible);
@@ -178,22 +170,21 @@ public class ModItems {
/********** /**********
TOOL PARTS TOOL PARTS
**********/ **********/
if(ModConfig.Features.ENABLE_COPPER_TOOLS){ copperpickaxehead = new ToolPart("copperpickaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "pickaxe");
copperpickaxehead = new SimpleToolPart("copperpickaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "pickaxe"); copperaxehead = new ToolPart("copperaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "axe");
copperaxehead = new SimpleToolPart("copperaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "axe"); coppershovelhead= new ToolPart("coppershovelhead", PrimalAPI.ToolMaterials.TOOL_COPPER, "shovel");
coppershovelhead= new SimpleToolPart("coppershovelhead", PrimalAPI.ToolMaterials.TOOL_COPPER, "shovel"); copperhoehead = new ToolPart("copperhoehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "hoe");
copperhoehead = new SimpleToolPart("copperhoehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "hoe");
copperpickaxe = new CopperPickaxe("copperpickaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); copperpickaxe = new CustomPickaxe("copperpickaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
copperaxe = new CopperAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F); copperaxe = new CustomAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F);
coppershovel = new CopperShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); coppershovel = new CustomShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
copperhoe = new CopperHoe("copperhoe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); copperhoe = new CustomHoe("copperhoe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
}
bronzepickaxehead = new SimpleToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe");
bronzeaxehead = new SimpleToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe"); bronzepickaxehead = new ToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe");
bronzeshovelhead = new SimpleToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel"); bronzeaxehead = new ToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe");
bronzehoehead = new SimpleToolPart("bronzehoehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "hoe"); bronzeshovelhead = new ToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel");
bronzehoehead = new ToolPart("bronzehoehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "hoe");
pickaxehead = new ToolPart("ironpickaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "pickaxe"); pickaxehead = new ToolPart("ironpickaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "pickaxe");
ironaxehead = new ToolPart("ironaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "axe"); ironaxehead = new ToolPart("ironaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "axe");
@@ -218,10 +209,10 @@ public class ModItems {
/********** /**********
TOOLS TOOLS
**********/ **********/
bronzepickaxe = new BronzePickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead); bronzepickaxe = new CustomPickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead);
bronzeaxe = new BronzeAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f); bronzeaxe = new CustomAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f);
bronzeshovel = new BronzeShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead); bronzeshovel = new CustomShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead);
bronzehoe = new BronzeHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead); bronzehoe = new CustomHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead);
ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, pickaxehead); ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, pickaxehead);
ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead, 5, -3.6f); ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead, 5, -3.6f);
@@ -325,7 +316,7 @@ public class ModItems {
/********** /**********
TOOL PARTS TOOL PARTS
**********/ **********/
if(ModConfig.Features.ENABLE_COPPER_TOOLS){
ForgeRegistries.ITEMS.register(copperpickaxehead); ForgeRegistries.ITEMS.register(copperpickaxehead);
ForgeRegistries.ITEMS.register(copperaxehead); ForgeRegistries.ITEMS.register(copperaxehead);
ForgeRegistries.ITEMS.register(coppershovelhead); ForgeRegistries.ITEMS.register(coppershovelhead);
@@ -335,7 +326,7 @@ public class ModItems {
ForgeRegistries.ITEMS.register(copperaxe); ForgeRegistries.ITEMS.register(copperaxe);
ForgeRegistries.ITEMS.register(coppershovel); ForgeRegistries.ITEMS.register(coppershovel);
ForgeRegistries.ITEMS.register(copperhoe); ForgeRegistries.ITEMS.register(copperhoe);
}
ForgeRegistries.ITEMS.register(bronzepickaxehead); ForgeRegistries.ITEMS.register(bronzepickaxehead);
ForgeRegistries.ITEMS.register(bronzeaxehead); ForgeRegistries.ITEMS.register(bronzeaxehead);
@@ -459,7 +450,6 @@ public class ModItems {
TOOL PARTS TOOL PARTS
**********/ **********/
if(ModConfig.Features.ENABLE_COPPER_TOOLS){
registerRender(copperpickaxehead); registerRender(copperpickaxehead);
registerRender(copperaxehead); registerRender(copperaxehead);
registerRender(coppershovelhead); registerRender(coppershovelhead);
@@ -469,7 +459,7 @@ public class ModItems {
registerRender(copperaxe); registerRender(copperaxe);
registerRender(coppershovel); registerRender(coppershovel);
registerRender(copperhoe); registerRender(copperhoe);
}
registerRender(bronzepickaxehead); registerRender(bronzepickaxehead);
registerRender(bronzeaxehead); registerRender(bronzeaxehead);

View File

@@ -1,141 +0,0 @@
package nmd.primal.forgecraft.items.parts;
import com.mojang.realmsclient.gui.ChatFormatting;
import net.minecraft.client.util.ITooltipFlag;
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.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.util.ToolNBT;
import javax.annotation.Nullable;
import java.util.List;
/**
* Created by mminaie on 3/9/17.
*/
public class SimpleToolPart extends Item implements ToolNBT{
private String toolType;
public SimpleToolPart(String name, ToolMaterial material, String type) {
this.setMaxDamage(material.getMaxUses());
this.setUnlocalizedName(name);
this.setRegistryName(name);
this.setCreativeTab(ModInfo.TAB_FORGECRAFT);
this.setMaxStackSize(1);
this.setNoRepair();
this.toolType = type;
this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() {
/***
hot | emerald | diamond | redstone | lapis
X.0 | 0.X | 0.0X | 0.00X | 0.000X
***/
@SideOnly(Side.CLIENT)
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
if (item.hasTagCompound()) {
Float returnFloat = 0.0F;
if(getHot(item)){
returnFloat = returnFloat + 1.0F;
}
if(getEmerald(item)){
returnFloat += 0.1F;
}
if(getDiamondLevel(item)>0){
returnFloat += (0.01F * getDiamondLevel(item));
}
if(getRedstoneLevel(item)>0){
returnFloat += (0.001F * getRedstoneLevel(item));
}
if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item));
}
return returnFloat;
}
return 0.0F;
}
});
}
public static boolean isHidden()
{
return false;
}
public String getID() {
return toolType;
}
@Override
public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) {
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);
}
}
@Override
public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) {
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);
}
}
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack item, @Nullable World world, List<String> tooltip, ITooltipFlag flagIn)
{
if(item.hasTagCompound())
{
tooltip.add(ChatFormatting.GRAY + "Upgrades: " + getModifiers(item));
if (getEmerald(item)) {
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: " + getRedstoneLevel(item));
}
if (getLapisLevel(item) > 0) {
tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item));
}
}
}
}

View File

@@ -1,6 +1,7 @@
package nmd.primal.forgecraft.items.parts; package nmd.primal.forgecraft.items.parts;
import com.mojang.realmsclient.gui.ChatFormatting; import com.mojang.realmsclient.gui.ChatFormatting;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.client.util.ITooltipFlag; import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
@@ -13,10 +14,14 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundCategory;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.client.event.ColorHandlerEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
import nmd.primal.core.api.PrimalAPI; import nmd.primal.core.api.PrimalAPI;
import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.util.ToolMaterialMap;
import nmd.primal.forgecraft.util.ToolNBT; import nmd.primal.forgecraft.util.ToolNBT;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@@ -54,9 +59,6 @@ public class ToolPart extends Item implements ToolNBT{
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
if (item.hasTagCompound()) { if (item.hasTagCompound()) {
Float returnFloat = 0.0F; Float returnFloat = 0.0F;
if(getHot(item)){
returnFloat = returnFloat + 1.0F;
}
if(getEmerald(item)){ if(getEmerald(item)){
returnFloat += 0.1F; returnFloat += 0.1F;
} }
@@ -69,13 +71,20 @@ public class ToolPart extends Item implements ToolNBT{
if(getLapisLevel(item)>0){ if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item)); returnFloat += (0.0001F * getLapisLevel(item));
} }
if(getHot(item)){
returnFloat = 1.0F;
}
return returnFloat; return returnFloat;
} }
return 0.0F; return 0.0F;
} }
}); });
} }
public static boolean isHidden() public static boolean isHidden()
{ {
return false; return false;
@@ -86,9 +95,7 @@ public class ToolPart extends Item implements ToolNBT{
} }
public ToolMaterial getMaterial() {return toolMaterial;} public ToolMaterial getMaterial() {return toolMaterial;}
@Override public void createDefaultNBT(ItemStack item){
public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) {
if (!item.hasTagCompound()) { if (!item.hasTagCompound()) {
item.setTagCompound(new NBTTagCompound()); item.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound(); NBTTagCompound tags = new NBTTagCompound();
@@ -102,25 +109,19 @@ public class ToolPart extends Item implements ToolNBT{
setLapisLevel(item, 0); setLapisLevel(item, 0);
setModifiers(item, 0); setModifiers(item, 0);
} }
}
@Override
public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) {
createDefaultNBT(item);
} }
@Override @Override
public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) {
//System.out.println(item.getTagCompound()); //System.out.println(item.getTagCompound());
if (!item.hasTagCompound()) { createDefaultNBT(item);
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 (item.hasTagCompound()) { if (item.hasTagCompound()) {
if (item.getSubCompound("tags").getBoolean("hot")) { if (item.getSubCompound("tags").getBoolean("hot")) {
player.setFire(1); player.setFire(1);
@@ -172,8 +173,8 @@ public class ToolPart extends Item implements ToolNBT{
{ {
if(item.hasTagCompound()) if(item.hasTagCompound())
{ {
tooltip.add(ChatFormatting.GRAY + "Upgrades"); tooltip.add(ChatFormatting.GRAY + "Upgrades left: " + (ToolMaterialMap.materialModifiers.get( this.getMaterial()) - getModifiers(item)));
if (getEmerald(item) == true) { if (getEmerald(item)) {
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
} }
if (getDiamondLevel(item) > 0) { if (getDiamondLevel(item) > 0) {

View File

@@ -19,6 +19,7 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
import nmd.primal.core.common.helper.PlayerHelper; import nmd.primal.core.common.helper.PlayerHelper;
import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.util.ToolMaterialMap;
import nmd.primal.forgecraft.util.ToolNBT; import nmd.primal.forgecraft.util.ToolNBT;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@@ -51,9 +52,6 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT {
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
if (item.hasTagCompound()) { if (item.hasTagCompound()) {
Float returnFloat = 0.0F; Float returnFloat = 0.0F;
if(getHot(item)){
returnFloat = returnFloat + 1.0F;
}
if(getEmerald(item)){ if(getEmerald(item)){
returnFloat += 0.1F; returnFloat += 0.1F;
} }
@@ -66,6 +64,9 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT {
if(getLapisLevel(item)>0){ if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item)); returnFloat += (0.0001F * getLapisLevel(item));
} }
if(getHot(item)){
returnFloat = 1.0F;
}
return returnFloat; return returnFloat;
} }
return 0.0F; return 0.0F;
@@ -137,8 +138,8 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT {
{ {
if (item.hasTagCompound()) if (item.hasTagCompound())
{ {
tooltip.add(ChatFormatting.GRAY + "Upgrades added: " + (getModifiers(item)) ); tooltip.add(ChatFormatting.GRAY + "Upgrades left: " + (ToolMaterialMap.materialModifiers.get(this.toolMaterial) - getModifiers(item)));
if (getEmerald(item) == true) { if (getEmerald(item)) {
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
} }
if (getDiamondLevel(item) > 0) { if (getDiamondLevel(item) > 0) {
@@ -239,7 +240,7 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT {
if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){
return super.getDestroySpeed(stack, state); return super.getDestroySpeed(stack, state);
} else { } else {
return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 )); return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1);
} }
} }
@@ -257,6 +258,7 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT {
return false; return false;
} }
@Override
public int getItemEnchantability(ItemStack stack) public int getItemEnchantability(ItemStack stack)
{ {
return 0; return 0;

View File

@@ -7,10 +7,12 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.SoundEvents; import net.minecraft.init.SoundEvents;
import net.minecraft.item.IItemPropertyGetter;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
@@ -36,6 +38,39 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT {
this.setMaxStackSize(1); this.setMaxStackSize(1);
this.setNoRepair(); this.setNoRepair();
this.drop = damageDrop; this.drop = damageDrop;
this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() {
/***
hot | emerald | diamond | redstone | lapis
X.0 | 0.X | 0.0X | 0.00X | 0.000X
***/
@SideOnly(Side.CLIENT)
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
if (item.hasTagCompound()) {
Float returnFloat = 0.0F;
if(getEmerald(item)){
returnFloat += 0.1F;
}
if(getDiamondLevel(item)>0){
returnFloat += (0.01F * getDiamondLevel(item));
}
if(getRedstoneLevel(item)>0){
returnFloat += (0.001F * getRedstoneLevel(item));
}
if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item));
}
if(getHot(item)){
returnFloat = 1.0F;
}
return returnFloat;
}
return 0.0F;
}
});
} }
public static boolean isHidden() public static boolean isHidden()
@@ -91,15 +126,15 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT {
} }
} }
//public void onItemTooltip(ItemTooltipEvent event){
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack item, @Nullable World world, List<String> tooltip, ITooltipFlag flagIn) public void addInformation(ItemStack item, @Nullable World world, List<String> tooltip, ITooltipFlag flagIn)
{ {
if(item.hasTagCompound()) if(!item.isEmpty())
{ {
tooltip.add(ChatFormatting.GRAY + "Upgrades: " + (getModifiers(item)) ); if (item.hasTagCompound())
{
tooltip.add(ChatFormatting.GRAY + "Upgrades added: " + (getModifiers(item)) );
if (getEmerald(item) == true) { if (getEmerald(item) == true) {
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
} }
@@ -114,9 +149,8 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT {
} }
tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() );
} }
} }
}
@Override @Override
protected void setBlock(ItemStack stack, EntityPlayer player, World worldIn, BlockPos pos, IBlockState state) protected void setBlock(ItemStack stack, EntityPlayer player, World worldIn, BlockPos pos, IBlockState state)
@@ -204,6 +238,7 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT {
return false; return false;
} }
@Override
public int getItemEnchantability(ItemStack stack) public int getItemEnchantability(ItemStack stack)
{ {
return 0; return 0;

View File

@@ -51,9 +51,6 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT {
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
if (item.hasTagCompound()) { if (item.hasTagCompound()) {
Float returnFloat = 0.0F; Float returnFloat = 0.0F;
if(getHot(item)){
returnFloat = returnFloat + 1.0F;
}
if(getEmerald(item)){ if(getEmerald(item)){
returnFloat += 0.1F; returnFloat += 0.1F;
} }
@@ -66,6 +63,9 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT {
if(getLapisLevel(item)>0){ if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item)); returnFloat += (0.0001F * getLapisLevel(item));
} }
if(getHot(item)){
returnFloat = 1.0F;
}
return returnFloat; return returnFloat;
} }
return 0.0F; return 0.0F;
@@ -221,6 +221,7 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT {
return false; return false;
} }
@Override
public int getItemEnchantability(ItemStack stack) public int getItemEnchantability(ItemStack stack)
{ {
return 0; return 0;

View File

@@ -55,9 +55,6 @@ public class AbstractShovel extends ItemSpade implements ToolNBT {
public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
if (item.hasTagCompound()) { if (item.hasTagCompound()) {
Float returnFloat = 0.0F; Float returnFloat = 0.0F;
if(getHot(item)){
returnFloat = returnFloat + 1.0F;
}
if(getEmerald(item)){ if(getEmerald(item)){
returnFloat += 0.1F; returnFloat += 0.1F;
} }
@@ -70,6 +67,9 @@ public class AbstractShovel extends ItemSpade implements ToolNBT {
if(getLapisLevel(item)>0){ if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item)); returnFloat += (0.0001F * getLapisLevel(item));
} }
if(getHot(item)){
returnFloat = 1.0F;
}
return returnFloat; return returnFloat;
} }
return 0.0F; return 0.0F;
@@ -211,7 +211,7 @@ public class AbstractShovel extends ItemSpade implements ToolNBT {
for (String type : getToolClasses(stack)) for (String type : getToolClasses(stack))
{ {
if (state.getBlock().isToolEffective(type, state)) if (state.getBlock().isToolEffective(type, state))
return efficiency; return (efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1));
} }
return this.EFFECTIVE_ON.contains(state.getBlock()) ? (this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1)) : 1.0F; return this.EFFECTIVE_ON.contains(state.getBlock()) ? (this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1)) : 1.0F;
} }
@@ -229,6 +229,7 @@ public class AbstractShovel extends ItemSpade implements ToolNBT {
return false; return false;
} }
@Override
public int getItemEnchantability(ItemStack stack) public int getItemEnchantability(ItemStack stack)
{ {
return 0; return 0;

View File

@@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import nmd.primal.forgecraft.util.ToolNBT; import nmd.primal.forgecraft.util.ToolNBT;
/** /**
@@ -23,7 +22,6 @@ public class CustomAxe extends AbstractAxe implements ToolNBT {
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{ {
if(!player.world.isRemote){ if(!player.world.isRemote){
World world = player.getEntityWorld();
if(itemstack.getItem() instanceof CustomAxe){ if(itemstack.getItem() instanceof CustomAxe){
if( getEmerald(itemstack)){ if( getEmerald(itemstack)){
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);

View File

@@ -1,20 +1,12 @@
package nmd.primal.forgecraft.items.tools; package nmd.primal.forgecraft.items.tools;
import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.IItemPropertyGetter;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos; 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.forgecraft.util.ToolNBT; import nmd.primal.forgecraft.util.ToolNBT;
import javax.annotation.Nullable;
/** /**
* Created by mminaie on 3/21/17. * Created by mminaie on 3/21/17.
*/ */
@@ -24,191 +16,13 @@ public class CustomHoe extends AbstractHoe implements ToolNBT {
public CustomHoe(String name, Item.ToolMaterial material, Item damageDrop) { public CustomHoe(String name, Item.ToolMaterial material, Item damageDrop) {
super(name, material, damageDrop); super(name, material, damageDrop);
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 (getHot(item) == false) {
if (getModifiers(item) != 0) {
if ( (getEmerald(item) == true) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 0)) {
return 0.1F;
}
if ( (getEmerald(item) == true) &&
(getDiamondLevel(item) == 1) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 0)) {
return 0.11F;
}
if ( (getEmerald(item) == true) &&
(getDiamondLevel(item) == 2) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 0)) {
return 0.12F;
}
if ( (getEmerald(item) == true) &&
(getDiamondLevel(item) == 1) &&
(getRedstoneLevel(item) == 1) &&
(getLapisLevel(item) == 0)) {
return 0.111F;
}
if ( (getEmerald(item) == true) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 2) &&
(getLapisLevel(item) == 0)) {
return 0.102F;
}
// ============
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 1) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 0)) {
return 0.01F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 2) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 0)) {
return 0.02F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 3) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 0)) {
return 0.03F;
}
//=======
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 1) &&
(getLapisLevel(item) == 0)) {
return 0.001F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 2) &&
(getLapisLevel(item) == 0)) {
return 0.002F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 3) &&
(getLapisLevel(item) == 0)) {
return 0.003F;
}
//=========
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 1)) {
return 0.0001F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 2)) {
return 0.0002F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 3)) {
return 0.0003F;
}
//=======
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 1) &&
(getRedstoneLevel(item) == 1) &&
(getLapisLevel(item) == 1)) {
return 0.0111F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 2) &&
(getRedstoneLevel(item) == 1) &&
(getLapisLevel(item) == 0)) {
return 0.021F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 1) &&
(getRedstoneLevel(item) == 2) &&
(getLapisLevel(item) == 0)) {
return 0.012F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 1) &&
(getLapisLevel(item) == 2)) {
return 0.0012F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 0) &&
(getRedstoneLevel(item) == 2) &&
(getLapisLevel(item) == 1)) {
return 0.0021F;
}
if ( (getEmerald(item) == false) &&
(getDiamondLevel(item) == 1) &&
(getRedstoneLevel(item) == 0) &&
(getLapisLevel(item) == 2) ) {
return 0.0102F;
}
}
}
if (getHot(item) == true) {
return 1.0F;
}
if (getHot(item) == false) {
if (getModifiers(item) == 0) {
return 0.0F;
}
}
}
return 0.0F;
}
});
} }
@Override @Override
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{ {
if(!player.world.isRemote){ if(!player.world.isRemote){
World world = player.getEntityWorld();
if(itemstack.getItem() instanceof CustomHoe){ if(itemstack.getItem() instanceof CustomHoe){
if( getEmerald(itemstack)){ if( getEmerald(itemstack)){
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);

View File

@@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import nmd.primal.forgecraft.util.ToolNBT; import nmd.primal.forgecraft.util.ToolNBT;
/** /**
@@ -23,8 +22,6 @@ public class CustomPickaxe extends AbstractPickaxe implements ToolNBT{
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{ {
if(!player.world.isRemote){ if(!player.world.isRemote){
World world = player.getEntityWorld();
//System.out.println(world.getBlockState(pos).getBlock());
if(itemstack.getItem() instanceof CustomPickaxe){ if(itemstack.getItem() instanceof CustomPickaxe){
if( getEmerald(itemstack)){ if( getEmerald(itemstack)){
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);

View File

@@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import nmd.primal.forgecraft.util.ToolNBT; import nmd.primal.forgecraft.util.ToolNBT;
/** /**
@@ -14,6 +13,7 @@ import nmd.primal.forgecraft.util.ToolNBT;
public class CustomShovel extends AbstractShovel implements ToolNBT { public class CustomShovel extends AbstractShovel implements ToolNBT {
public CustomShovel(String name, Item.ToolMaterial material, Item damageDrop) { public CustomShovel(String name, Item.ToolMaterial material, Item damageDrop) {
super(name, material, damageDrop); super(name, material, damageDrop);
} }
@@ -21,7 +21,6 @@ public class CustomShovel extends AbstractShovel implements ToolNBT {
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{ {
if(!player.world.isRemote){ if(!player.world.isRemote){
World world = player.getEntityWorld();
if(itemstack.getItem() instanceof CustomShovel){ if(itemstack.getItem() instanceof CustomShovel){
if( getEmerald(itemstack)){ if( getEmerald(itemstack)){
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);

View File

@@ -1,61 +0,0 @@
package nmd.primal.forgecraft.items.tools.bronze;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import nmd.primal.forgecraft.init.ModConfig;
import nmd.primal.forgecraft.items.tools.AbstractAxe;
import nmd.primal.forgecraft.util.ToolNBT;
/**
* Created by mminaie on 6/25/17.
*/
public class BronzeAxe extends AbstractAxe implements ToolNBT {
Item drop;
public BronzeAxe(String name, Item.ToolMaterial material, Item damageDrop, Integer damage, Float speed) {
super(name, material, damageDrop, damage, speed);
}
@Override
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{
if(!player.world.isRemote){
//System.out.println(world.getBlockState(pos).getBlock());
if(itemstack.getItem() instanceof BronzeAxe){
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), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER);
}
}
}
return false;
}
@Override
public float getDestroySpeed(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.getDestroySpeed(stack, state);
} else {
return this.efficiency + 1;
}
}
}

View File

@@ -1,56 +0,0 @@
package nmd.primal.forgecraft.items.tools.bronze;
import net.minecraft.enchantment.Enchantment;
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.ItemStack;
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.forgecraft.init.ModConfig;
import nmd.primal.forgecraft.items.tools.AbstractHoe;
import nmd.primal.forgecraft.util.ToolNBT;
import javax.annotation.Nullable;
/**
* Created by mminaie on 3/21/17.
*/
public class BronzeHoe extends AbstractHoe implements ToolNBT {
public BronzeHoe(String name, ToolMaterial material, Item damageDrop) {
super(name, material, damageDrop);
}
@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), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER);
}
}
}
return false;
}
}

View File

@@ -1,48 +0,0 @@
package nmd.primal.forgecraft.items.tools.bronze;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import nmd.primal.forgecraft.init.ModConfig;
import nmd.primal.forgecraft.items.tools.AbstractPickaxe;
import nmd.primal.forgecraft.util.ToolNBT;
/**
* Created by mminaie on 3/14/17.
*/
public class BronzePickaxe extends AbstractPickaxe implements ToolNBT {
private Item drop;
public BronzePickaxe(String name, ToolMaterial material, Item damageDrop) {
super(name, material, damageDrop);
}
@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), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER);
}
}
}
return false;
}
}

View File

@@ -1,52 +0,0 @@
package nmd.primal.forgecraft.items.tools.bronze;
import net.minecraft.block.state.IBlockState;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import nmd.primal.forgecraft.init.ModConfig;
import nmd.primal.forgecraft.items.tools.AbstractShovel;
import nmd.primal.forgecraft.util.ToolNBT;
/**
* Created by mminaie on 3/21/17.
*/
public class BronzeShovel extends AbstractShovel implements ToolNBT {
public BronzeShovel(String name, ToolMaterial material, Item damageDrop) {
super(name, material, damageDrop);
}
@Override
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{
if(!player.world.isRemote){
if(itemstack.getItem() instanceof BronzeShovel){
if( getEmerald(itemstack)){
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
}
if ( getLapisLevel(itemstack) > 0) {
itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER);
}
}
}
return false;
}
@Override
public float getDestroySpeed(ItemStack stack, IBlockState state)
{
for (String type : getToolClasses(stack))
{
if (state.getBlock().isToolEffective(type, state))
return efficiency;
}
return this.efficiency + 1;
}
}

View File

@@ -1,63 +0,0 @@
package nmd.primal.forgecraft.items.tools.copper;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import nmd.primal.forgecraft.init.ModConfig;
import nmd.primal.forgecraft.items.tools.AbstractAxe;
import nmd.primal.forgecraft.util.ToolNBT;
/**
* Created by mminaie on 6/25/17.
*/
public class CopperAxe extends AbstractAxe implements ToolNBT {
Item drop;
public CopperAxe(String name, ToolMaterial material, Item damageDrop, Integer damage, Float speed) {
super(name, material, damageDrop, damage, speed);
}
@Override
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{
if(!player.world.isRemote){
//System.out.println(world.getBlockState(pos).getBlock());
if(itemstack.getItem() instanceof CopperAxe){
if(ModConfig.Features.ENABLE_COPPER_EMERALD) {
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), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER);
}*/
}
}
return false;
}
@Override
public float getDestroySpeed(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.getDestroySpeed(stack, state);
} else {
return this.efficiency + 1;
}
}
}

View File

@@ -1,45 +0,0 @@
package nmd.primal.forgecraft.items.tools.copper;
import net.minecraft.enchantment.Enchantment;
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.ItemStack;
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.forgecraft.init.ModConfig;
import nmd.primal.forgecraft.items.tools.AbstractHoe;
import nmd.primal.forgecraft.util.ToolNBT;
import javax.annotation.Nullable;
/**
* Created by mminaie on 3/21/17.
*/
public class CopperHoe extends AbstractHoe implements ToolNBT {
public CopperHoe(String name, ToolMaterial material, Item damageDrop) {
super(name, material, damageDrop);
}
@Override
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{
if(!player.world.isRemote){
World world = player.getEntityWorld();
if(ModConfig.Features.ENABLE_COPPER_EMERALD) {
if (getEmerald(itemstack)) {
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
}
}
}
return false;
}
}

View File

@@ -1,40 +0,0 @@
package nmd.primal.forgecraft.items.tools.copper;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import nmd.primal.forgecraft.init.ModConfig;
import nmd.primal.forgecraft.items.tools.AbstractPickaxe;
import nmd.primal.forgecraft.util.ToolNBT;
/**
* Created by mminaie on 3/14/17.
*/
public class CopperPickaxe extends AbstractPickaxe implements ToolNBT {
private Item drop;
public CopperPickaxe(String name, ToolMaterial material, Item damageDrop) {
super(name, material, damageDrop);
}
@Override
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{
if(!player.world.isRemote){
World world = player.getEntityWorld();
if(ModConfig.Features.ENABLE_COPPER_EMERALD) {
if (getEmerald(itemstack)) {
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
}
}
}
return false;
}
}

View File

@@ -1,51 +0,0 @@
package nmd.primal.forgecraft.items.tools.copper;
import net.minecraft.block.state.IBlockState;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import nmd.primal.forgecraft.init.ModConfig;
import nmd.primal.forgecraft.items.tools.AbstractShovel;
import nmd.primal.forgecraft.util.ToolNBT;
/**
* Created by mminaie on 3/21/17.
*/
public class CopperShovel extends AbstractShovel implements ToolNBT {
public CopperShovel(String name, ToolMaterial material, Item damageDrop) {
super(name, material, damageDrop);
}
@Override
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{
if(!player.world.isRemote){
if(itemstack.getItem() instanceof CopperShovel){
if(ModConfig.Features.ENABLE_COPPER_EMERALD) {
if (getEmerald(itemstack)) {
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
}
}
}
}
return false;
}
@Override
public float getDestroySpeed(ItemStack stack, IBlockState state)
{
for (String type : getToolClasses(stack))
{
if (state.getBlock().isToolEffective(type, state))
return efficiency;
}
return this.efficiency + 1;
}
}

View File

@@ -38,6 +38,7 @@ public class TileAnvil extends TileBaseSlot implements ITickable {
return reverseZ[z]; return reverseZ[z];
} }
private int iterate =0;
public NonNullList<ItemStack> slotList = NonNullList.<ItemStack>withSize(100, ItemStack.EMPTY); public NonNullList<ItemStack> slotList = NonNullList.<ItemStack>withSize(100, ItemStack.EMPTY);
@@ -47,27 +48,31 @@ public class TileAnvil extends TileBaseSlot implements ITickable {
if (!world.isRemote) { if (!world.isRemote) {
IBlockState state = world.getBlockState(this.pos); IBlockState state = world.getBlockState(this.pos);
if(PrimalAPI.randomCheck(1800)){ if(iterate == 200) {
for(int i=0; i<this.getSlotListSize(); i++){ if (PrimalAPI.randomCheck(1800)) {
for (int i = 0; i < this.getSlotListSize(); i++) {
ItemStack slotStack = this.getSlotStack(i).copy(); ItemStack slotStack = this.getSlotStack(i).copy();
if(!slotStack.isEmpty()){ if (!slotStack.isEmpty()) {
if(slotStack.getItem() instanceof ToolPart){ if (slotStack.getItem() instanceof ToolPart) {
if(slotStack.hasTagCompound()){ if (slotStack.hasTagCompound()) {
if(slotStack.getSubCompound("tags").getBoolean("hot")){ if (slotStack.getSubCompound("tags").getBoolean("hot")) {
this.getSlotStack(i).getSubCompound("tags").setBoolean("hot", false); this.getSlotStack(i).getSubCompound("tags").setBoolean("hot", false);
} }
} }
} }
if(slotStack.getItem() instanceof BaseMultiItem){ if (slotStack.getItem() instanceof BaseMultiItem) {
if(slotStack.hasTagCompound()){ if (slotStack.hasTagCompound()) {
if(slotStack.getTagCompound().getBoolean("hot")){ if (slotStack.getTagCompound().getBoolean("hot")) {
this.getSlotStack(i).getTagCompound().setBoolean("hot", false); this.getSlotStack(i).getTagCompound().setBoolean("hot", false);
} }
} }
} }
} }
} }
iterate =0;
} }
} }
iterate ++;
}
} }
} }

View File

@@ -30,7 +30,7 @@ import static nmd.primal.forgecraft.items.SlottedTongs.ITEM_HANDLER;
/** /**
* Created by mminaie on 6/10/17. * Created by mminaie on 6/10/17.
*/ */
public interface AnvilHandler { public interface AnvilHandler extends ToolMaterialMap {
double[] normalMin = {0.0625, 0.25, 0.4375, 0.625, 0.8125}; double[] normalMin = {0.0625, 0.25, 0.4375, 0.625, 0.8125};
@@ -87,6 +87,7 @@ public interface AnvilHandler {
tempStack.getSubCompound("tags").setInteger("modifiers", 0); tempStack.getSubCompound("tags").setInteger("modifiers", 0);
CommonUtils.spawnItemEntityFromWorld(world, pos, tempStack); CommonUtils.spawnItemEntityFromWorld(world, pos, tempStack);
return true;
} }
if (tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) { if (tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) {
@@ -100,21 +101,27 @@ public interface AnvilHandler {
if (recipe.getUpgrade() == "repair") { if (recipe.getUpgrade() == "repair") {
CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack); CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack);
return true;
} }
if (outputStack.getSubCompound("tags").getInteger("modifiers") < ToolMaterialMap.materialModifiers.get(((ToolPart) recipe.getOutput().getItem()).getMaterial()) ) {
if (outputStack.getSubCompound("tags").getInteger("modifiers") < 3) {
//Upgrade emerald //Upgrade emerald
if (recipe.getUpgrade() == "emerald") { if (recipe.getUpgrade() == "emerald") {
if (outputStack.getSubCompound("tags").getInteger("lapis") == 0) { if (outputStack.getSubCompound("tags").getInteger("lapis") == 0) {
if (outputStack.getSubCompound("tags").getBoolean("emerald") == false) { if (!outputStack.getSubCompound("tags").getBoolean("emerald")) {
outputStack.setItemDamage(tile.getSlotStack(12).getItemDamage()); outputStack.setItemDamage(tile.getSlotStack(12).getItemDamage());
outputStack.getSubCompound("tags").setInteger("emerald", outputStack.getSubCompound("tags").setInteger("emerald",
(outputStack.getSubCompound("tags").getInteger("emerald") + 1)); (outputStack.getSubCompound("tags").getInteger("emerald") + 1));
outputStack.getSubCompound("tags").setInteger("modifiers", outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1)); (outputStack.getSubCompound("tags").getInteger("modifiers") + 1));
CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack); CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack);
for (int i = 0; i < tile.getSlotListSize(); i++) {
if (!tile.getSlotStack(i).isEmpty()) {
tile.setSlotStack(i, ItemStack.EMPTY);
}
}
return true;
} }
} }
} }
@@ -127,6 +134,12 @@ public interface AnvilHandler {
outputStack.getSubCompound("tags").setInteger("modifiers", outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1)); (outputStack.getSubCompound("tags").getInteger("modifiers") + 1));
CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack); CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack);
for (int i = 0; i < tile.getSlotListSize(); i++) {
if (!tile.getSlotStack(i).isEmpty()) {
tile.setSlotStack(i, ItemStack.EMPTY);
}
}
return true;
} }
//Upgrade redstone //Upgrade redstone
@@ -137,25 +150,6 @@ public interface AnvilHandler {
outputStack.getSubCompound("tags").setInteger("modifiers", outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1)); (outputStack.getSubCompound("tags").getInteger("modifiers") + 1));
CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack); CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack);
}
//Upgrade lapis
if (recipe.getUpgrade() == "lapis") {
outputStack.setItemDamage(tile.getSlotStack(12).getItemDamage());
if (outputStack.getSubCompound("tags").getBoolean("emerald") == false) {
outputStack.getSubCompound("tags").setInteger("lapis",
(outputStack.getSubCompound("tags").getInteger("lapis") + 1));
outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1));
CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack);
}
}
}
}
} else {
CommonUtils.spawnItemEntityFromWorld(world, pos, recipe.getOutput());
}
//world.playEvent(1031, pos, 0);
for (int i = 0; i < tile.getSlotListSize(); i++) { for (int i = 0; i < tile.getSlotListSize(); i++) {
if (!tile.getSlotStack(i).isEmpty()) { if (!tile.getSlotStack(i).isEmpty()) {
tile.setSlotStack(i, ItemStack.EMPTY); tile.setSlotStack(i, ItemStack.EMPTY);
@@ -163,6 +157,38 @@ public interface AnvilHandler {
} }
return true; return true;
} }
//Upgrade lapis
if (recipe.getUpgrade() == "lapis") {
outputStack.setItemDamage(tile.getSlotStack(12).getItemDamage());
if (!outputStack.getSubCompound("tags").getBoolean("emerald")) {
outputStack.getSubCompound("tags").setInteger("lapis",
(outputStack.getSubCompound("tags").getInteger("lapis") + 1));
outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1));
CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack);
for (int i = 0; i < tile.getSlotListSize(); i++) {
if (!tile.getSlotStack(i).isEmpty()) {
tile.setSlotStack(i, ItemStack.EMPTY);
}
}
return true;
}
}
}
return false;
}
}
if (!(recipe.getOutput().getItem() instanceof ToolPart)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, recipe.getOutput());
for (int i = 0; i < tile.getSlotListSize(); i++) {
if (!tile.getSlotStack(i).isEmpty()) {
tile.setSlotStack(i, ItemStack.EMPTY);
}
}
return true;
}
}
} }
return false; return false;
} }

View File

@@ -0,0 +1,29 @@
package nmd.primal.forgecraft.util;
import net.minecraft.item.Item;
import nmd.primal.core.api.PrimalAPI;
import java.util.Hashtable;
/**
* Created by mminaie on 3/29/17.
*/
public interface ToolMaterialMap {
Hashtable<Item.ToolMaterial, Integer> materialModifiers = new Hashtable<Item.ToolMaterial, Integer>(){{
put(PrimalAPI.ToolMaterials.TOOL_COPPER, 1);
put(PrimalAPI.ToolMaterials.TOOL_BRONZE, 1);
put(PrimalAPI.ToolMaterials.TOOL_CRUDE_IRON, 1);
put(PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, 2);
put(PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, 3);
put(PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, 4);
put(PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, 5);
}};
}

View File

@@ -1,10 +0,0 @@
package nmd.primal.forgecraft.util;
/**
* Created by mminaie on 3/29/17.
*/
public interface ToolMaterials {
}

View File

@@ -110,18 +110,28 @@ item.steelshovel.name=Steel Shovel
item.steelhoe.name=Steel Hoe item.steelhoe.name=Steel Hoe
#item.steelsword.name=Steel Sword #item.steelsword.name=Steel Sword
item.wootzpickaxehead.name=Damascus Steel Pickaxe Head item.wootzpickaxehead.name=Damascus Pickaxe Head
item.wootzaxehead.name=Damascus Steel Axe Head item.wootzaxehead.name=Damascus Axe Head
item.wootzshovelhead.name=Damascus Steel Shovel Head item.wootzshovelhead.name=Damascus Shovel Head
item.wootzhoehead.name=Damascus Steel Hoe Head item.wootzhoehead.name=Damascus Hoe Head
item.wootzpickaxe.name=Damascus Steel Pickaxe item.wootzpickaxe.name=Damascus Pickaxe
item.wootzaxe.name=Damascus Steel Axe item.wootzaxe.name=Damascus Axe
item.wootzshovel.name=Damascus Steel Shovel item.wootzshovel.name=Damascus Shovel
item.wootzhoe.name=Damascus Steel Hoe item.wootzhoe.name=Damascus Hoe
item.wootzgladius.name=Damascus Gladius item.wootzgladius.name=Damascus Gladius
item.wootzlongsword.name=Damascus Longsword item.wootzlongsword.name=Damascus Longsword
item.wootzslayer.name=Damascus Slayer item.wootzslayer.name=Damascus Slayer
item.copperpickaxehead.name=Copper Pickaxe Head
item.copperaxehead.name=Copper Axe Head
item.coppershovelhead.name=Copper Shovel Head
item.copperhoehead.name=Copper Hoe Head
item.copperpickaxe.name=Copper Pickaxe
item.copperaxe.name=Copper Axe
item.coppershovel.name=Copper Shovel
item.copperhoe.name=Copper Hoe
item.coppergladius.name=Copper Gladius
item.leatherhelmet.name=Hardened Leather Helmet item.leatherhelmet.name=Hardened Leather Helmet
# -- configuration -- # # -- configuration -- #

View File

@@ -0,0 +1,28 @@
#! /bin/bash
values=(
0
0.0001
0.001
0.01
0.1
1
)
IFS= read -r -p "Enter Material: " mat
IFS= read -r -p "Enter Tool: " tool
for i in ${values[@]}; do
touch ${mat}${tool}"_"${i}".json"
cat >${mat}${tool}_${i}.json <<EOL
{
"parent": "forgecraft:item/${tool}",
"textures": {
"particle": "forgecraft:items/${mat}/${i}",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/${mat}/${i}"
}
}
EOL
done
exit 0

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/bronze/0.0001",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/bronze/0.0001"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/bronze/0.001",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/bronze/0.001"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/bronze/0.01",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/bronze/0.01"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/bronze/0.1",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/bronze/0.1"
}
}

View File

@@ -1,8 +1,8 @@
{ {
"parent": "forgecraft:item/axe", "parent": "forgecraft:item/axe",
"textures": { "textures": {
"particle": "forgecraft:items/raw_bronze", "particle": "forgecraft:items/bronze/0",
"texture": "blocks/planks_oak", "texture": "blocks/planks_oak",
"texture1": "forgecraft:items/finished_bronze" "texture1": "forgecraft:items/bronze/0"
} }
} }

View File

@@ -1,8 +1,8 @@
{ {
"parent": "forgecraft:item/axe", "parent": "forgecraft:item/axe",
"textures": { "textures": {
"particle": "forgecraft:items/raw_bronze", "particle": "forgecraft:items/bronze/1",
"texture": "blocks/planks_oak", "texture": "blocks/planks_oak",
"texture1": "forgecraft:items/finished_bronze_emerald" "texture1": "forgecraft:items/bronze/1"
} }
} }

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/raw_bronze",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/finished_bronze_diamond"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/raw_bronze",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/finished_bronze_redstone"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/raw_bronze",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/finished_bronze_lapis"
}
}

View File

@@ -0,0 +1,49 @@
#! /bin/bash
values=(
0
0.0001
0.0002
0.0003
0.001
0.0011
0.0012
0.002
0.0021
0.003
0.01
0.0101
0.0102
0.011
0.0111
0.012
0.02
0.0201
0.021
0.03
0.1
0.101
0.102
0.11
0.111
0.12
1
)
IFS= read -r -p "Enter Material: " mat
IFS= read -r -p "Enter Tool: " tool
for i in ${values[@]}; do
touch ${mat}${tool}"_"${i}".json"
cat >${mat}${tool}_${i}.json <<EOL
{
"parent": "forgecraft:item/${tool}",
"textures": {
"particle": "forgecraft:items/${mat}/${i}",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/${mat}/${i}"
}
}
EOL
done
exit 0

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0001",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0001"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0002",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0002"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0003",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0003"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.001",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.001"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0011",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0011"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0012",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0012"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.002",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.002"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0021",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0021"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.003",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.003"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.01",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.01"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0101",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0101"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0102",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0102"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.011",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.011"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0111",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0111"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.012",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.012"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.02",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.02"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.0201",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.0201"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.021",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.021"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.03",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.03"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.1",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.1"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.101",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.101"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.102",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.102"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.11",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.11"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.111",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.111"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0.12",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0.12"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/0",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/0"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron/1",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron/1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot_hot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_hot"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_redstone1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_redstone2"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_redstone3"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_lapis1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_lapis2"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_lapis3"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_diamond1_redstone1_lapis1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_diamond2_redstone1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_diamond1_redstone2"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_redstone1_lapis2"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot_emerald1",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_emerald1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_redstone2_lapis1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_diamond1_lapis2"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_emerald1_diamond1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_emerald1_diamond2"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_emerald1_diamond1_redstone1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_emerald1_redstone2"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_diamond1"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_diamond2"
}
}

View File

@@ -1,8 +0,0 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/clean_iron_ingot",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/clean_iron_ingot_diamond3"
}
}

View File

@@ -0,0 +1,28 @@
#! /bin/bash
values=(
0
0.0001
0.001
0.01
0.1
1
)
IFS= read -r -p "Enter Material: " mat
IFS= read -r -p "Enter Tool: " tool
for i in ${values[@]}; do
touch ${mat}${tool}"_"${i}".json"
cat >${mat}${tool}_${i}.json <<EOL
{
"parent": "forgecraft:item/${tool}",
"textures": {
"particle": "forgecraft:items/${mat}/${i}",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/${mat}/${i}"
}
}
EOL
done
exit 0

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/copper/0.0001",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/copper/0.0001"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/copper/0.001",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/copper/0.001"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/copper/0.01",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/copper/0.01"
}
}

View File

@@ -0,0 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/copper/0.1",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/copper/0.1"
}
}

View File

@@ -1,8 +1,8 @@
{ {
"parent": "forgecraft:item/axe", "parent": "forgecraft:item/axe",
"textures": { "textures": {
"particle": "forgecraft:items/raw_bronze", "particle": "forgecraft:items/copper/0",
"texture": "blocks/planks_oak", "texture": "blocks/planks_oak",
"texture1": "forgecraft:items/finished_bronze" "texture1": "forgecraft:items/copper/0"
} }
} }

Some files were not shown because too many files have changed in this diff Show More