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 {
|
||||
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
|
||||
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
|
||||
}
|
||||
}
|
||||
plugins {
|
||||
id "com.matthewprenger.cursegradle" version "1.0.7"
|
||||
id "com.matthewprenger.cursegradle" version "1.0.8"
|
||||
}
|
||||
|
||||
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
|
||||
minecraft {
|
||||
version = "1.12-14.21.0.2321"
|
||||
mappings = "snapshot_20161220"
|
||||
version = "1.12-14.21.0.2333"
|
||||
mappings = "snapshot_20170616"
|
||||
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.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 static final String MOD_ID = "ironchest";
|
||||
|
@ -78,4 +78,5 @@ public class IronChest
|
|||
{
|
||||
MissingMappingsHandler.onMissingMappings(event);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -53,8 +53,11 @@ public class GUIChest extends GuiContainer
|
|||
//@formatter:on
|
||||
|
||||
private int xSize;
|
||||
|
||||
private int ySize;
|
||||
|
||||
private ResourceList guiResourceList;
|
||||
|
||||
private IronChestType mainType;
|
||||
|
||||
GUI(int xSize, int ySize, ResourceList guiResourceList, IronChestType mainType)
|
||||
|
@ -87,6 +90,20 @@ public class GUIChest extends GuiContainer
|
|||
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
|
||||
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
|
||||
{
|
||||
|
|
|
@ -52,8 +52,11 @@ public class GUIShulkerChest extends GuiContainer
|
|||
//@formatter:on
|
||||
|
||||
private int xSize;
|
||||
|
||||
private int ySize;
|
||||
|
||||
private ResourceList guiResourceList;
|
||||
|
||||
private IronShulkerBoxType mainType;
|
||||
|
||||
GUI(int xSize, int ySize, ResourceList guiResourceList, IronShulkerBoxType mainType)
|
||||
|
@ -87,6 +90,20 @@ public class GUIShulkerChest extends GuiContainer
|
|||
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
|
||||
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
|
||||
{
|
||||
|
|
|
@ -51,7 +51,7 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
|
|||
}
|
||||
|
||||
@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())
|
||||
{
|
||||
|
@ -200,7 +200,7 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
|
|||
GlStateManager.rotate(timeD, 0F, 1F, 0F);
|
||||
GlStateManager.scale(blockScale, blockScale, blockScale);
|
||||
|
||||
customitem.setEntityItemStack(item);
|
||||
customitem.setItem(item);
|
||||
|
||||
if (this.itemRenderer == null)
|
||||
{
|
||||
|
|
|
@ -49,7 +49,7 @@ public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<
|
|||
}
|
||||
|
||||
@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())
|
||||
{
|
||||
|
@ -202,7 +202,7 @@ public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<
|
|||
GlStateManager.rotate(timeD, 0F, 1F, 0F);
|
||||
GlStateManager.scale(blockScale, blockScale, blockScale);
|
||||
|
||||
customitem.setEntityItemStack(item);
|
||||
customitem.setItem(item);
|
||||
|
||||
if (this.itemRenderer == null)
|
||||
{
|
||||
|
|
|
@ -26,7 +26,6 @@ import cpw.mods.ironchest.common.util.BehaviorDispenseIronShulkerBox;
|
|||
import cpw.mods.ironchest.common.util.CreativeTab;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockDispenser;
|
||||
import net.minecraft.block.BlockShulkerBox;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.EnumDyeColor;
|
||||
import net.minecraft.item.Item;
|
||||
|
@ -36,6 +35,7 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
|
|||
|
||||
public class ICContent
|
||||
{
|
||||
//@formatter:off
|
||||
public static CreativeTab tabGeneral = new CreativeTab("IronChest", new ItemStack(Item.getItemFromBlock(Blocks.SLIME_BLOCK)));
|
||||
|
||||
public static BlockIronChest ironChestBlock;
|
||||
|
@ -43,76 +43,45 @@ public class ICContent
|
|||
public static ItemIronChest ironChestItemBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxWhiteBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxOrangeBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxMagentaBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxLightBlueBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxYellowBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxLimeBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxPinkBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxGrayBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxSilverBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxCyanBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxPurpleBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxBlueBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxBrownBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxGreenBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxRedBlock;
|
||||
|
||||
public static BlockIronShulkerBox ironShulkerBoxBlackBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxWhiteItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxOrangeItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxMagentaItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxLightBlueItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxYellowItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxLimeItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxPinkItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxGrayItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxSilverItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxCyanItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxPurpleItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxBlueItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxBrownItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxGreenItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxRedItemBlock;
|
||||
|
||||
public static ItemIronShulkerBox ironShulkerBoxBlackItemBlock;
|
||||
|
||||
public static final List<Block> SHULKER_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<EnumDyeColor> VANILLA_SHULKER_COLORS = Lists.newArrayList();
|
||||
//@formatter:on
|
||||
|
||||
public static void preInit()
|
||||
{
|
||||
|
@ -129,9 +98,6 @@ public class ICContent
|
|||
GameRegistry.registerTileEntity(typ.clazz, "IronChest." + typ.name());
|
||||
}
|
||||
}
|
||||
|
||||
IronChestType.registerBlocksAndRecipes(ironChestBlock);
|
||||
ChestChangerType.generateRecipes();
|
||||
// Chests End
|
||||
|
||||
// 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)
|
||||
{
|
||||
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
|
||||
|
||||
tabGeneral.setDisplayIcon(new ItemStack(ironChestBlock, 1, IronChestType.IRON.ordinal()));
|
||||
|
|
|
@ -10,10 +10,6 @@
|
|||
******************************************************************************/
|
||||
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.tileentity.chest.TileEntityCopperChest;
|
||||
import cpw.mods.ironchest.common.tileentity.chest.TileEntityCrystalChest;
|
||||
|
@ -35,15 +31,15 @@ import net.minecraft.util.ResourceLocation;
|
|||
public enum IronChestType implements IStringSerializable
|
||||
{
|
||||
//@formatter:off
|
||||
IRON(54, 9, true, "iron_chest.png", Arrays.asList("ingotIron", "ingotRefinedIron"), TileEntityIronChest.class, 184, 202, "mmmmPmmmm", "mGmG3GmGm"),
|
||||
GOLD(81, 9, true, "gold_chest.png", Collections.singleton("ingotGold"), TileEntityGoldChest.class, 184, 256, "mmmmPmmmm", "mGmG4GmGm"),
|
||||
DIAMOND(108, 12, true, "diamond_chest.png", Collections.singleton("gemDiamond"), TileEntityDiamondChest.class, 184, 256, "GGGmPmGGG", "GGGG4Gmmm"),
|
||||
COPPER(45, 9, false, "copper_chest.png", Collections.singleton("ingotCopper"), TileEntityCopperChest.class, 184, 184, "mmmmCmmmm"),
|
||||
SILVER(72, 9, false, "silver_chest.png", Collections.singleton("ingotSilver"), TileEntitySilverChest.class, 184, 238, "mmmm3mmmm", "mGmG0GmGm"),
|
||||
CRYSTAL(108, 12, true, "crystal_chest.png", Collections.singleton("blockGlass"), TileEntityCrystalChest.class, 238, 256, "GGGGPGGGG"),
|
||||
OBSIDIAN(108, 12, false, "obsidian_chest.png", Collections.singleton("obsidian"), TileEntityObsidianChest.class, 238, 256, "mmmm2mmmm"),
|
||||
DIRTCHEST9000(1, 1, false, "dirt_chest.png", Collections.singleton("dirt"), TileEntityDirtChest.class, 184, 184, "mmmmCmmmm"),
|
||||
WOOD(0, 0, false, "", Collections.singleton("plankWood"), null, 0, 0);
|
||||
IRON(54, 9, true, "iron_chest.png", TileEntityIronChest.class, 184, 202),
|
||||
GOLD(81, 9, true, "gold_chest.png", TileEntityGoldChest.class, 184, 256),
|
||||
DIAMOND(108, 12, true, "diamond_chest.png", TileEntityDiamondChest.class, 184, 256),
|
||||
COPPER(45, 9, false, "copper_chest.png", TileEntityCopperChest.class, 184, 184),
|
||||
SILVER(72, 9, false, "silver_chest.png", TileEntitySilverChest.class, 184, 238),
|
||||
CRYSTAL(108, 12, true, "crystal_chest.png", TileEntityCrystalChest.class, 238, 256),
|
||||
OBSIDIAN(108, 12, false, "obsidian_chest.png", TileEntityObsidianChest.class, 238, 256),
|
||||
DIRTCHEST9000(1, 1, false, "dirt_chest.png", TileEntityDirtChest.class, 184, 184),
|
||||
WOOD(0, 0, false, "", null, 0, 0);
|
||||
//@formatter:on
|
||||
|
||||
public static final IronChestType VALUES[] = values();
|
||||
|
@ -62,16 +58,12 @@ public enum IronChestType implements IStringSerializable
|
|||
|
||||
public final Class<? extends TileEntityIronChest> clazz;
|
||||
|
||||
public final Collection<String> recipes;
|
||||
|
||||
public final Collection<String> matList;
|
||||
|
||||
public final int xSize;
|
||||
|
||||
public final int ySize;
|
||||
|
||||
//@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
|
||||
{
|
||||
this.name = this.name().toLowerCase();
|
||||
|
@ -79,9 +71,7 @@ public enum IronChestType implements IStringSerializable
|
|||
this.rowLength = rowLength;
|
||||
this.tieredChest = tieredChest;
|
||||
this.modelTexture = new ResourceLocation("ironchest", "textures/model/chest/" + modelTexture);
|
||||
this.matList = Collections.unmodifiableCollection(mats);
|
||||
this.clazz = clazz;
|
||||
this.recipes = Collections.unmodifiableCollection(Arrays.asList(recipes));
|
||||
this.xSize = xSize;
|
||||
this.ySize = ySize;
|
||||
}
|
||||
|
@ -123,70 +113,6 @@ public enum IronChestType implements IStringSerializable
|
|||
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()
|
||||
{
|
||||
return this.size / this.rowLength;
|
||||
|
|
|
@ -55,9 +55,7 @@ import net.minecraftforge.fml.relauncher.SideOnly;
|
|||
public class BlockIronShulkerBox extends Block
|
||||
{
|
||||
public static final PropertyEnum<IronShulkerBoxType> VARIANT_PROP = PropertyEnum.create("variant", IronShulkerBoxType.class);
|
||||
|
||||
private final EnumDyeColor color;
|
||||
|
||||
private EnumFacing facingDirection;
|
||||
|
||||
public BlockIronShulkerBox(EnumDyeColor colorIn)
|
||||
|
@ -134,7 +132,7 @@ public class BlockIronShulkerBox extends Block
|
|||
if (((TileEntityIronShulkerBox) tileentity).getAnimationStatus() == TileEntityIronShulkerBox.AnimationStatus.CLOSED)
|
||||
{
|
||||
//@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
|
||||
|
||||
flag = !worldIn.collidesWithAnyBlock(axisalignedbb.offset(pos.offset(enumfacing)));
|
||||
|
@ -338,9 +336,9 @@ public class BlockIronShulkerBox extends Block
|
|||
|
||||
@Override
|
||||
@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();
|
||||
|
||||
|
@ -378,9 +376,37 @@ public class BlockIronShulkerBox extends Block
|
|||
|
||||
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
|
||||
//@formatter:off
|
||||
tooltip.add(String.format(TextFormatting.ITALIC + I18n.translateToLocal("container.shulkerBox.more"), new Object[] { Integer.valueOf(j - i) }));
|
||||
//@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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -10,10 +10,6 @@
|
|||
******************************************************************************/
|
||||
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.tileentity.shulker.TileEntityCopperShulkerBox;
|
||||
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.TileEntityObsidianShulkerBox;
|
||||
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.Slot;
|
||||
import net.minecraft.item.EnumDyeColor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
|
||||
public enum IronShulkerBoxType implements IStringSerializable
|
||||
{
|
||||
//@formatter:off
|
||||
IRON(54, 9, true, "_iron.png", TileEntityIronShulkerBox.class, 184, 202, Arrays.asList("ingotIron", "ingotRefinedIron"), "mmmmPmmmm", "mGmG3GmGm"),
|
||||
GOLD(81, 9, true, "_gold.png", TileEntityGoldShulkerBox.class, 184, 256, Collections.singleton("ingotGold"), "mmmmPmmmm", "mGmG4GmGm"),
|
||||
DIAMOND(108, 12, true, "_diamond.png", TileEntityDiamondShulkerBox.class, 184, 256, Collections.singleton("gemDiamond"), "GGGmPmGGG", "GGGG4Gmmm"),
|
||||
COPPER(45, 9, false, "_copper.png", TileEntityCopperShulkerBox.class, 184, 184, Collections.singleton("ingotCopper"), "mmmmCmmmm"),
|
||||
SILVER(72, 9, false, "_silver.png", TileEntitySilverShulkerBox.class, 184, 238, Collections.singleton("ingotSilver"), "mmmm3mmmm", "mGmG0GmGm"),
|
||||
CRYSTAL(108, 12, true, "_crystal.png", TileEntityCrystalShulkerBox.class, 238, 256, Collections.singleton("blockGlass"), "GGGGPGGGG"),
|
||||
OBSIDIAN(108, 12, false, "_obsidian.png", TileEntityObsidianShulkerBox.class, 238, 256, Collections.singleton("obsidian"), "mmmm2mmmm"),
|
||||
VANILLA(0, 0, false, "", null, 0, 0, Collections.singleton("shulkerBox"));
|
||||
IRON(54, 9, true, "_iron.png", TileEntityIronShulkerBox.class, 184, 202),
|
||||
GOLD(81, 9, true, "_gold.png", TileEntityGoldShulkerBox.class, 184, 256),
|
||||
DIAMOND(108, 12, true, "_diamond.png", TileEntityDiamondShulkerBox.class, 184, 256),
|
||||
COPPER(45, 9, false, "_copper.png", TileEntityCopperShulkerBox.class, 184, 184),
|
||||
SILVER(72, 9, false, "_silver.png", TileEntitySilverShulkerBox.class, 184, 238),
|
||||
CRYSTAL(108, 12, true, "_crystal.png", TileEntityCrystalShulkerBox.class, 238, 256),
|
||||
OBSIDIAN(108, 12, false, "_obsidian.png", TileEntityObsidianShulkerBox.class, 238, 256),
|
||||
VANILLA(0, 0, false, "", null, 0, 0);
|
||||
//@formatter:on
|
||||
|
||||
public static final IronShulkerBoxType VALUES[] = values();
|
||||
|
@ -51,7 +44,7 @@ public enum IronShulkerBoxType implements IStringSerializable
|
|||
|
||||
public final int rowLength;
|
||||
|
||||
public final boolean tieredChest;
|
||||
public final boolean tieredShulkerBox;
|
||||
|
||||
public final String modelTexture;
|
||||
|
||||
|
@ -61,26 +54,20 @@ public enum IronShulkerBoxType implements IStringSerializable
|
|||
|
||||
public final int ySize;
|
||||
|
||||
public final Collection<String> matList;
|
||||
|
||||
public final Collection<String> recipes;
|
||||
|
||||
private String breakTexture;
|
||||
|
||||
//@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
|
||||
{
|
||||
this.name = this.name().toLowerCase();
|
||||
this.size = size;
|
||||
this.rowLength = rowLength;
|
||||
this.tieredChest = tieredChest;
|
||||
this.tieredShulkerBox = tieredShulkerBox;
|
||||
this.modelTexture = modelTexture;
|
||||
this.clazz = clazz;
|
||||
this.xSize = xSize;
|
||||
this.ySize = ySize;
|
||||
this.matList = Collections.unmodifiableCollection(mats);
|
||||
this.recipes = Collections.unmodifiableCollection(Arrays.asList(recipes));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -115,72 +102,6 @@ public enum IronShulkerBoxType implements IStringSerializable
|
|||
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()
|
||||
{
|
||||
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.items.chest.ItemChestChanger;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
|
||||
public enum ChestChangerType
|
||||
{
|
||||
//@formatter:off
|
||||
IRON_GOLD(IRON, GOLD, "iron_gold_chest_upgrade", "mmm", "msm", "mmm"),
|
||||
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_chest_upgrade", "GGG", "msm", "GGG"),
|
||||
COPPER_SILVER(COPPER, SILVER, "copper_silver_chest_upgrade", "mmm", "msm", "mmm"),
|
||||
SILVER_GOLD(SILVER, GOLD, "silver_gold_chest_upgrade", "mGm", "GsG", "mGm"),
|
||||
COPPER_IRON(COPPER, IRON, "copper_iron_chest_upgrade", "mGm", "GsG", "mGm"),
|
||||
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_chest_upgrade", "GGG", "GOG", "GGG"),
|
||||
WOOD_IRON(WOOD, IRON, "wood_iron_chest_upgrade", "mmm", "msm", "mmm"),
|
||||
WOOD_COPPER(WOOD, COPPER, "wood_copper_chest_upgrade", "mmm", "msm", "mmm"),
|
||||
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_chest_upgrade", "mmm", "mGm", "mmm");
|
||||
IRON_GOLD(IRON, GOLD, "iron_gold_chest_upgrade"),
|
||||
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_chest_upgrade"),
|
||||
COPPER_SILVER(COPPER, SILVER, "copper_silver_chest_upgrade"),
|
||||
SILVER_GOLD(SILVER, GOLD, "silver_gold_chest_upgrade"),
|
||||
COPPER_IRON(COPPER, IRON, "copper_iron_chest_upgrade"),
|
||||
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_chest_upgrade"),
|
||||
WOOD_IRON(WOOD, IRON, "wood_iron_chest_upgrade"),
|
||||
WOOD_COPPER(WOOD, COPPER, "wood_copper_chest_upgrade"),
|
||||
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_chest_upgrade");
|
||||
//@formatter:on
|
||||
|
||||
public static final ChestChangerType[] VALUES = values();
|
||||
|
||||
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.target = target;
|
||||
this.itemName = itemName;
|
||||
this.recipe = recipe;
|
||||
}
|
||||
|
||||
public boolean canUpgrade(IronChestType from)
|
||||
|
@ -67,21 +66,6 @@ public enum ChestChangerType
|
|||
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()
|
||||
{
|
||||
for (ChestChangerType type : VALUES)
|
||||
|
@ -89,12 +73,4 @@ public enum ChestChangerType
|
|||
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.items.shulker.ItemShulkerBoxChanger;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
|
||||
public enum ShulkerBoxChangerType
|
||||
{
|
||||
//@formatter:off
|
||||
IRON_GOLD(IRON, GOLD, "iron_gold_shulker_upgrade", "mmm", "msm", "mmm"),
|
||||
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_shulker_upgrade", "GGG", "msm", "GGG"),
|
||||
COPPER_SILVER(COPPER, SILVER, "copper_silver_shulker_upgrade", "mmm", "msm", "mmm"),
|
||||
SILVER_GOLD(SILVER, GOLD, "silver_gold_shulker_upgrade", "mGm", "GsG", "mGm"),
|
||||
COPPER_IRON(COPPER, IRON, "copper_iron_shulker_upgrade", "mGm", "GsG", "mGm"),
|
||||
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_shulker_upgrade", "GGG", "GOG", "GGG"),
|
||||
VANILLA_IRON(VANILLA, IRON, "vanilla_iron_shulker_upgrade", "mmm", "msm", "mmm"),
|
||||
VANILLA_COPPER(VANILLA, COPPER, "vanilla_copper_shulker_upgrade", "mmm", "msm", "mmm"),
|
||||
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_shulker_upgrade", "mmm", "mGm", "mmm");
|
||||
IRON_GOLD(IRON, GOLD, "iron_gold_shulker_upgrade"),
|
||||
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_shulker_upgrade"),
|
||||
COPPER_SILVER(COPPER, SILVER, "copper_silver_shulker_upgrade"),
|
||||
SILVER_GOLD(SILVER, GOLD, "silver_gold_shulker_upgrade"),
|
||||
COPPER_IRON(COPPER, IRON, "copper_iron_shulker_upgrade"),
|
||||
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_shulker_upgrade"),
|
||||
VANILLA_IRON(VANILLA, IRON, "vanilla_iron_shulker_upgrade"),
|
||||
VANILLA_COPPER(VANILLA, COPPER, "vanilla_copper_shulker_upgrade"),
|
||||
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_shulker_upgrade");
|
||||
//@formatter:on
|
||||
|
||||
public static final ShulkerBoxChangerType[] VALUES = values();
|
||||
|
||||
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.target = target;
|
||||
this.itemName = itemName;
|
||||
this.recipe = recipe;
|
||||
}
|
||||
|
||||
public boolean canUpgrade(IronShulkerBoxType from)
|
||||
|
@ -67,22 +66,6 @@ public enum ShulkerBoxChangerType
|
|||
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()
|
||||
{
|
||||
for (ShulkerBoxChangerType type : VALUES)
|
||||
|
@ -90,12 +73,4 @@ public enum ShulkerBoxChangerType
|
|||
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)
|
||||
{
|
||||
//@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
|
||||
}
|
||||
|
||||
|
|
|
@ -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