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] Longbow Fire Speed
- [x] More Crafting for buckets
- [x] Config Usage
- [x] Copper Tools
- [x] Config for lowering fortune multiplier
- [ ] Copper Tool Casting
- [ ] Copper Tool Assets
- [ ] Emerald and redstone asset
- [ ] Diamond + Redstone no texture
- [x] Copper Tool Assets
- [x] Copper Ingots
- [x] Copper Tool Recipes
- [x] Tool Class Refactor into 1 with value for modifiers
- [x] Copper and Bronze have 1 upgrades
- [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
- [ ] Hardened Leather Helmet Inventory Model
## Feature Musket
- [ ] Create powder charge item (copper, charcoal, gunpowder)
@@ -34,9 +43,10 @@
- [ ] Create lock assembly item
## Backlog
- [ ] Hardened Leather Helmet Inventory Model
- [ ] Add Achievements
- [ ] Bloomery Print out
- [ ] Random Floats for hot texture
- [ ] Mass Ore Production
- [ ] Silver/Lead Production
- [ ] Sparks to forging
@@ -44,7 +54,6 @@
- [ ] Add chainmail recipe
- [ ] Add Iron Shield
- [ ] 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
### Tid-Bits

View File

@@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G
mod_group=nmd.primal.forgecraft
mod_name=ForgeCraft
mod_version=1.6.14
mod_version=1.6.15
forge_version=14.23.4.2744
mcp_mappings=snapshot_20171003
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.SubscribeEvent;
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.tools.CustomAxe;
import nmd.primal.forgecraft.items.tools.CustomHoe;
import nmd.primal.forgecraft.items.tools.CustomPickaxe;
import nmd.primal.forgecraft.items.tools.CustomShovel;
import nmd.primal.forgecraft.items.tools.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;
/**
@@ -28,99 +23,35 @@ public class CommonEvents implements ToolNBT {
if(!event.player.getEntityWorld().isRemote) {
if (event.crafting.getItem() instanceof CustomPickaxe || event.crafting.getItem() instanceof BronzePickaxe) {
NBTTagCompound tempTag = new NBTTagCompound();
for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots
if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item
ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item
if (a.getItem() instanceof ToolPart || 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 CustomPickaxe) {
doToolNBT(event);
}
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 CustomAxe ) {
doToolNBT(event);
}
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 CustomShovel ) {
doToolNBT(event);
}
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 CustomHoe) {
doToolNBT(event);
}
if (event.crafting.getItem() instanceof ToolPart || event.crafting.getItem() instanceof SimpleToolPart) {
NBTTagCompound tempTag = new NBTTagCompound();
if (event.crafting.getItem() instanceof ToolPart) {
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 CustomAxe) {
doQuickNBT(event, i, a);
}
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 CustomPickaxe) {
doQuickNBT(event, i, a);
}
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 CustomShovel) {
doQuickNBT(event, i, a);
}
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);
if (a.getItem() instanceof CustomHoe) {
doQuickNBT(event, i, a);
}
}
}
@@ -128,5 +59,28 @@ public class CommonEvents implements ToolNBT {
}
}
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();
event.crafting.getTagCompound().setTag("tags", tempTag);
event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound());
event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage());
}
}
}
}
}

View File

@@ -18,7 +18,7 @@ public class ModInfo {
//public static final String MOD_PREFIX = 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 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.ModItems;
import nmd.primal.forgecraft.items.SlottedTongs;
import nmd.primal.forgecraft.items.parts.SimpleToolPart;
import nmd.primal.forgecraft.tiles.TileCastingForm;
import nmd.primal.forgecraft.util.CastingFormHandler;
import nmd.primal.forgecraft.util.ToolNBT;
@@ -69,7 +68,7 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan
SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem();
ItemStack tongsStack = inventory.getStackInSlot(0).copy();
SlottedTongs tongs = (SlottedTongs) pItem.getItem();
//SlottedTongs tongs = (SlottedTongs) pItem.getItem();
if(tongsStack.getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) {
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> ingListEmpty = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY);
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));
if(crucibleRecipe != null){
if(tag.getCompoundTag("BlockEntityTag").getBoolean("status") && tag.getCompoundTag("BlockEntityTag").getInteger("hot") == 15){
Item[] tempArray = new Item[25];
for(int i=0; i<25; i++){
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){
NBTTagCompound tagOutput = casting.getOutput().getTagCompound();
NBTTagCompound crucibleOutput = crucibleRecipe.getDropsCooked().getTagCompound();
if(tagOutput != null) {
ItemStack dropStack = casting.getOutput();
System.out.println(dropStack);
System.out.println(crucibleOutput);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();

View File

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

View File

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

View File

@@ -24,38 +24,20 @@ public final class ModConfig
*/
public static class Compatibility
{
@Config.Comment({"Ore Dictionary Wootz steel for compatibility with common mod steel"})
public static boolean COMPAT_DICTIONARY_WOOTZ_STEEL;
//@Config.Comment({"Ore Dictionary Wootz steel for compatibility with common mod steel"})
//public static boolean COMPAT_DICTIONARY_WOOTZ_STEEL;
}
/**
* 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
{
@Config.RequiresMcRestart
@Config.Comment({"Config to allow or dissallow Copper Tools"})
public static boolean ENABLE_COPPER_TOOLS = false;
// @Config.RequiresMcRestart
// @Config.Comment({"Config to allow or dissallow Copper Tools"})
// 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.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.OreIngredient;
import net.minecraftforge.oredict.ShapedOreRecipe;
import nmd.primal.core.api.PrimalAPI;
import nmd.primal.core.common.recipes.irecipe.RecipeHandler;
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 bronzepickaxehead = new ItemStack(ModItems.bronzepickaxehead, 1);
@@ -133,6 +134,18 @@ public class ModCrafting{
wootzhoehead.setTagCompound(newTag);
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();
hotToolArray[0] =hotpickaxehead;
@@ -210,6 +223,11 @@ public class ModCrafting{
wootzshovelhead = toolArray[18] ;
wootzhoehead = toolArray[19];
copperpickaxehead = toolArray[20];
copperaxehead = toolArray[21];
coppershovelhead = toolArray[22];
copperhoehead = toolArray[23];
for(ItemStack temp : hotToolArray) {
//NBTTagCompound newTag = new NBTTagCompound();
NBTTagCompound tags = new NBTTagCompound();
@@ -252,7 +270,6 @@ public class ModCrafting{
/***CRUCIBLE CRAFTING***/
/***********************/
CrucibleCrafting.addRecipe(
new OreIngredient("oreIron"),
Ingredient.EMPTY,
@@ -373,8 +390,7 @@ public class ModCrafting{
1800,
1500);
//TODO change plate recipe
/***BRONZE***/
NBTTagCompound tagBronzeDefault = new NBTTagCompound();
tagBronzeDefault.setString("upgrades", "");
tagBronzeDefault.setBoolean("hot", false);
@@ -502,7 +518,7 @@ public class ModCrafting{
new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"),
new OreIngredient("dustTin"),
new OreIngredient("dustLapis"),
new OreIngredient("gemLapis"),
new ItemStack(PrimalAPI.Items.SLAG, 1),
lapisBronze,
1100,
@@ -510,6 +526,143 @@ public class ModCrafting{
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***/
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1),
true, new Object[]{" S ", "S S", " S ",
@@ -595,27 +748,27 @@ public class ModCrafting{
***************************************************************/
/***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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('C'), "cordageGeneral");
@@ -625,27 +778,27 @@ public class ModCrafting{
('S'), Items.STICK);
/***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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('C'), "cordageGeneral");
@@ -655,27 +808,27 @@ public class ModCrafting{
('S'), Items.STICK);
/***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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('C'), "cordageGeneral");
@@ -685,27 +838,27 @@ public class ModCrafting{
('S'), Items.STICK);
/***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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('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),
('S'), "stickTreatedWood",
('C'), "cordageGeneral");
@@ -721,7 +874,7 @@ public class ModCrafting{
//RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE),
// " ", " 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));
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));
/***************************************************************/
/***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)
);
//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
******************************************************************************/

View File

@@ -12,20 +12,11 @@ import nmd.primal.core.api.PrimalAPI;
import nmd.primal.forgecraft.items.*;
import nmd.primal.forgecraft.items.armor.CustomHelmet;
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.tools.CustomAxe;
import nmd.primal.forgecraft.items.tools.CustomHoe;
import nmd.primal.forgecraft.items.tools.CustomPickaxe;
import nmd.primal.forgecraft.items.tools.CustomShovel;
import nmd.primal.forgecraft.items.tools.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.CustomSword;
import nmd.primal.forgecraft.items.weapons.Longbow;
@@ -159,6 +150,7 @@ public class ModItems {
//public static Item forgingmanual;
public static void init() {
//OBJLoader.INSTANCE.addDomain(ModInfo.MOD_ID);
//pistonbellows = new ItemBellowsHandle("pistonbellows");
itemnbtcrucible = new ItemNBTCrucible("itemnbtcrucible", ModBlocks.nbtCrucible);
@@ -178,22 +170,21 @@ public class ModItems {
/**********
TOOL PARTS
**********/
if(ModConfig.Features.ENABLE_COPPER_TOOLS){
copperpickaxehead = new SimpleToolPart("copperpickaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "pickaxe");
copperaxehead = new SimpleToolPart("copperaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "axe");
coppershovelhead= new SimpleToolPart("coppershovelhead", PrimalAPI.ToolMaterials.TOOL_COPPER, "shovel");
copperhoehead = new SimpleToolPart("copperhoehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "hoe");
copperpickaxehead = new ToolPart("copperpickaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "pickaxe");
copperaxehead = new ToolPart("copperaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "axe");
coppershovelhead= new ToolPart("coppershovelhead", PrimalAPI.ToolMaterials.TOOL_COPPER, "shovel");
copperhoehead = new ToolPart("copperhoehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "hoe");
copperpickaxe = new CopperPickaxe("copperpickaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
copperaxe = new CopperAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F);
coppershovel = new CopperShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
copperhoe = new CopperHoe("copperhoe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
}
copperpickaxe = new CustomPickaxe("copperpickaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
copperaxe = new CustomAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F);
coppershovel = new CustomShovel("coppershovel", 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");
bronzeshovelhead = new SimpleToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel");
bronzehoehead = new SimpleToolPart("bronzehoehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "hoe");
bronzepickaxehead = new ToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe");
bronzeaxehead = new ToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe");
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");
ironaxehead = new ToolPart("ironaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "axe");
@@ -218,10 +209,10 @@ public class ModItems {
/**********
TOOLS
**********/
bronzepickaxe = new BronzePickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead);
bronzeaxe = new BronzeAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f);
bronzeshovel = new BronzeShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead);
bronzehoe = new BronzeHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead);
bronzepickaxe = new CustomPickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead);
bronzeaxe = new CustomAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f);
bronzeshovel = new CustomShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead);
bronzehoe = new CustomHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead);
ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, pickaxehead);
ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead, 5, -3.6f);
@@ -325,17 +316,17 @@ public class ModItems {
/**********
TOOL PARTS
**********/
if(ModConfig.Features.ENABLE_COPPER_TOOLS){
ForgeRegistries.ITEMS.register(copperpickaxehead);
ForgeRegistries.ITEMS.register(copperaxehead);
ForgeRegistries.ITEMS.register(coppershovelhead);
ForgeRegistries.ITEMS.register(copperhoehead);
ForgeRegistries.ITEMS.register(copperpickaxe);
ForgeRegistries.ITEMS.register(copperaxe);
ForgeRegistries.ITEMS.register(coppershovel);
ForgeRegistries.ITEMS.register(copperhoe);
}
ForgeRegistries.ITEMS.register(copperpickaxehead);
ForgeRegistries.ITEMS.register(copperaxehead);
ForgeRegistries.ITEMS.register(coppershovelhead);
ForgeRegistries.ITEMS.register(copperhoehead);
ForgeRegistries.ITEMS.register(copperpickaxe);
ForgeRegistries.ITEMS.register(copperaxe);
ForgeRegistries.ITEMS.register(coppershovel);
ForgeRegistries.ITEMS.register(copperhoe);
ForgeRegistries.ITEMS.register(bronzepickaxehead);
ForgeRegistries.ITEMS.register(bronzeaxehead);
@@ -459,17 +450,16 @@ public class ModItems {
TOOL PARTS
**********/
if(ModConfig.Features.ENABLE_COPPER_TOOLS){
registerRender(copperpickaxehead);
registerRender(copperaxehead);
registerRender(coppershovelhead);
registerRender(copperhoehead);
registerRender(copperpickaxehead);
registerRender(copperaxehead);
registerRender(coppershovelhead);
registerRender(copperhoehead);
registerRender(copperpickaxe);
registerRender(copperaxe);
registerRender(coppershovel);
registerRender(copperhoe);
registerRender(copperpickaxe);
registerRender(copperaxe);
registerRender(coppershovel);
registerRender(copperhoe);
}
registerRender(bronzepickaxehead);
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;
import com.mojang.realmsclient.gui.ChatFormatting;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -13,10 +14,14 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory;
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.SideOnly;
import nmd.primal.core.api.PrimalAPI;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.util.ToolMaterialMap;
import nmd.primal.forgecraft.util.ToolNBT;
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) {
if (item.hasTagCompound()) {
Float returnFloat = 0.0F;
if(getHot(item)){
returnFloat = returnFloat + 1.0F;
}
if(getEmerald(item)){
returnFloat += 0.1F;
}
@@ -69,13 +71,20 @@ public class ToolPart extends Item implements ToolNBT{
if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item));
}
if(getHot(item)){
returnFloat = 1.0F;
}
return returnFloat;
}
return 0.0F;
}
});
}
public static boolean isHidden()
{
return false;
@@ -86,9 +95,7 @@ public class ToolPart extends Item implements ToolNBT{
}
public ToolMaterial getMaterial() {return toolMaterial;}
@Override
public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) {
public void createDefaultNBT(ItemStack item){
if (!item.hasTagCompound()) {
item.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
@@ -102,25 +109,19 @@ public class ToolPart extends Item implements ToolNBT{
setLapisLevel(item, 0);
setModifiers(item, 0);
}
}
@Override
public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) {
createDefaultNBT(item);
}
@Override
public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) {
//System.out.println(item.getTagCompound());
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);
}
createDefaultNBT(item);
if (item.hasTagCompound()) {
if (item.getSubCompound("tags").getBoolean("hot")) {
player.setFire(1);
@@ -172,8 +173,8 @@ public class ToolPart extends Item implements ToolNBT{
{
if(item.hasTagCompound())
{
tooltip.add(ChatFormatting.GRAY + "Upgrades");
if (getEmerald(item) == true) {
tooltip.add(ChatFormatting.GRAY + "Upgrades left: " + (ToolMaterialMap.materialModifiers.get( this.getMaterial()) - getModifiers(item)));
if (getEmerald(item)) {
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
}
if (getDiamondLevel(item) > 0) {

View File

@@ -19,6 +19,7 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import nmd.primal.core.common.helper.PlayerHelper;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.util.ToolMaterialMap;
import nmd.primal.forgecraft.util.ToolNBT;
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) {
if (item.hasTagCompound()) {
Float returnFloat = 0.0F;
if(getHot(item)){
returnFloat = returnFloat + 1.0F;
}
if(getEmerald(item)){
returnFloat += 0.1F;
}
@@ -66,6 +64,9 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT {
if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item));
}
if(getHot(item)){
returnFloat = 1.0F;
}
return returnFloat;
}
return 0.0F;
@@ -137,8 +138,8 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT {
{
if (item.hasTagCompound())
{
tooltip.add(ChatFormatting.GRAY + "Upgrades added: " + (getModifiers(item)) );
if (getEmerald(item) == true) {
tooltip.add(ChatFormatting.GRAY + "Upgrades left: " + (ToolMaterialMap.materialModifiers.get(this.toolMaterial) - getModifiers(item)));
if (getEmerald(item)) {
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
}
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){
return super.getDestroySpeed(stack, state);
} 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;
}
@Override
public int getItemEnchantability(ItemStack stack)
{
return 0;

View File

@@ -7,10 +7,12 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.IItemPropertyGetter;
import net.minecraft.item.Item;
import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@@ -36,6 +38,39 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT {
this.setMaxStackSize(1);
this.setNoRepair();
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()
@@ -91,33 +126,32 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT {
}
}
//public void onItemTooltip(ItemTooltipEvent event){
@Override
@SideOnly(Side.CLIENT)
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 (getEmerald(item) == true) {
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
if (item.hasTagCompound())
{
tooltip.add(ChatFormatting.GRAY + "Upgrades added: " + (getModifiers(item)) );
if (getEmerald(item) == true) {
tooltip.add(ChatFormatting.DARK_GREEN + "Emerald");
}
if (getDiamondLevel(item) > 0) {
tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item));
}
if (getRedstoneLevel(item) > 0) {
tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) );
}
if (getLapisLevel(item) > 0) {
tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) );
}
tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() );
}
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) );
}
tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() );
}
}
@Override
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;
}
@Override
public int getItemEnchantability(ItemStack stack)
{
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) {
if (item.hasTagCompound()) {
Float returnFloat = 0.0F;
if(getHot(item)){
returnFloat = returnFloat + 1.0F;
}
if(getEmerald(item)){
returnFloat += 0.1F;
}
@@ -66,6 +63,9 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT {
if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item));
}
if(getHot(item)){
returnFloat = 1.0F;
}
return returnFloat;
}
return 0.0F;
@@ -221,6 +221,7 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT {
return false;
}
@Override
public int getItemEnchantability(ItemStack stack)
{
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) {
if (item.hasTagCompound()) {
Float returnFloat = 0.0F;
if(getHot(item)){
returnFloat = returnFloat + 1.0F;
}
if(getEmerald(item)){
returnFloat += 0.1F;
}
@@ -70,6 +67,9 @@ public class AbstractShovel extends ItemSpade implements ToolNBT {
if(getLapisLevel(item)>0){
returnFloat += (0.0001F * getLapisLevel(item));
}
if(getHot(item)){
returnFloat = 1.0F;
}
return returnFloat;
}
return 0.0F;
@@ -211,7 +211,7 @@ public class AbstractShovel extends ItemSpade implements ToolNBT {
for (String type : getToolClasses(stack))
{
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;
}
@@ -229,6 +229,7 @@ public class AbstractShovel extends ItemSpade implements ToolNBT {
return false;
}
@Override
public int getItemEnchantability(ItemStack stack)
{
return 0;

View File

@@ -5,7 +5,6 @@ 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.util.ToolNBT;
/**
@@ -23,7 +22,6 @@ public class CustomAxe extends AbstractAxe implements ToolNBT {
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{
if(!player.world.isRemote){
World world = player.getEntityWorld();
if(itemstack.getItem() instanceof CustomAxe){
if( getEmerald(itemstack)){
itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);

View File

@@ -1,20 +1,12 @@
package nmd.primal.forgecraft.items.tools;
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.util.ToolNBT;
import javax.annotation.Nullable;
/**
* 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) {
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
public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player)
{
if(!player.world.isRemote){
World world = player.getEntityWorld();
if(itemstack.getItem() instanceof CustomHoe){
if( getEmerald(itemstack)){
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.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
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)
{
if(!player.world.isRemote){
World world = player.getEntityWorld();
//System.out.println(world.getBlockState(pos).getBlock());
if(itemstack.getItem() instanceof CustomPickaxe){
if( getEmerald(itemstack)){
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.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import nmd.primal.forgecraft.util.ToolNBT;
/**
@@ -14,6 +13,7 @@ import nmd.primal.forgecraft.util.ToolNBT;
public class CustomShovel extends AbstractShovel implements ToolNBT {
public CustomShovel(String name, Item.ToolMaterial material, Item 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)
{
if(!player.world.isRemote){
World world = player.getEntityWorld();
if(itemstack.getItem() instanceof CustomShovel){
if( getEmerald(itemstack)){
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];
}
private int iterate =0;
public NonNullList<ItemStack> slotList = NonNullList.<ItemStack>withSize(100, ItemStack.EMPTY);
@@ -47,27 +48,31 @@ public class TileAnvil extends TileBaseSlot implements ITickable {
if (!world.isRemote) {
IBlockState state = world.getBlockState(this.pos);
if(PrimalAPI.randomCheck(1800)){
for(int i=0; i<this.getSlotListSize(); i++){
ItemStack slotStack = this.getSlotStack(i).copy();
if(!slotStack.isEmpty()){
if(slotStack.getItem() instanceof ToolPart){
if(slotStack.hasTagCompound()){
if(slotStack.getSubCompound("tags").getBoolean("hot")){
this.getSlotStack(i).getSubCompound("tags").setBoolean("hot", false);
if(iterate == 200) {
if (PrimalAPI.randomCheck(1800)) {
for (int i = 0; i < this.getSlotListSize(); i++) {
ItemStack slotStack = this.getSlotStack(i).copy();
if (!slotStack.isEmpty()) {
if (slotStack.getItem() instanceof ToolPart) {
if (slotStack.hasTagCompound()) {
if (slotStack.getSubCompound("tags").getBoolean("hot")) {
this.getSlotStack(i).getSubCompound("tags").setBoolean("hot", false);
}
}
}
}
if(slotStack.getItem() instanceof BaseMultiItem){
if(slotStack.hasTagCompound()){
if(slotStack.getTagCompound().getBoolean("hot")){
this.getSlotStack(i).getTagCompound().setBoolean("hot", false);
if (slotStack.getItem() instanceof BaseMultiItem) {
if (slotStack.hasTagCompound()) {
if (slotStack.getTagCompound().getBoolean("hot")) {
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.
*/
public interface AnvilHandler {
public interface AnvilHandler extends ToolMaterialMap {
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);
CommonUtils.spawnItemEntityFromWorld(world, pos, tempStack);
return true;
}
if (tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) {
@@ -100,21 +101,27 @@ public interface AnvilHandler {
if (recipe.getUpgrade() == "repair") {
CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack);
return true;
}
if (outputStack.getSubCompound("tags").getInteger("modifiers") < 3) {
if (outputStack.getSubCompound("tags").getInteger("modifiers") < ToolMaterialMap.materialModifiers.get(((ToolPart) recipe.getOutput().getItem()).getMaterial()) ) {
//Upgrade emerald
if (recipe.getUpgrade() == "emerald") {
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.getSubCompound("tags").setInteger("emerald",
(outputStack.getSubCompound("tags").getInteger("emerald") + 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;
}
}
}
@@ -127,6 +134,12 @@ public interface AnvilHandler {
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;
}
//Upgrade redstone
@@ -137,31 +150,44 @@ public interface AnvilHandler {
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;
}
//Upgrade lapis
if (recipe.getUpgrade() == "lapis") {
outputStack.setItemDamage(tile.getSlotStack(12).getItemDamage());
if (outputStack.getSubCompound("tags").getBoolean("emerald") == false) {
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;
}
} else {
}
if (!(recipe.getOutput().getItem() instanceof ToolPart)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, recipe.getOutput());
}
//world.playEvent(1031, pos, 0);
for (int i = 0; i < tile.getSlotListSize(); i++) {
if (!tile.getSlotStack(i).isEmpty()) {
tile.setSlotStack(i, ItemStack.EMPTY);
for (int i = 0; i < tile.getSlotListSize(); i++) {
if (!tile.getSlotStack(i).isEmpty()) {
tile.setSlotStack(i, ItemStack.EMPTY);
}
}
return true;
}
return true;
}
}
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.steelsword.name=Steel Sword
item.wootzpickaxehead.name=Damascus Steel Pickaxe Head
item.wootzaxehead.name=Damascus Steel Axe Head
item.wootzshovelhead.name=Damascus Steel Shovel Head
item.wootzhoehead.name=Damascus Steel Hoe Head
item.wootzpickaxe.name=Damascus Steel Pickaxe
item.wootzaxe.name=Damascus Steel Axe
item.wootzshovel.name=Damascus Steel Shovel
item.wootzhoe.name=Damascus Steel Hoe
item.wootzpickaxehead.name=Damascus Pickaxe Head
item.wootzaxehead.name=Damascus Axe Head
item.wootzshovelhead.name=Damascus Shovel Head
item.wootzhoehead.name=Damascus Hoe Head
item.wootzpickaxe.name=Damascus Pickaxe
item.wootzaxe.name=Damascus Axe
item.wootzshovel.name=Damascus Shovel
item.wootzhoe.name=Damascus Hoe
item.wootzgladius.name=Damascus Gladius
item.wootzlongsword.name=Damascus Longsword
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
# -- 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",
"textures": {
"particle": "forgecraft:items/raw_bronze",
"particle": "forgecraft:items/bronze/0",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:items/finished_bronze"
"texture1": "forgecraft:items/bronze/0"
}
}

View File

@@ -1,8 +1,8 @@
{
"parent": "forgecraft:item/axe",
"textures": {
"particle": "forgecraft:items/raw_bronze",
"particle": "forgecraft:items/bronze/1",
"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",
"textures": {
"particle": "forgecraft:items/raw_bronze",
"particle": "forgecraft:items/copper/0",
"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