Cleaner sub-item implementation
Todo: Move more sub items to use it
This commit is contained in:
parent
92fa6cd7f7
commit
739c1aa05f
|
@ -1,10 +1,14 @@
|
||||||
package WayofTime.bloodmagic.apibutnotreally.soul;
|
package WayofTime.bloodmagic.apibutnotreally.soul;
|
||||||
|
|
||||||
|
import WayofTime.bloodmagic.core.RegistrarBloodMagicItems;
|
||||||
|
import WayofTime.bloodmagic.item.types.ISubItem;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.IStringSerializable;
|
import net.minecraft.util.IStringSerializable;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
public enum EnumDemonWillType implements IStringSerializable {
|
public enum EnumDemonWillType implements IStringSerializable, ISubItem {
|
||||||
DEFAULT("default"),
|
DEFAULT("default"),
|
||||||
CORROSIVE("corrosive"),
|
CORROSIVE("corrosive"),
|
||||||
DESTRUCTIVE("destructive"),
|
DESTRUCTIVE("destructive"),
|
||||||
|
@ -26,4 +30,17 @@ public enum EnumDemonWillType implements IStringSerializable {
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return this.toString();
|
return this.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public String getInternalName() {
|
||||||
|
return getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public ItemStack getStack(int count) {
|
||||||
|
return new ItemStack(RegistrarBloodMagicItems.ITEM_DEMON_CRYSTAL, count, ordinal());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,19 +181,19 @@ public class BlockDemonCrystal extends Block {
|
||||||
ItemStack stack = null;
|
ItemStack stack = null;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case CORROSIVE:
|
case CORROSIVE:
|
||||||
stack = ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_CORROSIVE);
|
stack = EnumDemonWillType.CORROSIVE.getStack();
|
||||||
break;
|
break;
|
||||||
case DEFAULT:
|
case DEFAULT:
|
||||||
stack = ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DEFAULT);
|
stack = EnumDemonWillType.DEFAULT.getStack();
|
||||||
break;
|
break;
|
||||||
case DESTRUCTIVE:
|
case DESTRUCTIVE:
|
||||||
stack = ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DESTRUCTIVE);
|
stack = EnumDemonWillType.DESTRUCTIVE.getStack();
|
||||||
break;
|
break;
|
||||||
case STEADFAST:
|
case STEADFAST:
|
||||||
stack = ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_STEADFAST);
|
stack = EnumDemonWillType.STEADFAST.getStack();
|
||||||
break;
|
break;
|
||||||
case VENGEFUL:
|
case VENGEFUL:
|
||||||
stack = ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_VENGEFUL);
|
stack = EnumDemonWillType.VENGEFUL.getStack();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,46 +19,13 @@ import org.apache.commons.lang3.tuple.Pair;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ItemDemonCrystal extends Item implements IDiscreteDemonWill, IVariantProvider {
|
public class ItemDemonCrystal extends ItemEnum<EnumDemonWillType> implements IDiscreteDemonWill, IVariantProvider {
|
||||||
public static final ArrayList<String> NAMES = Lists.newArrayList();
|
|
||||||
|
|
||||||
public static final String CRYSTAL_DEFAULT = "crystalDefault";
|
|
||||||
public static final String CRYSTAL_CORROSIVE = "crystalCorrosive";
|
|
||||||
public static final String CRYSTAL_VENGEFUL = "crystalVengeful";
|
|
||||||
public static final String CRYSTAL_DESTRUCTIVE = "crystalDestructive";
|
|
||||||
public static final String CRYSTAL_STEADFAST = "crystalSteadfast";
|
|
||||||
|
|
||||||
public ItemDemonCrystal() {
|
public ItemDemonCrystal() {
|
||||||
super();
|
super(EnumDemonWillType.class, "demonCrystal");
|
||||||
|
|
||||||
setUnlocalizedName(BloodMagic.MODID + ".demonCrystal.");
|
|
||||||
setHasSubtypes(true);
|
setHasSubtypes(true);
|
||||||
setCreativeTab(BloodMagic.TAB_BM);
|
setCreativeTab(BloodMagic.TAB_BM);
|
||||||
|
|
||||||
buildItemList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buildItemList() {
|
|
||||||
NAMES.add(0, CRYSTAL_DEFAULT);
|
|
||||||
NAMES.add(1, CRYSTAL_CORROSIVE);
|
|
||||||
NAMES.add(2, CRYSTAL_DESTRUCTIVE);
|
|
||||||
NAMES.add(3, CRYSTAL_VENGEFUL);
|
|
||||||
NAMES.add(4, CRYSTAL_STEADFAST);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUnlocalizedName(ItemStack stack) {
|
|
||||||
return super.getUnlocalizedName(stack) + NAMES.get(stack.getItemDamage());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
public void getSubItems(CreativeTabs creativeTab, NonNullList<ItemStack> list) {
|
|
||||||
if (!isInCreativeTab(creativeTab))
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (int i = 0; i < NAMES.size(); i++)
|
|
||||||
list.add(new ItemStack(this, 1, i));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -88,16 +55,4 @@ public class ItemDemonCrystal extends Item implements IDiscreteDemonWill, IVaria
|
||||||
public EnumDemonWillType getType(ItemStack willStack) {
|
public EnumDemonWillType getType(ItemStack willStack) {
|
||||||
return EnumDemonWillType.values()[MathHelper.clamp(willStack.getMetadata(), 0, EnumDemonWillType.values().length - 1)];
|
return EnumDemonWillType.values()[MathHelper.clamp(willStack.getMetadata(), 0, EnumDemonWillType.values().length - 1)];
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Pair<Integer, String>> getVariants() {
|
|
||||||
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
|
|
||||||
for (String name : NAMES)
|
|
||||||
ret.add(new ImmutablePair<Integer, String>(NAMES.indexOf(name), "type=" + name));
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ItemStack getStack(String name) {
|
|
||||||
return new ItemStack(RegistrarBloodMagicItems.ITEM_DEMON_CRYSTAL, 1, NAMES.indexOf(name));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
59
src/main/java/WayofTime/bloodmagic/item/ItemEnum.java
Normal file
59
src/main/java/WayofTime/bloodmagic/item/ItemEnum.java
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
package WayofTime.bloodmagic.item;
|
||||||
|
|
||||||
|
import WayofTime.bloodmagic.BloodMagic;
|
||||||
|
import WayofTime.bloodmagic.client.IVariantProvider;
|
||||||
|
import WayofTime.bloodmagic.item.types.ISubItem;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.NonNullList;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ItemEnum<T extends Enum<T> & ISubItem> extends Item implements IVariantProvider {
|
||||||
|
|
||||||
|
protected final T[] types;
|
||||||
|
|
||||||
|
public ItemEnum(Class<T> enumClass, String baseName) {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.types = enumClass.getEnumConstants();
|
||||||
|
|
||||||
|
setUnlocalizedName(BloodMagic.MODID + "." + baseName);
|
||||||
|
setHasSubtypes(types.length > 1);
|
||||||
|
setCreativeTab(BloodMagic.TAB_BM);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUnlocalizedName(ItemStack stack) {
|
||||||
|
return super.getUnlocalizedName(stack) + "." + getItemType(stack).getInternalName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> subItems) {
|
||||||
|
if (!isInCreativeTab(tab))
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (T type : types)
|
||||||
|
subItems.add(new ItemStack(this, 1, type.ordinal()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public T getItemType(ItemStack stack) {
|
||||||
|
return types[MathHelper.clamp(stack.getItemDamage(), 0, types.length)];
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Pair<Integer, String>> getVariants() {
|
||||||
|
List<Pair<Integer, String>> variants = Lists.newArrayList();
|
||||||
|
for (int i = 0; i < types.length; i++)
|
||||||
|
variants.add(Pair.of(i, "type=" + types[i].getInternalName()));
|
||||||
|
|
||||||
|
return variants;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,64 @@
|
||||||
|
package WayofTime.bloodmagic.item.types;
|
||||||
|
|
||||||
|
import WayofTime.bloodmagic.core.RegistrarBloodMagicItems;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
public enum ComponentTypes implements ISubItem {
|
||||||
|
|
||||||
|
REAGENT_WATER,
|
||||||
|
REAGENT_LAVA,
|
||||||
|
REAGENT_AIR,
|
||||||
|
REAGENT_FAST_MINER,
|
||||||
|
REAGENT_VOID,
|
||||||
|
REAGENT_GROWTH,
|
||||||
|
REAGENT_AFFINITY,
|
||||||
|
REAGENT_SIGHT,
|
||||||
|
REAGENT_BINDING,
|
||||||
|
REAGENT_SUPPRESSION,
|
||||||
|
FRAME_PART,
|
||||||
|
REAGENT_BLOOD_LIGHT,
|
||||||
|
REAGENT_MAGNETISM,
|
||||||
|
REAGENT_HASTE,
|
||||||
|
REAGENT_COMPRESSION,
|
||||||
|
REAGENT_BRIDGE,
|
||||||
|
REAGENT_SEVERANCE,
|
||||||
|
REAGENT_TELEPOSITION,
|
||||||
|
REAGENT_TRANSPOSITION,
|
||||||
|
SAND_IRON,
|
||||||
|
SAND_GOLD,
|
||||||
|
SAND_COAL,
|
||||||
|
PLANT_OIL,
|
||||||
|
SULFUR,
|
||||||
|
SALTPETER,
|
||||||
|
NEURO_TOXIN,
|
||||||
|
ANTISEPTIC,
|
||||||
|
REAGENT_HOLDING,
|
||||||
|
CATALYST_LENGTH_1,
|
||||||
|
CATALYST_POWER_1,
|
||||||
|
REAGENT_CLAW,
|
||||||
|
REAGENT_BOUNCE,
|
||||||
|
REAGENT_FROST,
|
||||||
|
;
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public String getInternalName() {
|
||||||
|
return name().toLowerCase(Locale.ROOT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public ItemStack getStack() {
|
||||||
|
return getStack(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public ItemStack getStack(int count) {
|
||||||
|
return new ItemStack(RegistrarBloodMagicItems.COMPONENT, count, ordinal());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
19
src/main/java/WayofTime/bloodmagic/item/types/ISubItem.java
Normal file
19
src/main/java/WayofTime/bloodmagic/item/types/ISubItem.java
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
package WayofTime.bloodmagic.item.types;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
public interface ISubItem {
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
String getInternalName();
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
default ItemStack getStack() {
|
||||||
|
return getStack(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
ItemStack getStack(int count);
|
||||||
|
}
|
|
@ -9,6 +9,7 @@ import WayofTime.bloodmagic.apibutnotreally.livingArmour.LivingArmourUpgrade;
|
||||||
import WayofTime.bloodmagic.apibutnotreally.recipe.AlchemyTableCustomRecipe;
|
import WayofTime.bloodmagic.apibutnotreally.recipe.AlchemyTableCustomRecipe;
|
||||||
import WayofTime.bloodmagic.apibutnotreally.registry.*;
|
import WayofTime.bloodmagic.apibutnotreally.registry.*;
|
||||||
import WayofTime.bloodmagic.apibutnotreally.ritual.EnumRuneType;
|
import WayofTime.bloodmagic.apibutnotreally.ritual.EnumRuneType;
|
||||||
|
import WayofTime.bloodmagic.apibutnotreally.soul.EnumDemonWillType;
|
||||||
import WayofTime.bloodmagic.client.render.alchemyArray.*;
|
import WayofTime.bloodmagic.client.render.alchemyArray.*;
|
||||||
import WayofTime.bloodmagic.compress.AdvancedCompressionHandler;
|
import WayofTime.bloodmagic.compress.AdvancedCompressionHandler;
|
||||||
import WayofTime.bloodmagic.compress.BaseCompressionHandler;
|
import WayofTime.bloodmagic.compress.BaseCompressionHandler;
|
||||||
|
@ -17,7 +18,6 @@ import WayofTime.bloodmagic.core.RegistrarBloodMagic;
|
||||||
import WayofTime.bloodmagic.core.RegistrarBloodMagicBlocks;
|
import WayofTime.bloodmagic.core.RegistrarBloodMagicBlocks;
|
||||||
import WayofTime.bloodmagic.core.RegistrarBloodMagicItems;
|
import WayofTime.bloodmagic.core.RegistrarBloodMagicItems;
|
||||||
import WayofTime.bloodmagic.item.ItemComponent;
|
import WayofTime.bloodmagic.item.ItemComponent;
|
||||||
import WayofTime.bloodmagic.item.ItemDemonCrystal;
|
|
||||||
import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid;
|
import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid;
|
||||||
import WayofTime.bloodmagic.item.alchemy.ItemLivingArmourPointsUpgrade;
|
import WayofTime.bloodmagic.item.alchemy.ItemLivingArmourPointsUpgrade;
|
||||||
import WayofTime.bloodmagic.livingArmour.downgrade.*;
|
import WayofTime.bloodmagic.livingArmour.downgrade.*;
|
||||||
|
@ -176,7 +176,7 @@ public class ModRecipes {
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM), 1, 1, "dustRedstone", "ingotGold", "blockGlass", "dyeBlue");
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM), 1, 1, "dustRedstone", "ingotGold", "blockGlass", "dyeBlue");
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 1), 60, 20, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM), "gemDiamond", "blockRedstone", "blockLapis");
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 1), 60, 20, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM), "gemDiamond", "blockRedstone", "blockLapis");
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 2), 240, 50, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 1), "gemDiamond", "blockGold", new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 2), 240, 50, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 1), "gemDiamond", "blockGold", new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2));
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 3), 1000, 100, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 2), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.BLOOD_SHARD), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DEFAULT));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 3), 1000, 100, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 2), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.BLOOD_SHARD), EnumDemonWillType.DEFAULT.getStack());
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 4), 4000, 500, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 3), Items.NETHER_STAR);
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 4), 4000, 500, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 3), Items.NETHER_STAR);
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SENTIENT_SWORD), 0, 0, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM), new ItemStack(Items.IRON_SWORD));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SENTIENT_SWORD), 0, 0, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM), new ItemStack(Items.IRON_SWORD));
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SENTIENT_AXE), 0, 0, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM), new ItemStack(Items.IRON_AXE));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.SENTIENT_AXE), 0, 0, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM), new ItemStack(Items.IRON_AXE));
|
||||||
|
@ -216,11 +216,11 @@ public class ModRecipes {
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.INPUT_ROUTING_NODE), 400, 25, "dustGlowstone", "dustRedstone", "ingotGold", new ItemStack(RegistrarBloodMagicBlocks.ITEM_ROUTING_NODE));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.INPUT_ROUTING_NODE), 400, 25, "dustGlowstone", "dustRedstone", "ingotGold", new ItemStack(RegistrarBloodMagicBlocks.ITEM_ROUTING_NODE));
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.MASTER_ROUTING_NODE), 400, 200, "blockIron", "gemDiamond", new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.MASTER_ROUTING_NODE), 400, 200, "blockIron", "gemDiamond", new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2));
|
||||||
|
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 0), 1200, 100, ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DEFAULT), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DEFAULT), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DEFAULT), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DEFAULT));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 0), 1200, 100, EnumDemonWillType.DEFAULT.getStack(), EnumDemonWillType.DEFAULT.getStack(), EnumDemonWillType.DEFAULT.getStack(), EnumDemonWillType.DEFAULT.getStack());
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 1), 1200, 100, ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_CORROSIVE), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_CORROSIVE), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_CORROSIVE), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_CORROSIVE));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 1), 1200, 100, EnumDemonWillType.CORROSIVE.getStack(), EnumDemonWillType.CORROSIVE.getStack(), EnumDemonWillType.CORROSIVE.getStack(), EnumDemonWillType.CORROSIVE.getStack());
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 2), 1200, 100, ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DESTRUCTIVE), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DESTRUCTIVE), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DESTRUCTIVE), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_DESTRUCTIVE));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 2), 1200, 100, EnumDemonWillType.DESTRUCTIVE.getStack(), EnumDemonWillType.DESTRUCTIVE.getStack(), EnumDemonWillType.DESTRUCTIVE.getStack(), EnumDemonWillType.DESTRUCTIVE.getStack());
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 3), 1200, 100, ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_VENGEFUL), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_VENGEFUL), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_VENGEFUL), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_VENGEFUL));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 3), 1200, 100, EnumDemonWillType.VENGEFUL.getStack(), EnumDemonWillType.VENGEFUL.getStack(), EnumDemonWillType.VENGEFUL.getStack(), EnumDemonWillType.VENGEFUL.getStack());
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 4), 1200, 100, ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_STEADFAST), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_STEADFAST), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_STEADFAST), ItemDemonCrystal.getStack(ItemDemonCrystal.CRYSTAL_STEADFAST));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRYSTAL, 1, 4), 1200, 100, EnumDemonWillType.STEADFAST.getStack(), EnumDemonWillType.STEADFAST.getStack(), EnumDemonWillType.STEADFAST.getStack(), EnumDemonWillType.STEADFAST.getStack());
|
||||||
|
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRUCIBLE), 400, 100, Items.CAULDRON, "stone", "gemLapis", "gemDiamond");
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_CRUCIBLE), 400, 100, Items.CAULDRON, "stone", "gemLapis", "gemDiamond");
|
||||||
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_PYLON), 400, 50, "blockIron", "stone", "gemLapis", RegistrarBloodMagicItems.ITEM_DEMON_CRYSTAL);
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicBlocks.DEMON_PYLON), 400, 50, "blockIron", "stone", "gemLapis", RegistrarBloodMagicItems.ITEM_DEMON_CRYSTAL);
|
||||||
|
|
|
@ -6,117 +6,27 @@
|
||||||
},
|
},
|
||||||
"variants": {
|
"variants": {
|
||||||
"type": {
|
"type": {
|
||||||
"reagentwater": {
|
"frame_part": {
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentWater"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentlava": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentLava"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentair": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentAir"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentfastminer": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentFastMiner"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentvoid": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentVoid"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentgrowth": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentGrowth"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentaffinity": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentAffinity"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentsight": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentSight"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentbinding": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentBinding"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentsuppression": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentSuppression"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameparts": {
|
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/ComponentFrameParts"
|
"layer0": "bloodmagic:items/ComponentFrameParts"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"reagentbloodlight": {
|
"sand_iron": {
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentBloodLight"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentmagnetism": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentMagnetism"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagenthaste": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentHaste"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentcompression": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentCompression"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentbridge": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentBridge"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentseverance": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentSeverance"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagentteleposition": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentTeleposition"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"reagenttransposition": {
|
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentTransposition"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ironsand": {
|
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/IronSand"
|
"layer0": "bloodmagic:items/IronSand"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"goldsand": {
|
"sand_gold": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/GoldSand"
|
"layer0": "bloodmagic:items/GoldSand"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"coalsand": {
|
"sand_coal": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/CoalSand"
|
"layer0": "bloodmagic:items/CoalSand"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"plantoil": {
|
"plant_oil": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/PlantOil"
|
"layer0": "bloodmagic:items/PlantOil"
|
||||||
}
|
}
|
||||||
|
@ -131,7 +41,7 @@
|
||||||
"layer0": "bloodmagic:items/Saltpeter"
|
"layer0": "bloodmagic:items/Saltpeter"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"neurotoxin": {
|
"neuro_toxin": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/NeuroToxin"
|
"layer0": "bloodmagic:items/NeuroToxin"
|
||||||
}
|
}
|
||||||
|
@ -141,32 +51,122 @@
|
||||||
"layer0": "bloodmagic:items/Antiseptic"
|
"layer0": "bloodmagic:items/Antiseptic"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"reagentholding": {
|
"catalyst_length_1": {
|
||||||
"textures": {
|
|
||||||
"layer0": "bloodmagic:items/ReagentHolding"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mundanelength": {
|
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/MundaneLengtheningCatalyst"
|
"layer0": "bloodmagic:items/MundaneLengtheningCatalyst"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mundanepower": {
|
"catalyst_power_1": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/MundanePowerCatalyst"
|
"layer0": "bloodmagic:items/MundanePowerCatalyst"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"reagentclaw": {
|
"reagent_water": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentWater"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_lava": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentLava"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_air": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentAir"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_fast_miner": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentFastMiner"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_void": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentVoid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_growth": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentGrowth"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_affinity": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentAffinity"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_sight": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentSight"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_binding": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentBinding"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_suppression": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentSuppression"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_blood_light": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentBloodLight"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_magnetism": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentMagnetism"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_haste": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentHaste"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_compression": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentCompression"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_bridge": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentBridge"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_severance": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentSeverance"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_teleposition": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentTeleposition"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_transposition": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentTransposition"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_holding": {
|
||||||
|
"textures": {
|
||||||
|
"layer0": "bloodmagic:items/ReagentHolding"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reagent_claw": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/ReagentClaw"
|
"layer0": "bloodmagic:items/ReagentClaw"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"reagentbounce": {
|
"reagent_bounce": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/ReagentBounce"
|
"layer0": "bloodmagic:items/ReagentBounce"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"reagentfrost": {
|
"reagent_frost": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/ReagentFrost"
|
"layer0": "bloodmagic:items/ReagentFrost"
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,27 +6,27 @@
|
||||||
},
|
},
|
||||||
"variants": {
|
"variants": {
|
||||||
"type": {
|
"type": {
|
||||||
"crystaldefault": {
|
"default": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/DefaultCrystal"
|
"layer0": "bloodmagic:items/DefaultCrystal"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"crystalcorrosive": {
|
"corrosive": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/CorrosiveCrystal"
|
"layer0": "bloodmagic:items/CorrosiveCrystal"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"crystalvengeful": {
|
"vengeful": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/VengefulCrystal"
|
"layer0": "bloodmagic:items/VengefulCrystal"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"crystaldestructive": {
|
"destructive": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/DestructiveCrystal"
|
"layer0": "bloodmagic:items/DestructiveCrystal"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"crystalsteadfast": {
|
"steadfast": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/SteadfastCrystal"
|
"layer0": "bloodmagic:items/SteadfastCrystal"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue