Update all recipes from Iron Chests to the new way of doing them for 1.12, Even changing the color of the shulker box works!
This commit is contained in:
parent
27a82a01cd
commit
b28ad34b43
|
@ -8,11 +8,11 @@ buildscript {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
|
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
plugins {
|
plugins {
|
||||||
id "com.matthewprenger.cursegradle" version "1.0.7"
|
id "com.matthewprenger.cursegradle" version "1.0.8"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'net.minecraftforge.gradle.forge'
|
apply plugin: 'net.minecraftforge.gradle.forge'
|
||||||
|
@ -46,8 +46,8 @@ targetCompatibility = 1.8
|
||||||
|
|
||||||
// Setup the forge minecraft plugin data. Specify the preferred forge/minecraft version here
|
// Setup the forge minecraft plugin data. Specify the preferred forge/minecraft version here
|
||||||
minecraft {
|
minecraft {
|
||||||
version = "1.12-14.21.0.2321"
|
version = "1.12-14.21.0.2333"
|
||||||
mappings = "snapshot_20161220"
|
mappings = "snapshot_20170616"
|
||||||
runDir = "run"
|
runDir = "run"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ import net.minecraftforge.fml.common.network.NetworkRegistry;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
|
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
|
|
||||||
@Mod(modid = IronChest.MOD_ID, name = "Iron Chests", dependencies = "required-after:forge@[13.19.0.2142,)", acceptedMinecraftVersions = "[1.11, 1.12)")
|
@Mod(modid = IronChest.MOD_ID, name = "Iron Chests", dependencies = "required-after:forge@[14.21.0.2333,)", acceptedMinecraftVersions = "[1.12, 1.13)")
|
||||||
public class IronChest
|
public class IronChest
|
||||||
{
|
{
|
||||||
public static final String MOD_ID = "ironchest";
|
public static final String MOD_ID = "ironchest";
|
||||||
|
@ -78,4 +78,5 @@ public class IronChest
|
||||||
{
|
{
|
||||||
MissingMappingsHandler.onMissingMappings(event);
|
MissingMappingsHandler.onMissingMappings(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,8 +53,11 @@ public class GUIChest extends GuiContainer
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
private int xSize;
|
private int xSize;
|
||||||
|
|
||||||
private int ySize;
|
private int ySize;
|
||||||
|
|
||||||
private ResourceList guiResourceList;
|
private ResourceList guiResourceList;
|
||||||
|
|
||||||
private IronChestType mainType;
|
private IronChestType mainType;
|
||||||
|
|
||||||
GUI(int xSize, int ySize, ResourceList guiResourceList, IronChestType mainType)
|
GUI(int xSize, int ySize, ResourceList guiResourceList, IronChestType mainType)
|
||||||
|
@ -87,6 +90,20 @@ public class GUIChest extends GuiContainer
|
||||||
this.allowUserInput = false;
|
this.allowUserInput = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draws the screen and all the components in it.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void drawScreen(int mouseX, int mouseY, float partialTicks)
|
||||||
|
{
|
||||||
|
this.drawDefaultBackground();
|
||||||
|
super.drawScreen(mouseX, mouseY, partialTicks);
|
||||||
|
this.renderHoveredToolTip(mouseX, mouseY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draws the background layer of this container (behind the items).
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
|
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
|
||||||
{
|
{
|
||||||
|
|
|
@ -52,8 +52,11 @@ public class GUIShulkerChest extends GuiContainer
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
private int xSize;
|
private int xSize;
|
||||||
|
|
||||||
private int ySize;
|
private int ySize;
|
||||||
|
|
||||||
private ResourceList guiResourceList;
|
private ResourceList guiResourceList;
|
||||||
|
|
||||||
private IronShulkerBoxType mainType;
|
private IronShulkerBoxType mainType;
|
||||||
|
|
||||||
GUI(int xSize, int ySize, ResourceList guiResourceList, IronShulkerBoxType mainType)
|
GUI(int xSize, int ySize, ResourceList guiResourceList, IronShulkerBoxType mainType)
|
||||||
|
@ -87,6 +90,20 @@ public class GUIShulkerChest extends GuiContainer
|
||||||
this.allowUserInput = false;
|
this.allowUserInput = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draws the screen and all the components in it.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void drawScreen(int mouseX, int mouseY, float partialTicks)
|
||||||
|
{
|
||||||
|
this.drawDefaultBackground();
|
||||||
|
super.drawScreen(mouseX, mouseY, partialTicks);
|
||||||
|
this.renderHoveredToolTip(mouseX, mouseY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draws the background layer of this container (behind the items).
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
|
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
|
||||||
{
|
{
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void func_192841_a(TileEntityIronChest te, double x, double y, double z, float partialTicks, int destroyStage, float partial)
|
public void renderTileEntityAt(TileEntityIronChest te, double x, double y, double z, float partialTicks, int destroyStage, float partial)
|
||||||
{
|
{
|
||||||
if (te == null || te.isInvalid())
|
if (te == null || te.isInvalid())
|
||||||
{
|
{
|
||||||
|
@ -200,7 +200,7 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
|
||||||
GlStateManager.rotate(timeD, 0F, 1F, 0F);
|
GlStateManager.rotate(timeD, 0F, 1F, 0F);
|
||||||
GlStateManager.scale(blockScale, blockScale, blockScale);
|
GlStateManager.scale(blockScale, blockScale, blockScale);
|
||||||
|
|
||||||
customitem.setEntityItemStack(item);
|
customitem.setItem(item);
|
||||||
|
|
||||||
if (this.itemRenderer == null)
|
if (this.itemRenderer == null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -49,7 +49,7 @@ public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void func_192841_a(TileEntityIronShulkerBox te, double x, double y, double z, float partialTicks, int destroyStage, float partial)
|
public void renderTileEntityAt(TileEntityIronShulkerBox te, double x, double y, double z, float partialTicks, int destroyStage, float partial)
|
||||||
{
|
{
|
||||||
if (te == null || te.isInvalid())
|
if (te == null || te.isInvalid())
|
||||||
{
|
{
|
||||||
|
@ -202,7 +202,7 @@ public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<
|
||||||
GlStateManager.rotate(timeD, 0F, 1F, 0F);
|
GlStateManager.rotate(timeD, 0F, 1F, 0F);
|
||||||
GlStateManager.scale(blockScale, blockScale, blockScale);
|
GlStateManager.scale(blockScale, blockScale, blockScale);
|
||||||
|
|
||||||
customitem.setEntityItemStack(item);
|
customitem.setItem(item);
|
||||||
|
|
||||||
if (this.itemRenderer == null)
|
if (this.itemRenderer == null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,7 +26,6 @@ import cpw.mods.ironchest.common.util.BehaviorDispenseIronShulkerBox;
|
||||||
import cpw.mods.ironchest.common.util.CreativeTab;
|
import cpw.mods.ironchest.common.util.CreativeTab;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockDispenser;
|
import net.minecraft.block.BlockDispenser;
|
||||||
import net.minecraft.block.BlockShulkerBox;
|
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.item.EnumDyeColor;
|
import net.minecraft.item.EnumDyeColor;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
|
@ -36,6 +35,7 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||||
|
|
||||||
public class ICContent
|
public class ICContent
|
||||||
{
|
{
|
||||||
|
//@formatter:off
|
||||||
public static CreativeTab tabGeneral = new CreativeTab("IronChest", new ItemStack(Item.getItemFromBlock(Blocks.SLIME_BLOCK)));
|
public static CreativeTab tabGeneral = new CreativeTab("IronChest", new ItemStack(Item.getItemFromBlock(Blocks.SLIME_BLOCK)));
|
||||||
|
|
||||||
public static BlockIronChest ironChestBlock;
|
public static BlockIronChest ironChestBlock;
|
||||||
|
@ -43,76 +43,45 @@ public class ICContent
|
||||||
public static ItemIronChest ironChestItemBlock;
|
public static ItemIronChest ironChestItemBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxWhiteBlock;
|
public static BlockIronShulkerBox ironShulkerBoxWhiteBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxOrangeBlock;
|
public static BlockIronShulkerBox ironShulkerBoxOrangeBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxMagentaBlock;
|
public static BlockIronShulkerBox ironShulkerBoxMagentaBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxLightBlueBlock;
|
public static BlockIronShulkerBox ironShulkerBoxLightBlueBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxYellowBlock;
|
public static BlockIronShulkerBox ironShulkerBoxYellowBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxLimeBlock;
|
public static BlockIronShulkerBox ironShulkerBoxLimeBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxPinkBlock;
|
public static BlockIronShulkerBox ironShulkerBoxPinkBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxGrayBlock;
|
public static BlockIronShulkerBox ironShulkerBoxGrayBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxSilverBlock;
|
public static BlockIronShulkerBox ironShulkerBoxSilverBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxCyanBlock;
|
public static BlockIronShulkerBox ironShulkerBoxCyanBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxPurpleBlock;
|
public static BlockIronShulkerBox ironShulkerBoxPurpleBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxBlueBlock;
|
public static BlockIronShulkerBox ironShulkerBoxBlueBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxBrownBlock;
|
public static BlockIronShulkerBox ironShulkerBoxBrownBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxGreenBlock;
|
public static BlockIronShulkerBox ironShulkerBoxGreenBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxRedBlock;
|
public static BlockIronShulkerBox ironShulkerBoxRedBlock;
|
||||||
|
|
||||||
public static BlockIronShulkerBox ironShulkerBoxBlackBlock;
|
public static BlockIronShulkerBox ironShulkerBoxBlackBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxWhiteItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxWhiteItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxOrangeItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxOrangeItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxMagentaItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxMagentaItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxLightBlueItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxLightBlueItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxYellowItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxYellowItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxLimeItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxLimeItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxPinkItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxPinkItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxGrayItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxGrayItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxSilverItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxSilverItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxCyanItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxCyanItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxPurpleItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxPurpleItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxBlueItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxBlueItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxBrownItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxBrownItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxGreenItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxGreenItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxRedItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxRedItemBlock;
|
||||||
|
|
||||||
public static ItemIronShulkerBox ironShulkerBoxBlackItemBlock;
|
public static ItemIronShulkerBox ironShulkerBoxBlackItemBlock;
|
||||||
|
|
||||||
public static final List<Block> SHULKER_BLOCKS = Lists.newArrayList();
|
public static final List<Block> SHULKER_BLOCKS = Lists.newArrayList();
|
||||||
|
|
||||||
public static final List<ItemBlock> SHULKER_ITEM_BLOCKS = Lists.newArrayList();
|
public static final List<ItemBlock> SHULKER_ITEM_BLOCKS = Lists.newArrayList();
|
||||||
|
|
||||||
public static final List<Block> VANILLA_SHULKER_BLOCKS = Lists.newArrayList();
|
public static final List<Block> VANILLA_SHULKER_BLOCKS = Lists.newArrayList();
|
||||||
|
|
||||||
public static final List<EnumDyeColor> VANILLA_SHULKER_COLORS = Lists.newArrayList();
|
public static final List<EnumDyeColor> VANILLA_SHULKER_COLORS = Lists.newArrayList();
|
||||||
|
//@formatter:on
|
||||||
|
|
||||||
public static void preInit()
|
public static void preInit()
|
||||||
{
|
{
|
||||||
|
@ -129,9 +98,6 @@ public class ICContent
|
||||||
GameRegistry.registerTileEntity(typ.clazz, "IronChest." + typ.name());
|
GameRegistry.registerTileEntity(typ.clazz, "IronChest." + typ.name());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IronChestType.registerBlocksAndRecipes(ironChestBlock);
|
|
||||||
ChestChangerType.generateRecipes();
|
|
||||||
// Chests End
|
// Chests End
|
||||||
|
|
||||||
// Shulkers Start
|
// Shulkers Start
|
||||||
|
@ -151,21 +117,10 @@ public class ICContent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < ICContent.SHULKER_BLOCKS.size(); i++)
|
|
||||||
{
|
|
||||||
IronShulkerBoxType.registerBlocksAndRecipes((BlockIronShulkerBox) SHULKER_BLOCKS.get(i), (BlockShulkerBox) VANILLA_SHULKER_BLOCKS.get(i));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (ItemBlock block : SHULKER_ITEM_BLOCKS)
|
for (ItemBlock block : SHULKER_ITEM_BLOCKS)
|
||||||
{
|
{
|
||||||
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(block, new BehaviorDispenseIronShulkerBox());
|
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(block, new BehaviorDispenseIronShulkerBox());
|
||||||
}
|
}
|
||||||
|
|
||||||
// CraftingManager.func_193372_a(new ResourceLocation("ironchests", "ironshulkerboxcoloring"), new IronShulkerBoxColoring()); // TEMP FIX FOR COLORING OF SHULKER BOXES.
|
|
||||||
// GameRegistry.addRecipe(new ResourceLocation("ironchests", "ironshulkerboxcoloring"), new IronShulkerBoxColoring()); // TODO RE-ADD WHEN FIXED.
|
|
||||||
// RecipeSorter.register(IronChest.MOD_ID, IronShulkerBoxColoring.class, Category.SHAPELESS, "after:forge:shapelessore"); // TODO: REMOVE WHEN FORGE REMOVES
|
|
||||||
|
|
||||||
ShulkerBoxChangerType.generateRecipes();
|
|
||||||
// Shulkers End
|
// Shulkers End
|
||||||
|
|
||||||
tabGeneral.setDisplayIcon(new ItemStack(ironChestBlock, 1, IronChestType.IRON.ordinal()));
|
tabGeneral.setDisplayIcon(new ItemStack(ironChestBlock, 1, IronChestType.IRON.ordinal()));
|
||||||
|
|
|
@ -10,10 +10,6 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
package cpw.mods.ironchest.common.blocks.chest;
|
package cpw.mods.ironchest.common.blocks.chest;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
|
||||||
|
|
||||||
import cpw.mods.ironchest.common.gui.chest.slot.ValidatingChestSlot;
|
import cpw.mods.ironchest.common.gui.chest.slot.ValidatingChestSlot;
|
||||||
import cpw.mods.ironchest.common.tileentity.chest.TileEntityCopperChest;
|
import cpw.mods.ironchest.common.tileentity.chest.TileEntityCopperChest;
|
||||||
import cpw.mods.ironchest.common.tileentity.chest.TileEntityCrystalChest;
|
import cpw.mods.ironchest.common.tileentity.chest.TileEntityCrystalChest;
|
||||||
|
@ -35,15 +31,15 @@ import net.minecraft.util.ResourceLocation;
|
||||||
public enum IronChestType implements IStringSerializable
|
public enum IronChestType implements IStringSerializable
|
||||||
{
|
{
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
IRON(54, 9, true, "iron_chest.png", Arrays.asList("ingotIron", "ingotRefinedIron"), TileEntityIronChest.class, 184, 202, "mmmmPmmmm", "mGmG3GmGm"),
|
IRON(54, 9, true, "iron_chest.png", TileEntityIronChest.class, 184, 202),
|
||||||
GOLD(81, 9, true, "gold_chest.png", Collections.singleton("ingotGold"), TileEntityGoldChest.class, 184, 256, "mmmmPmmmm", "mGmG4GmGm"),
|
GOLD(81, 9, true, "gold_chest.png", TileEntityGoldChest.class, 184, 256),
|
||||||
DIAMOND(108, 12, true, "diamond_chest.png", Collections.singleton("gemDiamond"), TileEntityDiamondChest.class, 184, 256, "GGGmPmGGG", "GGGG4Gmmm"),
|
DIAMOND(108, 12, true, "diamond_chest.png", TileEntityDiamondChest.class, 184, 256),
|
||||||
COPPER(45, 9, false, "copper_chest.png", Collections.singleton("ingotCopper"), TileEntityCopperChest.class, 184, 184, "mmmmCmmmm"),
|
COPPER(45, 9, false, "copper_chest.png", TileEntityCopperChest.class, 184, 184),
|
||||||
SILVER(72, 9, false, "silver_chest.png", Collections.singleton("ingotSilver"), TileEntitySilverChest.class, 184, 238, "mmmm3mmmm", "mGmG0GmGm"),
|
SILVER(72, 9, false, "silver_chest.png", TileEntitySilverChest.class, 184, 238),
|
||||||
CRYSTAL(108, 12, true, "crystal_chest.png", Collections.singleton("blockGlass"), TileEntityCrystalChest.class, 238, 256, "GGGGPGGGG"),
|
CRYSTAL(108, 12, true, "crystal_chest.png", TileEntityCrystalChest.class, 238, 256),
|
||||||
OBSIDIAN(108, 12, false, "obsidian_chest.png", Collections.singleton("obsidian"), TileEntityObsidianChest.class, 238, 256, "mmmm2mmmm"),
|
OBSIDIAN(108, 12, false, "obsidian_chest.png", TileEntityObsidianChest.class, 238, 256),
|
||||||
DIRTCHEST9000(1, 1, false, "dirt_chest.png", Collections.singleton("dirt"), TileEntityDirtChest.class, 184, 184, "mmmmCmmmm"),
|
DIRTCHEST9000(1, 1, false, "dirt_chest.png", TileEntityDirtChest.class, 184, 184),
|
||||||
WOOD(0, 0, false, "", Collections.singleton("plankWood"), null, 0, 0);
|
WOOD(0, 0, false, "", null, 0, 0);
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
public static final IronChestType VALUES[] = values();
|
public static final IronChestType VALUES[] = values();
|
||||||
|
@ -62,16 +58,12 @@ public enum IronChestType implements IStringSerializable
|
||||||
|
|
||||||
public final Class<? extends TileEntityIronChest> clazz;
|
public final Class<? extends TileEntityIronChest> clazz;
|
||||||
|
|
||||||
public final Collection<String> recipes;
|
|
||||||
|
|
||||||
public final Collection<String> matList;
|
|
||||||
|
|
||||||
public final int xSize;
|
public final int xSize;
|
||||||
|
|
||||||
public final int ySize;
|
public final int ySize;
|
||||||
|
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
IronChestType(int size, int rowLength, boolean tieredChest, String modelTexture, Collection<String> mats, Class<? extends TileEntityIronChest> clazz, int xSize, int ySize, String... recipes)
|
IronChestType(int size, int rowLength, boolean tieredChest, String modelTexture, Class<? extends TileEntityIronChest> clazz, int xSize, int ySize)
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
{
|
{
|
||||||
this.name = this.name().toLowerCase();
|
this.name = this.name().toLowerCase();
|
||||||
|
@ -79,9 +71,7 @@ public enum IronChestType implements IStringSerializable
|
||||||
this.rowLength = rowLength;
|
this.rowLength = rowLength;
|
||||||
this.tieredChest = tieredChest;
|
this.tieredChest = tieredChest;
|
||||||
this.modelTexture = new ResourceLocation("ironchest", "textures/model/chest/" + modelTexture);
|
this.modelTexture = new ResourceLocation("ironchest", "textures/model/chest/" + modelTexture);
|
||||||
this.matList = Collections.unmodifiableCollection(mats);
|
|
||||||
this.clazz = clazz;
|
this.clazz = clazz;
|
||||||
this.recipes = Collections.unmodifiableCollection(Arrays.asList(recipes));
|
|
||||||
this.xSize = xSize;
|
this.xSize = xSize;
|
||||||
this.ySize = ySize;
|
this.ySize = ySize;
|
||||||
}
|
}
|
||||||
|
@ -123,70 +113,6 @@ public enum IronChestType implements IStringSerializable
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerBlocksAndRecipes(BlockIronChest blockResult)
|
|
||||||
{
|
|
||||||
Object previous = "chestWood";
|
|
||||||
|
|
||||||
for (IronChestType typ : values())
|
|
||||||
{
|
|
||||||
generateRecipesForType(blockResult, previous, typ);
|
|
||||||
|
|
||||||
ItemStack chest = new ItemStack(blockResult, 1, typ.ordinal());
|
|
||||||
|
|
||||||
if (typ.tieredChest)
|
|
||||||
{
|
|
||||||
previous = chest;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void generateRecipesForType(BlockIronChest blockResult, Object previousTier, IronChestType type)
|
|
||||||
{
|
|
||||||
for (String recipe : type.recipes)
|
|
||||||
{
|
|
||||||
String[] recipeSplit = new String[] { recipe.substring(0, 3), recipe.substring(3, 6), recipe.substring(6, 9) };
|
|
||||||
Object mainMaterial = null;
|
|
||||||
|
|
||||||
for (String mat : type.matList)
|
|
||||||
{
|
|
||||||
mainMaterial = translateOreName(mat);
|
|
||||||
//@formatter:off
|
|
||||||
addRecipe(new ItemStack(blockResult, 1, type.ordinal()), recipeSplit,
|
|
||||||
'm', mainMaterial,
|
|
||||||
'P', previousTier, /* previous tier of chest */
|
|
||||||
'G', "blockGlass",
|
|
||||||
'C', "chestWood",
|
|
||||||
'0', new ItemStack(blockResult, 1, 0), /* Iron Chest */
|
|
||||||
'1', new ItemStack(blockResult, 1, 1), /* Gold Chest */
|
|
||||||
'2', new ItemStack(blockResult, 1, 2), /* Diamond Chest */
|
|
||||||
'3', new ItemStack(blockResult, 1, 3), /* Copper Chest */
|
|
||||||
'4', new ItemStack(blockResult, 1, 4) /* Silver Chest */);
|
|
||||||
//@formatter:on
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Object translateOreName(String mat)
|
|
||||||
{
|
|
||||||
if (mat.equals("obsidian"))
|
|
||||||
{
|
|
||||||
return Blocks.OBSIDIAN;
|
|
||||||
}
|
|
||||||
else if (mat.equals("dirt"))
|
|
||||||
{
|
|
||||||
return Blocks.DIRT;
|
|
||||||
}
|
|
||||||
|
|
||||||
return mat;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void addRecipe(ItemStack is, Object... parts)
|
|
||||||
{
|
|
||||||
//ShapedOreRecipe oreRecipe = new ShapedOreRecipe(is, parts); // TODO RE-ADD WHEN FIXED.
|
|
||||||
|
|
||||||
//GameRegistry.addRecipe(oreRecipe); // TODO RE-ADD WHEN FIXED.
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRowCount()
|
public int getRowCount()
|
||||||
{
|
{
|
||||||
return this.size / this.rowLength;
|
return this.size / this.rowLength;
|
||||||
|
|
|
@ -55,9 +55,7 @@ import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
public class BlockIronShulkerBox extends Block
|
public class BlockIronShulkerBox extends Block
|
||||||
{
|
{
|
||||||
public static final PropertyEnum<IronShulkerBoxType> VARIANT_PROP = PropertyEnum.create("variant", IronShulkerBoxType.class);
|
public static final PropertyEnum<IronShulkerBoxType> VARIANT_PROP = PropertyEnum.create("variant", IronShulkerBoxType.class);
|
||||||
|
|
||||||
private final EnumDyeColor color;
|
private final EnumDyeColor color;
|
||||||
|
|
||||||
private EnumFacing facingDirection;
|
private EnumFacing facingDirection;
|
||||||
|
|
||||||
public BlockIronShulkerBox(EnumDyeColor colorIn)
|
public BlockIronShulkerBox(EnumDyeColor colorIn)
|
||||||
|
@ -134,7 +132,7 @@ public class BlockIronShulkerBox extends Block
|
||||||
if (((TileEntityIronShulkerBox) tileentity).getAnimationStatus() == TileEntityIronShulkerBox.AnimationStatus.CLOSED)
|
if (((TileEntityIronShulkerBox) tileentity).getAnimationStatus() == TileEntityIronShulkerBox.AnimationStatus.CLOSED)
|
||||||
{
|
{
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
AxisAlignedBB axisalignedbb = FULL_BLOCK_AABB.addCoord(0.5F * enumfacing.getFrontOffsetX(), 0.5F * enumfacing.getFrontOffsetY(), 0.5F * enumfacing.getFrontOffsetZ()).contract(enumfacing.getFrontOffsetX(), enumfacing.getFrontOffsetY(), enumfacing.getFrontOffsetZ());
|
AxisAlignedBB axisalignedbb = FULL_BLOCK_AABB.expand(0.5F * enumfacing.getFrontOffsetX(), 0.5F * enumfacing.getFrontOffsetY(), 0.5F * enumfacing.getFrontOffsetZ()).contract(enumfacing.getFrontOffsetX(), enumfacing.getFrontOffsetY(), enumfacing.getFrontOffsetZ());
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
flag = !worldIn.collidesWithAnyBlock(axisalignedbb.offset(pos.offset(enumfacing)));
|
flag = !worldIn.collidesWithAnyBlock(axisalignedbb.offset(pos.offset(enumfacing)));
|
||||||
|
@ -338,9 +336,9 @@ public class BlockIronShulkerBox extends Block
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public void addInformation(ItemStack stack, @Nullable World playerIn, List<String> tooltip, ITooltipFlag advanced)
|
public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag advanced)
|
||||||
{
|
{
|
||||||
super.addInformation(stack, playerIn, tooltip, advanced);
|
super.addInformation(stack, worldIn, tooltip, advanced);
|
||||||
|
|
||||||
NBTTagCompound nbttagcompound = stack.getTagCompound();
|
NBTTagCompound nbttagcompound = stack.getTagCompound();
|
||||||
|
|
||||||
|
@ -378,9 +376,37 @@ public class BlockIronShulkerBox extends Block
|
||||||
|
|
||||||
if (j - i > 0)
|
if (j - i > 0)
|
||||||
{
|
{
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
tooltip.add(String.format(TextFormatting.ITALIC + I18n.translateToLocal("container.shulkerBox.more"), new Object[] {Integer.valueOf(j - i)}));
|
tooltip.add(String.format(TextFormatting.ITALIC + I18n.translateToLocal("container.shulkerBox.more"), new Object[] { Integer.valueOf(j - i) }));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NonNullList<ItemStack> nonnulllist = NonNullList.<ItemStack> withSize(27, ItemStack.EMPTY);
|
||||||
|
ItemStackHelper.loadAllItems(nbttagcompound1, nonnulllist);
|
||||||
|
int i = 0;
|
||||||
|
int j = 0;
|
||||||
|
|
||||||
|
for (ItemStack itemstack : nonnulllist)
|
||||||
|
{
|
||||||
|
if (!itemstack.isEmpty())
|
||||||
|
{
|
||||||
|
++j;
|
||||||
|
|
||||||
|
if (i <= 4)
|
||||||
|
{
|
||||||
|
++i;
|
||||||
|
tooltip.add(String.format("%s x%d", new Object[] { itemstack.getDisplayName(), Integer.valueOf(itemstack.getCount()) }));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (j - i > 0)
|
||||||
|
{
|
||||||
|
//@formatter:off
|
||||||
|
tooltip.add(String.format(TextFormatting.ITALIC + I18n.translateToLocal("container.shulkerBox.more"), new Object[] { Integer.valueOf(j - i) }));
|
||||||
|
//@formatter:on
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -495,4 +521,4 @@ public class BlockIronShulkerBox extends Block
|
||||||
|
|
||||||
return tileentity != null && tileentity.receiveClientEvent(id, param);
|
return tileentity != null && tileentity.receiveClientEvent(id, param);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -10,10 +10,6 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
package cpw.mods.ironchest.common.blocks.shulker;
|
package cpw.mods.ironchest.common.blocks.shulker;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
|
||||||
|
|
||||||
import cpw.mods.ironchest.common.gui.shulker.slot.ValidatingShulkerBoxSlot;
|
import cpw.mods.ironchest.common.gui.shulker.slot.ValidatingShulkerBoxSlot;
|
||||||
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityCopperShulkerBox;
|
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityCopperShulkerBox;
|
||||||
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityCrystalShulkerBox;
|
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityCrystalShulkerBox;
|
||||||
|
@ -22,25 +18,22 @@ import cpw.mods.ironchest.common.tileentity.shulker.TileEntityGoldShulkerBox;
|
||||||
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
|
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
|
||||||
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityObsidianShulkerBox;
|
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityObsidianShulkerBox;
|
||||||
import cpw.mods.ironchest.common.tileentity.shulker.TileEntitySilverShulkerBox;
|
import cpw.mods.ironchest.common.tileentity.shulker.TileEntitySilverShulkerBox;
|
||||||
import net.minecraft.block.BlockShulkerBox;
|
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.inventory.Slot;
|
import net.minecraft.inventory.Slot;
|
||||||
import net.minecraft.item.EnumDyeColor;
|
import net.minecraft.item.EnumDyeColor;
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.util.IStringSerializable;
|
import net.minecraft.util.IStringSerializable;
|
||||||
|
|
||||||
public enum IronShulkerBoxType implements IStringSerializable
|
public enum IronShulkerBoxType implements IStringSerializable
|
||||||
{
|
{
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
IRON(54, 9, true, "_iron.png", TileEntityIronShulkerBox.class, 184, 202, Arrays.asList("ingotIron", "ingotRefinedIron"), "mmmmPmmmm", "mGmG3GmGm"),
|
IRON(54, 9, true, "_iron.png", TileEntityIronShulkerBox.class, 184, 202),
|
||||||
GOLD(81, 9, true, "_gold.png", TileEntityGoldShulkerBox.class, 184, 256, Collections.singleton("ingotGold"), "mmmmPmmmm", "mGmG4GmGm"),
|
GOLD(81, 9, true, "_gold.png", TileEntityGoldShulkerBox.class, 184, 256),
|
||||||
DIAMOND(108, 12, true, "_diamond.png", TileEntityDiamondShulkerBox.class, 184, 256, Collections.singleton("gemDiamond"), "GGGmPmGGG", "GGGG4Gmmm"),
|
DIAMOND(108, 12, true, "_diamond.png", TileEntityDiamondShulkerBox.class, 184, 256),
|
||||||
COPPER(45, 9, false, "_copper.png", TileEntityCopperShulkerBox.class, 184, 184, Collections.singleton("ingotCopper"), "mmmmCmmmm"),
|
COPPER(45, 9, false, "_copper.png", TileEntityCopperShulkerBox.class, 184, 184),
|
||||||
SILVER(72, 9, false, "_silver.png", TileEntitySilverShulkerBox.class, 184, 238, Collections.singleton("ingotSilver"), "mmmm3mmmm", "mGmG0GmGm"),
|
SILVER(72, 9, false, "_silver.png", TileEntitySilverShulkerBox.class, 184, 238),
|
||||||
CRYSTAL(108, 12, true, "_crystal.png", TileEntityCrystalShulkerBox.class, 238, 256, Collections.singleton("blockGlass"), "GGGGPGGGG"),
|
CRYSTAL(108, 12, true, "_crystal.png", TileEntityCrystalShulkerBox.class, 238, 256),
|
||||||
OBSIDIAN(108, 12, false, "_obsidian.png", TileEntityObsidianShulkerBox.class, 238, 256, Collections.singleton("obsidian"), "mmmm2mmmm"),
|
OBSIDIAN(108, 12, false, "_obsidian.png", TileEntityObsidianShulkerBox.class, 238, 256),
|
||||||
VANILLA(0, 0, false, "", null, 0, 0, Collections.singleton("shulkerBox"));
|
VANILLA(0, 0, false, "", null, 0, 0);
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
public static final IronShulkerBoxType VALUES[] = values();
|
public static final IronShulkerBoxType VALUES[] = values();
|
||||||
|
@ -51,7 +44,7 @@ public enum IronShulkerBoxType implements IStringSerializable
|
||||||
|
|
||||||
public final int rowLength;
|
public final int rowLength;
|
||||||
|
|
||||||
public final boolean tieredChest;
|
public final boolean tieredShulkerBox;
|
||||||
|
|
||||||
public final String modelTexture;
|
public final String modelTexture;
|
||||||
|
|
||||||
|
@ -61,26 +54,20 @@ public enum IronShulkerBoxType implements IStringSerializable
|
||||||
|
|
||||||
public final int ySize;
|
public final int ySize;
|
||||||
|
|
||||||
public final Collection<String> matList;
|
|
||||||
|
|
||||||
public final Collection<String> recipes;
|
|
||||||
|
|
||||||
private String breakTexture;
|
private String breakTexture;
|
||||||
|
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
IronShulkerBoxType(int size, int rowLength, boolean tieredChest, String modelTexture, Class<? extends TileEntityIronShulkerBox> clazz, int xSize, int ySize, Collection<String> mats, String... recipes)
|
IronShulkerBoxType(int size, int rowLength, boolean tieredShulkerBox, String modelTexture, Class<? extends TileEntityIronShulkerBox> clazz, int xSize, int ySize)
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
{
|
{
|
||||||
this.name = this.name().toLowerCase();
|
this.name = this.name().toLowerCase();
|
||||||
this.size = size;
|
this.size = size;
|
||||||
this.rowLength = rowLength;
|
this.rowLength = rowLength;
|
||||||
this.tieredChest = tieredChest;
|
this.tieredShulkerBox = tieredShulkerBox;
|
||||||
this.modelTexture = modelTexture;
|
this.modelTexture = modelTexture;
|
||||||
this.clazz = clazz;
|
this.clazz = clazz;
|
||||||
this.xSize = xSize;
|
this.xSize = xSize;
|
||||||
this.ySize = ySize;
|
this.ySize = ySize;
|
||||||
this.matList = Collections.unmodifiableCollection(mats);
|
|
||||||
this.recipes = Collections.unmodifiableCollection(Arrays.asList(recipes));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -115,72 +102,6 @@ public enum IronShulkerBoxType implements IStringSerializable
|
||||||
return this.breakTexture;
|
return this.breakTexture;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerBlocksAndRecipes(BlockIronShulkerBox blockResult, BlockShulkerBox shulkerBox)
|
|
||||||
{
|
|
||||||
Object previous = shulkerBox;
|
|
||||||
|
|
||||||
for (IronShulkerBoxType typ : values())
|
|
||||||
{
|
|
||||||
generateRecipesForType(blockResult, previous, typ);
|
|
||||||
|
|
||||||
ItemStack chest = new ItemStack(blockResult, 1, typ.ordinal());
|
|
||||||
|
|
||||||
if (typ.tieredChest)
|
|
||||||
{
|
|
||||||
previous = chest;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void generateRecipesForType(BlockIronShulkerBox blockResult, Object previousTier, IronShulkerBoxType type)
|
|
||||||
{
|
|
||||||
for (String recipe : type.recipes)
|
|
||||||
{
|
|
||||||
String[] recipeSplit = new String[] { recipe.substring(0, 3), recipe.substring(3, 6), recipe.substring(6, 9) };
|
|
||||||
Object mainMaterial = null;
|
|
||||||
|
|
||||||
for (String mat : type.matList)
|
|
||||||
{
|
|
||||||
mainMaterial = translateOreName(mat);
|
|
||||||
//@formatter:off
|
|
||||||
addRecipe(new ItemStack(blockResult, 1, type.ordinal()), recipeSplit,
|
|
||||||
'm', mainMaterial,
|
|
||||||
'P', previousTier, /* previous tier of chest */
|
|
||||||
'G', "blockGlass",
|
|
||||||
'C', "chestWood",
|
|
||||||
'0', new ItemStack(blockResult, 1, 0), /* Iron Chest */
|
|
||||||
'1', new ItemStack(blockResult, 1, 1), /* Gold Chest */
|
|
||||||
'2', new ItemStack(blockResult, 1, 2), /* Diamond Chest */
|
|
||||||
'3', new ItemStack(blockResult, 1, 3), /* Copper Chest */
|
|
||||||
'4', new ItemStack(blockResult, 1, 4) /* Silver Chest */
|
|
||||||
);
|
|
||||||
//@formatter:on
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Object translateOreName(String mat)
|
|
||||||
{
|
|
||||||
if (mat.equals("shulkerBox"))
|
|
||||||
{
|
|
||||||
return Blocks.PURPLE_SHULKER_BOX;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mat.equals("obsidian"))
|
|
||||||
{
|
|
||||||
return Blocks.OBSIDIAN;
|
|
||||||
}
|
|
||||||
|
|
||||||
return mat;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void addRecipe(ItemStack is, Object... parts)
|
|
||||||
{
|
|
||||||
//ShapedOreRecipe oreRecipe = new ShapedOreRecipe(is, parts); // TODO RE-ADD WHEN FIXED.
|
|
||||||
|
|
||||||
//GameRegistry.addRecipe(oreRecipe); // TODO RE-ADD WHEN FIXED.
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRowCount()
|
public int getRowCount()
|
||||||
{
|
{
|
||||||
return this.size / this.rowLength;
|
return this.size / this.rowLength;
|
||||||
|
|
|
@ -1,139 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (c) 2012 cpw.
|
|
||||||
* All rights reserved. This program and the accompanying materials
|
|
||||||
* are made available under the terms of the GNU Public License v3.0
|
|
||||||
* which accompanies this distribution, and is available at
|
|
||||||
* http://www.gnu.org/licenses/gpl.html
|
|
||||||
* <p>
|
|
||||||
* Contributors:
|
|
||||||
* cpw - initial API and implementation
|
|
||||||
******************************************************************************/
|
|
||||||
package cpw.mods.ironchest.common.crafting;
|
|
||||||
|
|
||||||
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.init.Items;
|
|
||||||
import net.minecraft.inventory.InventoryCrafting;
|
|
||||||
import net.minecraft.item.EnumDyeColor;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.item.crafting.IRecipe;
|
|
||||||
import net.minecraft.util.NonNullList;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
|
|
||||||
public class IronShulkerBoxColoring implements IRecipe
|
|
||||||
{
|
|
||||||
public IronShulkerBoxColoring()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Used to check if a recipe matches current crafting inventory
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean matches(InventoryCrafting inv, World worldIn)
|
|
||||||
{
|
|
||||||
int i = 0;
|
|
||||||
int j = 0;
|
|
||||||
|
|
||||||
for (int k = 0; k < inv.getSizeInventory(); ++k)
|
|
||||||
{
|
|
||||||
ItemStack itemstack = inv.getStackInSlot(k);
|
|
||||||
|
|
||||||
if (!itemstack.isEmpty())
|
|
||||||
{
|
|
||||||
if (Block.getBlockFromItem(itemstack.getItem()) instanceof BlockIronShulkerBox)
|
|
||||||
{
|
|
||||||
++i;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (itemstack.getItem() != Items.DYE)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
++j;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (j > 1 || i > 1)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return i == 1 && j == 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an Item that is the result of this recipe
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public ItemStack getCraftingResult(InventoryCrafting inv)
|
|
||||||
{
|
|
||||||
ItemStack itemstack = ItemStack.EMPTY;
|
|
||||||
ItemStack itemstack1 = ItemStack.EMPTY;
|
|
||||||
|
|
||||||
for (int i = 0; i < inv.getSizeInventory(); ++i)
|
|
||||||
{
|
|
||||||
ItemStack itemstack2 = inv.getStackInSlot(i);
|
|
||||||
|
|
||||||
if (!itemstack2.isEmpty())
|
|
||||||
{
|
|
||||||
if (Block.getBlockFromItem(itemstack2.getItem()) instanceof BlockIronShulkerBox)
|
|
||||||
{
|
|
||||||
itemstack = itemstack2;
|
|
||||||
}
|
|
||||||
else if (itemstack2.getItem() == Items.DYE)
|
|
||||||
{
|
|
||||||
itemstack1 = itemstack2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ItemStack itemstack3 = BlockIronShulkerBox.getColoredItemStack(EnumDyeColor.byDyeDamage(itemstack1.getMetadata()), itemstack.getMetadata());
|
|
||||||
|
|
||||||
if (itemstack.hasTagCompound())
|
|
||||||
{
|
|
||||||
itemstack3.setTagCompound(itemstack.getTagCompound().copy());
|
|
||||||
}
|
|
||||||
|
|
||||||
return itemstack3;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ItemStack getRecipeOutput()
|
|
||||||
{
|
|
||||||
return ItemStack.EMPTY;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public NonNullList<ItemStack> getRemainingItems(InventoryCrafting inv)
|
|
||||||
{
|
|
||||||
NonNullList<ItemStack> nonnulllist = NonNullList.<ItemStack> withSize(inv.getSizeInventory(), ItemStack.EMPTY);
|
|
||||||
|
|
||||||
for (int i = 0; i < nonnulllist.size(); ++i)
|
|
||||||
{
|
|
||||||
ItemStack itemstack = inv.getStackInSlot(i);
|
|
||||||
|
|
||||||
if (itemstack.getItem().hasContainerItem(itemstack))
|
|
||||||
{
|
|
||||||
nonnulllist.set(i, new ItemStack(itemstack.getItem().getContainerItem()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return nonnulllist;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean func_192399_d()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean func_194133_a(int p_194133_1_, int p_194133_2_)
|
|
||||||
{
|
|
||||||
return p_194133_1_ * p_194133_2_ >= 2;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2012 cpw.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the GNU Public License v3.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.gnu.org/licenses/gpl.html
|
||||||
|
* <p>
|
||||||
|
* Contributors:
|
||||||
|
* cpw - initial API and implementation
|
||||||
|
******************************************************************************/
|
||||||
|
package cpw.mods.ironchest.common.crafting;
|
||||||
|
|
||||||
|
import java.util.function.BooleanSupplier;
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
|
import net.minecraft.util.JsonUtils;
|
||||||
|
import net.minecraftforge.common.crafting.IConditionFactory;
|
||||||
|
import net.minecraftforge.common.crafting.JsonContext;
|
||||||
|
import net.minecraftforge.oredict.OreDictionary;
|
||||||
|
|
||||||
|
public class OreDictEntryExistsConditionFactory implements IConditionFactory
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public BooleanSupplier parse(JsonContext context, JsonObject json)
|
||||||
|
{
|
||||||
|
String orename = JsonUtils.getString(json, "ore");
|
||||||
|
|
||||||
|
if (OreDictionary.getOres(orename).isEmpty())
|
||||||
|
{
|
||||||
|
return () -> false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return () -> true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,156 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2012 cpw.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the GNU Public License v3.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.gnu.org/licenses/gpl.html
|
||||||
|
* <p>
|
||||||
|
* Contributors:
|
||||||
|
* cpw - initial API and implementation
|
||||||
|
******************************************************************************/
|
||||||
|
package cpw.mods.ironchest.common.crafting;
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
|
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.init.Items;
|
||||||
|
import net.minecraft.inventory.InventoryCrafting;
|
||||||
|
import net.minecraft.item.EnumDyeColor;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
|
import net.minecraft.util.NonNullList;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.crafting.IRecipeFactory;
|
||||||
|
import net.minecraftforge.common.crafting.JsonContext;
|
||||||
|
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry.Impl;
|
||||||
|
|
||||||
|
public class ShulkerBoxColorRecipeFactory implements IRecipeFactory
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public IRecipe parse(JsonContext context, JsonObject json)
|
||||||
|
{
|
||||||
|
return new ShulkerBoxColorRecipe();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class ShulkerBoxColorRecipe extends Impl<IRecipe> implements IRecipe
|
||||||
|
{
|
||||||
|
public ShulkerBoxColorRecipe()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to check if a recipe matches current crafting inventory
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean matches(InventoryCrafting inv, World worldIn)
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
int j = 0;
|
||||||
|
|
||||||
|
for (int k = 0; k < inv.getSizeInventory(); ++k)
|
||||||
|
{
|
||||||
|
ItemStack itemstack = inv.getStackInSlot(k);
|
||||||
|
|
||||||
|
if (!itemstack.isEmpty())
|
||||||
|
{
|
||||||
|
if (Block.getBlockFromItem(itemstack.getItem()) instanceof BlockIronShulkerBox)
|
||||||
|
{
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (itemstack.getItem() != Items.DYE)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
++j;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (j > 1 || i > 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return i == 1 && j == 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an Item that is the result of this recipe
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public ItemStack getCraftingResult(InventoryCrafting inv)
|
||||||
|
{
|
||||||
|
ItemStack itemstack = ItemStack.EMPTY;
|
||||||
|
ItemStack itemstack1 = ItemStack.EMPTY;
|
||||||
|
|
||||||
|
for (int i = 0; i < inv.getSizeInventory(); ++i)
|
||||||
|
{
|
||||||
|
ItemStack itemstack2 = inv.getStackInSlot(i);
|
||||||
|
|
||||||
|
if (!itemstack2.isEmpty())
|
||||||
|
{
|
||||||
|
if (Block.getBlockFromItem(itemstack2.getItem()) instanceof BlockIronShulkerBox)
|
||||||
|
{
|
||||||
|
itemstack = itemstack2;
|
||||||
|
}
|
||||||
|
else if (itemstack2.getItem() == Items.DYE)
|
||||||
|
{
|
||||||
|
itemstack1 = itemstack2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ItemStack itemstack3 = BlockIronShulkerBox.getColoredItemStack(EnumDyeColor.byDyeDamage(itemstack1.getMetadata()), itemstack.getMetadata());
|
||||||
|
|
||||||
|
if (itemstack.hasTagCompound())
|
||||||
|
{
|
||||||
|
itemstack3.setTagCompound(itemstack.getTagCompound().copy());
|
||||||
|
}
|
||||||
|
|
||||||
|
return itemstack3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack getRecipeOutput()
|
||||||
|
{
|
||||||
|
return ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NonNullList<ItemStack> getRemainingItems(InventoryCrafting inv)
|
||||||
|
{
|
||||||
|
NonNullList<ItemStack> nonnulllist = NonNullList.<ItemStack> withSize(inv.getSizeInventory(), ItemStack.EMPTY);
|
||||||
|
|
||||||
|
for (int i = 0; i < nonnulllist.size(); ++i)
|
||||||
|
{
|
||||||
|
ItemStack itemstack = inv.getStackInSlot(i);
|
||||||
|
|
||||||
|
if (itemstack.getItem().hasContainerItem(itemstack))
|
||||||
|
{
|
||||||
|
nonnulllist.set(i, new ItemStack(itemstack.getItem().getContainerItem()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nonnulllist;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isHidden()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to determine if this recipe can fit in a grid of the given width/height
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean canFit(int width, int height)
|
||||||
|
{
|
||||||
|
return width * height >= 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,83 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2012 cpw.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the GNU Public License v3.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.gnu.org/licenses/gpl.html
|
||||||
|
* <p>
|
||||||
|
* Contributors:
|
||||||
|
* cpw - initial API and implementation
|
||||||
|
******************************************************************************/
|
||||||
|
package cpw.mods.ironchest.common.crafting;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
|
import cpw.mods.ironchest.IronChest;
|
||||||
|
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.BlockShulkerBox;
|
||||||
|
import net.minecraft.inventory.InventoryCrafting;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
|
import net.minecraft.util.JsonUtils;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraftforge.common.crafting.CraftingHelper.ShapedPrimer;
|
||||||
|
import net.minecraftforge.common.crafting.IRecipeFactory;
|
||||||
|
import net.minecraftforge.common.crafting.JsonContext;
|
||||||
|
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||||
|
|
||||||
|
public class ShulkerBoxRecipeFactory implements IRecipeFactory
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public IRecipe parse(JsonContext context, JsonObject json)
|
||||||
|
{
|
||||||
|
ShapedOreRecipe recipe = ShapedOreRecipe.factory(context, json);
|
||||||
|
|
||||||
|
ShapedPrimer primer = new ShapedPrimer();
|
||||||
|
primer.width = recipe.getWidth();
|
||||||
|
primer.height = recipe.getHeight();
|
||||||
|
primer.mirrored = JsonUtils.getBoolean(json, "mirrored", true);
|
||||||
|
primer.input = recipe.getIngredients();
|
||||||
|
|
||||||
|
return new ShulkerBoxRecipe(new ResourceLocation(IronChest.MOD_ID, "shulker_box_crafting"), recipe.getRecipeOutput(), primer);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class ShulkerBoxRecipe extends ShapedOreRecipe
|
||||||
|
{
|
||||||
|
public ShulkerBoxRecipe(ResourceLocation group, ItemStack result, ShapedPrimer primer)
|
||||||
|
{
|
||||||
|
super(group, result, primer);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nonnull
|
||||||
|
public ItemStack getCraftingResult(@Nonnull InventoryCrafting var1)
|
||||||
|
{
|
||||||
|
ItemStack newOutput = this.output.copy();
|
||||||
|
|
||||||
|
ItemStack itemstack = ItemStack.EMPTY;
|
||||||
|
|
||||||
|
for (int i = 0; i < var1.getSizeInventory(); ++i)
|
||||||
|
{
|
||||||
|
ItemStack stack = var1.getStackInSlot(i);
|
||||||
|
|
||||||
|
if (!stack.isEmpty())
|
||||||
|
{
|
||||||
|
if (Block.getBlockFromItem(stack.getItem()) instanceof BlockIronShulkerBox || Block.getBlockFromItem(stack.getItem()) instanceof BlockShulkerBox)
|
||||||
|
{
|
||||||
|
itemstack = stack;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (itemstack.hasTagCompound())
|
||||||
|
{
|
||||||
|
newOutput.setTagCompound(itemstack.getTagCompound().copy());
|
||||||
|
}
|
||||||
|
|
||||||
|
return newOutput;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,38 +17,37 @@ import static cpw.mods.ironchest.common.blocks.chest.IronChestType.WOOD;
|
||||||
|
|
||||||
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
|
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
|
||||||
import cpw.mods.ironchest.common.items.chest.ItemChestChanger;
|
import cpw.mods.ironchest.common.items.chest.ItemChestChanger;
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||||
|
|
||||||
public enum ChestChangerType
|
public enum ChestChangerType
|
||||||
{
|
{
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
IRON_GOLD(IRON, GOLD, "iron_gold_chest_upgrade", "mmm", "msm", "mmm"),
|
IRON_GOLD(IRON, GOLD, "iron_gold_chest_upgrade"),
|
||||||
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_chest_upgrade", "GGG", "msm", "GGG"),
|
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_chest_upgrade"),
|
||||||
COPPER_SILVER(COPPER, SILVER, "copper_silver_chest_upgrade", "mmm", "msm", "mmm"),
|
COPPER_SILVER(COPPER, SILVER, "copper_silver_chest_upgrade"),
|
||||||
SILVER_GOLD(SILVER, GOLD, "silver_gold_chest_upgrade", "mGm", "GsG", "mGm"),
|
SILVER_GOLD(SILVER, GOLD, "silver_gold_chest_upgrade"),
|
||||||
COPPER_IRON(COPPER, IRON, "copper_iron_chest_upgrade", "mGm", "GsG", "mGm"),
|
COPPER_IRON(COPPER, IRON, "copper_iron_chest_upgrade"),
|
||||||
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_chest_upgrade", "GGG", "GOG", "GGG"),
|
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_chest_upgrade"),
|
||||||
WOOD_IRON(WOOD, IRON, "wood_iron_chest_upgrade", "mmm", "msm", "mmm"),
|
WOOD_IRON(WOOD, IRON, "wood_iron_chest_upgrade"),
|
||||||
WOOD_COPPER(WOOD, COPPER, "wood_copper_chest_upgrade", "mmm", "msm", "mmm"),
|
WOOD_COPPER(WOOD, COPPER, "wood_copper_chest_upgrade"),
|
||||||
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_chest_upgrade", "mmm", "mGm", "mmm");
|
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_chest_upgrade");
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
public static final ChestChangerType[] VALUES = values();
|
public static final ChestChangerType[] VALUES = values();
|
||||||
|
|
||||||
public final IronChestType source;
|
public final IronChestType source;
|
||||||
public final IronChestType target;
|
|
||||||
public final String itemName;
|
|
||||||
public ItemChestChanger item;
|
|
||||||
private String[] recipe;
|
|
||||||
|
|
||||||
ChestChangerType(IronChestType source, IronChestType target, String itemName, String... recipe)
|
public final IronChestType target;
|
||||||
|
|
||||||
|
public final String itemName;
|
||||||
|
|
||||||
|
public ItemChestChanger item;
|
||||||
|
|
||||||
|
ChestChangerType(IronChestType source, IronChestType target, String itemName)
|
||||||
{
|
{
|
||||||
this.source = source;
|
this.source = source;
|
||||||
this.target = target;
|
this.target = target;
|
||||||
this.itemName = itemName;
|
this.itemName = itemName;
|
||||||
this.recipe = recipe;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canUpgrade(IronChestType from)
|
public boolean canUpgrade(IronChestType from)
|
||||||
|
@ -67,21 +66,6 @@ public enum ChestChangerType
|
||||||
return this.item;
|
return this.item;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addRecipes()
|
|
||||||
{
|
|
||||||
for (String sourceMat : this.source.matList)
|
|
||||||
{
|
|
||||||
for (String targetMat : this.target.matList)
|
|
||||||
{
|
|
||||||
Object targetMaterial = IronChestType.translateOreName(targetMat);
|
|
||||||
Object sourceMaterial = IronChestType.translateOreName(sourceMat);
|
|
||||||
//@formatter:off
|
|
||||||
IronChestType.addRecipe(new ItemStack(this.item), this.recipe, 'm', targetMaterial, 's', sourceMaterial, 'G', "blockGlass", 'O', Blocks.OBSIDIAN);
|
|
||||||
//@formatter:on
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void buildItems()
|
public static void buildItems()
|
||||||
{
|
{
|
||||||
for (ChestChangerType type : VALUES)
|
for (ChestChangerType type : VALUES)
|
||||||
|
@ -89,12 +73,4 @@ public enum ChestChangerType
|
||||||
type.buildItem();
|
type.buildItem();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void generateRecipes()
|
|
||||||
{
|
|
||||||
for (ChestChangerType item : VALUES)
|
|
||||||
{
|
|
||||||
item.addRecipes();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,38 +17,37 @@ import static cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType.VANILL
|
||||||
|
|
||||||
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
|
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
|
||||||
import cpw.mods.ironchest.common.items.shulker.ItemShulkerBoxChanger;
|
import cpw.mods.ironchest.common.items.shulker.ItemShulkerBoxChanger;
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||||
|
|
||||||
public enum ShulkerBoxChangerType
|
public enum ShulkerBoxChangerType
|
||||||
{
|
{
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
IRON_GOLD(IRON, GOLD, "iron_gold_shulker_upgrade", "mmm", "msm", "mmm"),
|
IRON_GOLD(IRON, GOLD, "iron_gold_shulker_upgrade"),
|
||||||
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_shulker_upgrade", "GGG", "msm", "GGG"),
|
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_shulker_upgrade"),
|
||||||
COPPER_SILVER(COPPER, SILVER, "copper_silver_shulker_upgrade", "mmm", "msm", "mmm"),
|
COPPER_SILVER(COPPER, SILVER, "copper_silver_shulker_upgrade"),
|
||||||
SILVER_GOLD(SILVER, GOLD, "silver_gold_shulker_upgrade", "mGm", "GsG", "mGm"),
|
SILVER_GOLD(SILVER, GOLD, "silver_gold_shulker_upgrade"),
|
||||||
COPPER_IRON(COPPER, IRON, "copper_iron_shulker_upgrade", "mGm", "GsG", "mGm"),
|
COPPER_IRON(COPPER, IRON, "copper_iron_shulker_upgrade"),
|
||||||
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_shulker_upgrade", "GGG", "GOG", "GGG"),
|
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_shulker_upgrade"),
|
||||||
VANILLA_IRON(VANILLA, IRON, "vanilla_iron_shulker_upgrade", "mmm", "msm", "mmm"),
|
VANILLA_IRON(VANILLA, IRON, "vanilla_iron_shulker_upgrade"),
|
||||||
VANILLA_COPPER(VANILLA, COPPER, "vanilla_copper_shulker_upgrade", "mmm", "msm", "mmm"),
|
VANILLA_COPPER(VANILLA, COPPER, "vanilla_copper_shulker_upgrade"),
|
||||||
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_shulker_upgrade", "mmm", "mGm", "mmm");
|
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_shulker_upgrade");
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
public static final ShulkerBoxChangerType[] VALUES = values();
|
public static final ShulkerBoxChangerType[] VALUES = values();
|
||||||
|
|
||||||
public final IronShulkerBoxType source;
|
public final IronShulkerBoxType source;
|
||||||
public final IronShulkerBoxType target;
|
|
||||||
public final String itemName;
|
|
||||||
public ItemShulkerBoxChanger item;
|
|
||||||
private String[] recipe;
|
|
||||||
|
|
||||||
ShulkerBoxChangerType(IronShulkerBoxType source, IronShulkerBoxType target, String itemName, String... recipe)
|
public final IronShulkerBoxType target;
|
||||||
|
|
||||||
|
public final String itemName;
|
||||||
|
|
||||||
|
public ItemShulkerBoxChanger item;
|
||||||
|
|
||||||
|
ShulkerBoxChangerType(IronShulkerBoxType source, IronShulkerBoxType target, String itemName)
|
||||||
{
|
{
|
||||||
this.source = source;
|
this.source = source;
|
||||||
this.target = target;
|
this.target = target;
|
||||||
this.itemName = itemName;
|
this.itemName = itemName;
|
||||||
this.recipe = recipe;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canUpgrade(IronShulkerBoxType from)
|
public boolean canUpgrade(IronShulkerBoxType from)
|
||||||
|
@ -67,22 +66,6 @@ public enum ShulkerBoxChangerType
|
||||||
return this.item;
|
return this.item;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addRecipes()
|
|
||||||
{
|
|
||||||
for (String sourceMat : this.source.matList)
|
|
||||||
{
|
|
||||||
for (String targetMat : this.target.matList)
|
|
||||||
{
|
|
||||||
Object targetMaterial = IronShulkerBoxType.translateOreName(targetMat);
|
|
||||||
Object sourceMaterial = IronShulkerBoxType.translateOreName(sourceMat);
|
|
||||||
|
|
||||||
//@formatter:off
|
|
||||||
IronShulkerBoxType.addRecipe(new ItemStack(this.item), this.recipe, 'm', targetMaterial, 's', sourceMaterial, 'G', "blockGlass", 'O', Blocks.OBSIDIAN);
|
|
||||||
//@formatter:on
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void buildItems()
|
public static void buildItems()
|
||||||
{
|
{
|
||||||
for (ShulkerBoxChangerType type : VALUES)
|
for (ShulkerBoxChangerType type : VALUES)
|
||||||
|
@ -90,12 +73,4 @@ public enum ShulkerBoxChangerType
|
||||||
type.buildItem();
|
type.buildItem();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void generateRecipes()
|
|
||||||
{
|
|
||||||
for (ShulkerBoxChangerType item : VALUES)
|
|
||||||
{
|
|
||||||
item.addRecipes();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -425,7 +425,7 @@ public class TileEntityIronShulkerBox extends TileEntityLockableLoot implements
|
||||||
public AxisAlignedBB getBoundingBox(EnumFacing facing)
|
public AxisAlignedBB getBoundingBox(EnumFacing facing)
|
||||||
{
|
{
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
return Block.FULL_BLOCK_AABB.addCoord(0.5F * this.getProgress(1.0F) * facing.getFrontOffsetX(), 0.5F * this.getProgress(1.0F) * facing.getFrontOffsetY(), 0.5F * this.getProgress(1.0F) * facing.getFrontOffsetZ());
|
return Block.FULL_BLOCK_AABB.expand(0.5F * this.getProgress(1.0F) * facing.getFrontOffsetX(), 0.5F * this.getProgress(1.0F) * facing.getFrontOffsetY(), 0.5F * this.getProgress(1.0F) * facing.getFrontOffsetZ());
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "IRON",
|
||||||
|
"ingredient": [
|
||||||
|
{
|
||||||
|
"type": "forge:ore_dict",
|
||||||
|
"ore": "ingotRefinedIron"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "forge:ore_dict",
|
||||||
|
"ore": "ingotIron"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "GOLD",
|
||||||
|
"ingredient": {
|
||||||
|
"type": "forge:ore_dict",
|
||||||
|
"ore": "ingotGold"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "DIAMOND",
|
||||||
|
"ingredient": {
|
||||||
|
"type": "forge:ore_dict",
|
||||||
|
"ore": "gemDiamond"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "COPPER",
|
||||||
|
"ingredient": {
|
||||||
|
"type": "forge:ore_dict",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SILVER",
|
||||||
|
"ingredient": {
|
||||||
|
"type": "forge:ore_dict",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "GLASS",
|
||||||
|
"ingredient": {
|
||||||
|
"type": "forge:ore_dict",
|
||||||
|
"ore": "blockGlass"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "OBSIDIAN",
|
||||||
|
"ingredient": {
|
||||||
|
"item": "minecraft:obsidian"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "DIRT",
|
||||||
|
"ingredient": [
|
||||||
|
{
|
||||||
|
"item": "minecraft:dirt",
|
||||||
|
"data": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "minecraft:dirt",
|
||||||
|
"data": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "minecraft:dirt",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SHULKER_SHELL",
|
||||||
|
"ingredient": {
|
||||||
|
"item": "minecraft:shulker_shell"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PLANKS",
|
||||||
|
"ingredient": {
|
||||||
|
"type": "forge:ore_dict",
|
||||||
|
"ore": "plankWood"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "CHEST",
|
||||||
|
"ingredient": {
|
||||||
|
"type": "forge:ore_dict",
|
||||||
|
"ore": "chestWood"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"recipes": {
|
||||||
|
"shulker_box": "cpw.mods.ironchest.common.crafting.ShulkerBoxRecipeFactory",
|
||||||
|
"shulker_box_coloring": "cpw.mods.ironchest.common.crafting.ShulkerBoxColorRecipeFactory"
|
||||||
|
},
|
||||||
|
"conditions": {
|
||||||
|
"ore_dict_entry_exists": "cpw.mods.ironchest.common.crafting.OreDictEntryExistsConditionFactory"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#COPPER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "#CHEST"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 5
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"MSM",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIRT"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "#CHEST"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 7
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "#CHEST"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#OBSIDIAN"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 6
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "forge:ore_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_chest",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#COPPER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:black_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 5
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"MSM",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:black_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#OBSIDIAN"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 6
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_black",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#COPPER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:blue_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 5
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"MSM",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:blue_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#OBSIDIAN"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 6
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_blue",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#COPPER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:brown_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 5
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"MSM",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:brown_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#OBSIDIAN"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 6
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_brown",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#COPPER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:cyan_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 5
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"MSM",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:cyan_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#OBSIDIAN"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 6
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_cyan",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#COPPER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:gray_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 5
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"MSM",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:gray_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#OBSIDIAN"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 6
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_gray",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#COPPER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:green_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 5
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"MSM",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#GOLD"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#IRON"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:green_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#OBSIDIAN"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 6
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotSilver"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MGM",
|
||||||
|
"GSG",
|
||||||
|
"MGM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#SILVER"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_green",
|
||||||
|
"data": 4
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "ironchest:ore_dict_entry_exists",
|
||||||
|
"ore": "ingotCopper"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"MMM",
|
||||||
|
"MSM",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#COPPER"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "minecraft:light_blue_shulker_box"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_light_blue",
|
||||||
|
"data": 3
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"GSG",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_light_blue",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_light_blue",
|
||||||
|
"data": 5
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "ironchest:shulker_box",
|
||||||
|
"pattern": [
|
||||||
|
"GGG",
|
||||||
|
"MSM",
|
||||||
|
"GGG"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"M": {
|
||||||
|
"item": "#DIAMOND"
|
||||||
|
},
|
||||||
|
"G": {
|
||||||
|
"item": "#GLASS"
|
||||||
|
},
|
||||||
|
"S": {
|
||||||
|
"item": "ironchest:iron_shulker_box_light_blue",
|
||||||
|
"data": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "ironchest:iron_shulker_box_light_blue",
|
||||||
|
"data": 2
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue