1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-12-04 23:40:00 +00:00

Automatically generate impostor recipes

Previously we would register the recipes within our code, but the
advancements were written manually. This now generates JSON files for
both the advancement and recipe.

While this does mean we're shipping even more JSON, we'll need to do
this for 1.13 anyway, and means our advancements are guaranteed to be
consistent.

On a side note, a couple of other changes:
 - Turtle upgrades are now mounted on the right in the creative
   menu/fake recipes. This means the upgrade is now clearly visible in
   the inventory.
 - We no longer generate legacy turtle items at all: we'll always
   construct turtle_expanded.
 - Several peripheral items are no longer registered as having sub-types
   (namely advanced and full-block modems).
 - We only have one disk advancement now, which unlocks all 16 recipes.
 - We have removed the disk conversion recipes - these can be
   exposed through JEI if needed.
This commit is contained in:
SquidDev 2019-03-16 00:15:31 +00:00
parent 765ad0bd3f
commit 105c66127c
124 changed files with 1329 additions and 1103 deletions

View File

@ -39,6 +39,9 @@ public final class PocketUpgrades
public static IPocketUpgrade get( String id )
{
// Fix a typo in the advanced modem upgrade's name. I'm sorry, I realise this is horrible.
if( id.equals( "computercraft:advanved_modem" ) ) id = "computercraft:advanced_modem";
return upgrades.get( id );
}

View File

@ -8,13 +8,10 @@ package dan200.computercraft.shared;
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.api.ComputerCraftAPI;
import dan200.computercraft.api.pocket.IPocketUpgrade;
import dan200.computercraft.api.turtle.ITurtleUpgrade;
import dan200.computercraft.shared.computer.blocks.BlockCommandComputer;
import dan200.computercraft.shared.computer.blocks.BlockComputer;
import dan200.computercraft.shared.computer.blocks.TileCommandComputer;
import dan200.computercraft.shared.computer.blocks.TileComputer;
import dan200.computercraft.shared.computer.core.ComputerFamily;
import dan200.computercraft.shared.computer.items.ItemCommandComputer;
import dan200.computercraft.shared.computer.items.ItemComputer;
import dan200.computercraft.shared.media.items.ItemDiskExpanded;
@ -33,7 +30,6 @@ import dan200.computercraft.shared.peripheral.monitor.TileMonitor;
import dan200.computercraft.shared.peripheral.printer.TilePrinter;
import dan200.computercraft.shared.peripheral.speaker.TileSpeaker;
import dan200.computercraft.shared.pocket.items.ItemPocketComputer;
import dan200.computercraft.shared.pocket.items.PocketComputerItemFactory;
import dan200.computercraft.shared.pocket.peripherals.PocketModem;
import dan200.computercraft.shared.pocket.peripherals.PocketSpeaker;
import dan200.computercraft.shared.turtle.blocks.BlockTurtle;
@ -43,19 +39,11 @@ import dan200.computercraft.shared.turtle.blocks.TileTurtleExpanded;
import dan200.computercraft.shared.turtle.items.ItemTurtleAdvanced;
import dan200.computercraft.shared.turtle.items.ItemTurtleLegacy;
import dan200.computercraft.shared.turtle.items.ItemTurtleNormal;
import dan200.computercraft.shared.turtle.items.TurtleItemFactory;
import dan200.computercraft.shared.turtle.upgrades.*;
import dan200.computercraft.shared.util.Colour;
import dan200.computercraft.shared.util.ImpostorRecipe;
import dan200.computercraft.shared.util.ImpostorShapelessRecipe;
import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
@ -203,98 +191,7 @@ public final class Registry
registerLegacyUpgrades();
}
@SubscribeEvent
public static void registerRecipes( RegistryEvent.Register<IRecipe> event )
{
IForgeRegistry<IRecipe> registry = event.getRegistry();
// Register fake recipes for the recipe book and JEI. We have several dynamic recipes,
// and we'd like people to be able to see them.
// Turtle upgrades
// TODO: Figure out a way to do this in a "nice" way.
for( ITurtleUpgrade upgrade : TurtleUpgrades.getVanillaUpgrades() )
{
ItemStack craftingItem = upgrade.getCraftingItem();
// A turtle just containing this upgrade
for( ComputerFamily family : ComputerFamily.values() )
{
if( !TurtleUpgrades.suitableForFamily( family, upgrade ) ) continue;
ItemStack baseTurtle = TurtleItemFactory.create( -1, null, -1, family, null, null, 0, null );
if( !baseTurtle.isEmpty() )
{
ItemStack craftedTurtle = TurtleItemFactory.create( -1, null, -1, family, upgrade, null, 0, null );
ItemStack craftedTurtleFlipped = TurtleItemFactory.create( -1, null, -1, family, null, upgrade, 0, null );
registry.register(
new ImpostorRecipe( "computercraft:" + family.toString() + "_turtle_upgrade", 2, 1, new ItemStack[] { baseTurtle, craftingItem }, craftedTurtle )
.setRegistryName( new ResourceLocation( "computercraft:" + family + "_turtle_upgrade_" + upgrade.getUpgradeID().toString().replace( ':', '_' ) + "_1" ) )
);
registry.register(
new ImpostorRecipe( "computercraft:" + family.toString() + "_turtle_upgrade", 2, 1, new ItemStack[] { craftingItem, baseTurtle }, craftedTurtleFlipped )
.setRegistryName( new ResourceLocation( "computercraft:" + family + "_turtle_upgrade_" + upgrade.getUpgradeID().toString().replace( ':', '_' ) + "_2" ) )
);
}
}
}
// Coloured disks
ItemStack paper = new ItemStack( Items.PAPER, 1 );
ItemStack redstone = new ItemStack( Items.REDSTONE, 1 );
for( int colour = 0; colour < 16; colour++ )
{
ItemStack disk = ItemDiskLegacy.createFromIDAndColour( -1, null, Colour.values()[colour].getHex() );
ItemStack dye = new ItemStack( Items.DYE, 1, colour );
int diskIdx = 0;
ItemStack[] disks = new ItemStack[15];
for( int otherColour = 0; otherColour < 16; otherColour++ )
{
if( colour != otherColour )
{
disks[diskIdx++] = ItemDiskLegacy.createFromIDAndColour( -1, null, Colour.values()[otherColour].getHex() );
}
}
// Normal recipe
registry.register(
new ImpostorShapelessRecipe( "computercraft:disk", disk, new ItemStack[] { redstone, paper, dye } )
.setRegistryName( new ResourceLocation( "computercraft:disk_imposter_" + colour ) )
);
// Conversion recipe
registry.register(
new ImpostorShapelessRecipe( "computercraft:disk", disk, NonNullList.from( Ingredient.EMPTY, Ingredient.fromStacks( disks ), Ingredient.fromStacks( dye ) ) )
.setRegistryName( new ResourceLocation( "computercraft:disk_imposter_convert_" + colour ) )
);
}
// Pocket computer upgrades
ItemStack pocketComputer = PocketComputerItemFactory.create( -1, null, -1, ComputerFamily.Normal, null );
ItemStack advancedPocketComputer = PocketComputerItemFactory.create( -1, null, -1, ComputerFamily.Advanced, null );
for( IPocketUpgrade upgrade : PocketUpgrades.getVanillaUpgrades() )
{
registry.register( new ImpostorRecipe(
"computercraft:normal_pocket_upgrade",
1, 2,
new ItemStack[] { upgrade.getCraftingItem(), pocketComputer },
PocketComputerItemFactory.create( -1, null, -1, ComputerFamily.Normal, upgrade )
).setRegistryName( new ResourceLocation( "computercraft:normal_pocket_upgrade_" + upgrade.getUpgradeID().toString().replace( ':', '_' ) ) )
);
registry.register(
new ImpostorRecipe( "computercraft:advanced_pocket_upgrade",
1, 2,
new ItemStack[] { upgrade.getCraftingItem(), advancedPocketComputer },
PocketComputerItemFactory.create( -1, null, -1, ComputerFamily.Advanced, upgrade )
).setRegistryName( new ResourceLocation( "computercraft:advanced_pocket_upgrade_" + upgrade.getUpgradeID().toString().replace( ':', '_' ) ) )
);
}
}
public static void registerTurtleUpgrades()
private static void registerTurtleUpgrades()
{
// Upgrades
ComputerCraft.TurtleUpgrades.wirelessModem = new TurtleModem( false, new ResourceLocation( "computercraft", "wireless_modem" ), 1 );
@ -325,7 +222,7 @@ public final class Registry
TurtleUpgrades.registerInternal( ComputerCraft.TurtleUpgrades.diamondHoe );
}
public static void registerPocketUpgrades()
private static void registerPocketUpgrades()
{
// Register pocket upgrades
ComputerCraft.PocketUpgrades.wirelessModem = new PocketModem( false );

View File

@ -29,6 +29,7 @@ public class ItemPeripheral extends ItemPeripheralBase
super( block );
setTranslationKey( "computercraft:peripheral" );
setCreativeTab( ComputerCraft.mainCreativeTab );
setHasSubtypes( true );
}
@Nonnull

View File

@ -23,7 +23,6 @@ public abstract class ItemPeripheralBase extends ItemBlock implements IPeriphera
{
super( block );
setMaxStackSize( 64 );
setHasSubtypes( true );
}
public abstract PeripheralType getPeripheralType( int damage );

View File

@ -31,6 +31,7 @@ public class ItemCable extends ItemPeripheralBase
super( block );
setTranslationKey( "computercraft:cable" );
setCreativeTab( ComputerCraft.mainCreativeTab );
setHasSubtypes( true );
}
@Nonnull

View File

@ -25,11 +25,8 @@ public class PocketModem extends AbstractPocketUpgrade
{
super(
advanced
? new ResourceLocation( "computercraft", "advanved_modem" )
? new ResourceLocation( "computercraft", "advanced_modem" )
: new ResourceLocation( "computercraft", "wireless_modem" ),
advanced
? "upgrade.computercraft:advanced_modem.adjective"
: "upgrade.computercraft:wireless_modem.adjective",
PeripheralItemFactory.create(
advanced ? PeripheralType.AdvancedModem : PeripheralType.WirelessModem,
null, 1

View File

@ -38,8 +38,6 @@ public abstract class ItemTurtleBase extends ItemComputerBase implements ITurtle
setHasSubtypes( true );
}
public abstract ItemStack create( int id, String label, int colour, ITurtleUpgrade leftUpgrade, ITurtleUpgrade rightUpgrade, int fuelLevel, ResourceLocation overlay );
public abstract ComputerFamily getFamily();
@Override
@ -62,7 +60,7 @@ public abstract class ItemTurtleBase extends ItemComputerBase implements ITurtle
{
if( !TurtleUpgrades.suitableForFamily( family, upgrade ) ) continue;
ItemStack stack = TurtleItemFactory.create( -1, null, -1, family, upgrade, null, 0, null );
ItemStack stack = TurtleItemFactory.create( -1, null, -1, family, null, upgrade, 0, null );
if( !stack.isEmpty() && stack.getItem() == this ) list.add( stack );
}
}

View File

@ -10,7 +10,6 @@ import dan200.computercraft.ComputerCraft;
import dan200.computercraft.api.turtle.ITurtleUpgrade;
import dan200.computercraft.api.turtle.TurtleSide;
import dan200.computercraft.shared.computer.core.ComputerFamily;
import dan200.computercraft.shared.computer.items.ItemComputer;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@ -27,59 +26,6 @@ public class ItemTurtleLegacy extends ItemTurtleBase
setCreativeTab( ComputerCraft.mainCreativeTab );
}
@Override
public ItemStack create( int id, String label, int colour, ITurtleUpgrade leftUpgrade, ITurtleUpgrade rightUpgrade, int fuelLevel, ResourceLocation overlay )
{
// Legacy turtles only support pickaxes and modems
if( (leftUpgrade != null && leftUpgrade != ComputerCraft.TurtleUpgrades.diamondPickaxe) ||
(rightUpgrade != null && rightUpgrade != ComputerCraft.TurtleUpgrades.wirelessModem) ||
(colour != -1) || (overlay != null) )
{
return null;
}
// Build the subtype
int subType = 0;
if( leftUpgrade != null )
{
subType = subType + 1;
}
if( rightUpgrade != null )
{
subType = subType + 2;
}
// Build the ID
int damage = subType;
if( id >= 0 && id <= ItemComputer.HIGHEST_DAMAGE_VALUE_ID )
{
damage += ((id + 1) << 2);
}
// Build the stack
ItemStack stack = new ItemStack( this, 1, damage );
if( fuelLevel > 0 || id > ItemComputer.HIGHEST_DAMAGE_VALUE_ID )
{
NBTTagCompound nbt = new NBTTagCompound();
if( fuelLevel > 0 )
{
nbt.setInteger( "fuelLevel", fuelLevel );
}
if( id > ItemComputer.HIGHEST_DAMAGE_VALUE_ID )
{
nbt.setInteger( "computerID", id );
}
stack.setTagCompound( nbt );
}
if( label != null )
{
stack.setStackDisplayName( label );
}
// Return the stack
return stack;
}
// IComputerItem implementation
@Override

View File

@ -29,7 +29,6 @@ public class ItemTurtleNormal extends ItemTurtleBase
setCreativeTab( ComputerCraft.mainCreativeTab );
}
@Override
public ItemStack create( int id, String label, int colour, ITurtleUpgrade leftUpgrade, ITurtleUpgrade rightUpgrade, int fuelLevel, ResourceLocation overlay )
{
// Build the stack

View File

@ -41,17 +41,9 @@ public class TurtleItemFactory
switch( family )
{
case Normal:
{
ItemTurtleBase legacy = ComputerCraft.Items.turtle;
ItemTurtleBase normal = ComputerCraft.Items.turtleExpanded;
ItemStack legacyStack = legacy.create( id, label, colour, leftUpgrade, rightUpgrade, fuelLevel, overlay );
return legacyStack != null ? legacyStack : normal.create( id, label, colour, leftUpgrade, rightUpgrade, fuelLevel, overlay );
}
return ComputerCraft.Items.turtleExpanded.create( id, label, colour, leftUpgrade, rightUpgrade, fuelLevel, overlay );
case Advanced:
{
ItemTurtleBase advanced = ComputerCraft.Items.turtleAdvanced;
return advanced.create( id, label, colour, leftUpgrade, rightUpgrade, fuelLevel, overlay );
}
return ComputerCraft.Items.turtleAdvanced.create( id, label, colour, leftUpgrade, rightUpgrade, fuelLevel, overlay );
default:
return ItemStack.EMPTY;
}

View File

@ -11,11 +11,11 @@ import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.item.crafting.ShapedRecipes;
import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraft.util.JsonUtils;
import net.minecraft.util.NonNullList;
import net.minecraft.world.World;
import net.minecraftforge.common.crafting.CraftingHelper;
import net.minecraftforge.common.crafting.IRecipeFactory;
import net.minecraftforge.common.crafting.JsonContext;
@ -60,7 +60,7 @@ public class ImpostorShapelessRecipe extends ShapelessRecipes
{
String group = JsonUtils.getString( json, "group", "" );
NonNullList<Ingredient> ings = RecipeUtil.getIngredients( context, json );
ItemStack itemstack = ShapedRecipes.deserializeItem( JsonUtils.getJsonObject( json, "result" ), true );
ItemStack itemstack = CraftingHelper.getItemStack( JsonUtils.getJsonObject( json, "result" ), context );
return new ImpostorShapelessRecipe( group, itemstack, ings );
}
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_pocket_upgrade_computercraft_advanved_modem" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:pocket_computer", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_pocket_upgrade_computercraft_advanved_modem" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_pocket_upgrade_computercraft_speaker" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:pocket_computer", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_pocket_upgrade_computercraft_speaker" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_pocket_upgrade_computercraft_wireless_modem" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:pocket_computer", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_pocket_upgrade_computercraft_wireless_modem" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_turtle_upgrade_computercraft_advanced_modem_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle_advanced", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_turtle_upgrade_computercraft_advanced_modem_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_turtle_upgrade_computercraft_speaker_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle_advanced", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_turtle_upgrade_computercraft_speaker_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_turtle_upgrade_computercraft_wireless_modem_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle_advanced", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_turtle_upgrade_computercraft_wireless_modem_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_turtle_upgrade_minecraft_crafting_table_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle_advanced", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_turtle_upgrade_minecraft_crafting_table_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_turtle_upgrade_minecraft_diamond_axe_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle_advanced", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_turtle_upgrade_minecraft_diamond_axe_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_turtle_upgrade_minecraft_diamond_hoe_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle_advanced", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_turtle_upgrade_minecraft_diamond_hoe_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_turtle_upgrade_minecraft_diamond_pickaxe_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle_advanced", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_turtle_upgrade_minecraft_diamond_pickaxe_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_turtle_upgrade_minecraft_diamond_shovel_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle_advanced", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_turtle_upgrade_minecraft_diamond_shovel_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:advanced_turtle_upgrade_minecraft_diamond_sword_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle_advanced", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:advanced_turtle_upgrade_minecraft_diamond_sword_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_10" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_10" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_11" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_11" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_12" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_12" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_13" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_13" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_14" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_14" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_15" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_15" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_convert_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_convert_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_convert_10" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_convert_10" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_convert_11" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_convert_11" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_convert_12" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_convert_12" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_convert_13" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_convert_13" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_convert_14" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_convert_14" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:disk_imposter_convert_15" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:disk_imposter_convert_15" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,116 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"computercraft:generated/disk/disk_1",
"computercraft:generated/disk/disk_2",
"computercraft:generated/disk/disk_3",
"computercraft:generated/disk/disk_4",
"computercraft:generated/disk/disk_5",
"computercraft:generated/disk/disk_6",
"computercraft:generated/disk/disk_7",
"computercraft:generated/disk/disk_8",
"computercraft:generated/disk/disk_9",
"computercraft:generated/disk/disk_10",
"computercraft:generated/disk/disk_11",
"computercraft:generated/disk/disk_12",
"computercraft:generated/disk/disk_13",
"computercraft:generated/disk/disk_14",
"computercraft:generated/disk/disk_15",
"computercraft:generated/disk/disk_16"
]
},
"criteria": {
"has_printer": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:peripheral", "data": 0 } ]
}
},
"has_recipe_1": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_1" }
},
"has_recipe_2": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_2" }
},
"has_recipe_3": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_3" }
},
"has_recipe_4": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_4" }
},
"has_recipe_5": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_5" }
},
"has_recipe_6": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_6" }
},
"has_recipe_7": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_7" }
},
"has_recipe_8": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_8" }
},
"has_recipe_9": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_9" }
},
"has_recipe_10": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_10" }
},
"has_recipe_11": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_11" }
},
"has_recipe_12": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_12" }
},
"has_recipe_13": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_13" }
},
"has_recipe_14": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_14" }
},
"has_recipe_15": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_15" }
},
"has_recipe_16": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/disk/disk_16" }
}
},
"requirements": [
[
"has_printer",
"has_recipe_1",
"has_recipe_2",
"has_recipe_3",
"has_recipe_4",
"has_recipe_5",
"has_recipe_6",
"has_recipe_7",
"has_recipe_8",
"has_recipe_9",
"has_recipe_10",
"has_recipe_11",
"has_recipe_12",
"has_recipe_13",
"has_recipe_14",
"has_recipe_15",
"has_recipe_16"
]
]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/pocket_advanced/computercraft_advanced_modem" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:pocket_computer", "data": 1 },
{ "item": "computercraft:advanced_modem" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/pocket_advanced/computercraft_advanced_modem" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/pocket_advanced/computercraft_speaker" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:pocket_computer", "data": 1 },
{ "item": "computercraft:peripheral", "data": 5 }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/pocket_advanced/computercraft_speaker" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/pocket_advanced/computercraft_wireless_modem" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:pocket_computer", "data": 1 },
{ "item": "computercraft:peripheral", "data": 1 }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/pocket_advanced/computercraft_wireless_modem" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/pocket_normal/computercraft_advanced_modem" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:pocket_computer", "data": 0 },
{ "item": "computercraft:advanced_modem" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/pocket_normal/computercraft_advanced_modem" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/pocket_normal/computercraft_speaker" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:pocket_computer", "data": 0 },
{ "item": "computercraft:peripheral", "data": 5 }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/pocket_normal/computercraft_speaker" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/pocket_normal/computercraft_wireless_modem" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:pocket_computer", "data": 0 },
{ "item": "computercraft:peripheral", "data": 1 }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/pocket_normal/computercraft_wireless_modem" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_advanced/computercraft_advanced_modem" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_advanced", "data": 0 },
{ "item": "computercraft:advanced_modem" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_advanced/computercraft_advanced_modem" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_advanced/computercraft_speaker" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_advanced", "data": 0 },
{ "item": "computercraft:peripheral", "data": 5 }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_advanced/computercraft_speaker" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_advanced/computercraft_wireless_modem" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_advanced", "data": 0 },
{ "item": "computercraft:peripheral", "data": 1 }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_advanced/computercraft_wireless_modem" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_advanced/minecraft_crafting_table" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_advanced", "data": 0 },
{ "item": "minecraft:crafting_table" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_advanced/minecraft_crafting_table" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_advanced/minecraft_diamond_axe" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_advanced", "data": 0 },
{ "item": "minecraft:diamond_axe" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_advanced/minecraft_diamond_axe" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_advanced/minecraft_diamond_hoe" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_advanced", "data": 0 },
{ "item": "minecraft:diamond_hoe" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_advanced/minecraft_diamond_hoe" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_advanced/minecraft_diamond_pickaxe" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_advanced", "data": 0 },
{ "item": "minecraft:diamond_pickaxe" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_advanced/minecraft_diamond_pickaxe" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_advanced/minecraft_diamond_shovel" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_advanced", "data": 0 },
{ "item": "minecraft:diamond_shovel" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_advanced/minecraft_diamond_shovel" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_advanced/minecraft_diamond_sword" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_advanced", "data": 0 },
{ "item": "minecraft:diamond_sword" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_advanced/minecraft_diamond_sword" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_normal/computercraft_advanced_modem" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_expanded", "data": 0 },
{ "item": "computercraft:advanced_modem" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_normal/computercraft_advanced_modem" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_normal/computercraft_speaker" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_expanded", "data": 0 },
{ "item": "computercraft:peripheral", "data": 5 }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_normal/computercraft_speaker" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_normal/computercraft_wireless_modem" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_expanded", "data": 0 },
{ "item": "computercraft:peripheral", "data": 1 }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_normal/computercraft_wireless_modem" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_normal/minecraft_crafting_table" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_expanded", "data": 0 },
{ "item": "minecraft:crafting_table" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_normal/minecraft_crafting_table" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_normal/minecraft_diamond_axe" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_expanded", "data": 0 },
{ "item": "minecraft:diamond_axe" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_normal/minecraft_diamond_axe" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_normal/minecraft_diamond_hoe" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_expanded", "data": 0 },
{ "item": "minecraft:diamond_hoe" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_normal/minecraft_diamond_hoe" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_normal/minecraft_diamond_pickaxe" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_expanded", "data": 0 },
{ "item": "minecraft:diamond_pickaxe" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_normal/minecraft_diamond_pickaxe" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_normal/minecraft_diamond_shovel" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_expanded", "data": 0 },
{ "item": "minecraft:diamond_shovel" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_normal/minecraft_diamond_shovel" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -0,0 +1,22 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:generated/turtle_normal/minecraft_diamond_sword" ]
},
"criteria": {
"has_items": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "item": "computercraft:turtle_expanded", "data": 0 },
{ "item": "minecraft:diamond_sword" }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:generated/turtle_normal/minecraft_diamond_sword" }
}
},
"requirements": [ [ "has_items", "has_the_recipe" ] ]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_pocket_upgrade_computercraft_advanved_modem" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:pocket_computer", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_pocket_upgrade_computercraft_advanved_modem" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_pocket_upgrade_computercraft_speaker" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:pocket_computer", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_pocket_upgrade_computercraft_speaker" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_pocket_upgrade_computercraft_wireless_modem" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:pocket_computer", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_pocket_upgrade_computercraft_wireless_modem" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_turtle_upgrade_computercraft_advanced_modem_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_turtle_upgrade_computercraft_advanced_modem_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_turtle_upgrade_computercraft_speaker_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_turtle_upgrade_computercraft_speaker_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_turtle_upgrade_computercraft_wireless_modem_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_turtle_upgrade_computercraft_wireless_modem_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_turtle_upgrade_minecraft_crafting_table_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_turtle_upgrade_minecraft_crafting_table_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_turtle_upgrade_minecraft_diamond_axe_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_turtle_upgrade_minecraft_diamond_axe_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_turtle_upgrade_minecraft_diamond_hoe_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_turtle_upgrade_minecraft_diamond_hoe_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_turtle_upgrade_minecraft_diamond_pickaxe_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_turtle_upgrade_minecraft_diamond_pickaxe_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_turtle_upgrade_minecraft_diamond_shovel_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_turtle_upgrade_minecraft_diamond_shovel_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,24 +0,0 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [ "computercraft:normal_turtle_upgrade_minecraft_diamond_sword_1" ]
},
"criteria": {
"has_normal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "computercraft:turtle", "data": 0 } ]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": { "recipe": "computercraft:normal_turtle_upgrade_minecraft_diamond_sword_1" }
}
},
"requirements": [
[
"has_normal",
"has_the_recipe"
]
]
}

View File

@ -1,8 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" }
],
"result": { "item": "computercraft:disk", "data": 0 }
}

View File

@ -9,5 +9,5 @@
"#": { "type": "forge:ore_dict", "ore": "ingotGold" },
"E": { "item": "minecraft:ender_eye" }
},
"result": { "item": "computercraft:advanced_modem", "data": 0 }
"result": { "item": "computercraft:advanced_modem" }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 0 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 1118481 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 9 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 15905484 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 10 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 8375321 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 11 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 14605932 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 12 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 10072818 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 13 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 15040472 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 14 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 15905331 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 15 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 15790320 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 1 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 13388876 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 2 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 5744206 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 3 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 8349260 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 4 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 3368652 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 5 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 11691749 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 6 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 5020082 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 7 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 10066329 } }
}

View File

@ -0,0 +1,10 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "type": "forge:ore_dict", "ore": "dustRedstone" },
{ "type": "forge:ore_dict", "ore": "paper" },
{ "item": "minecraft:dye", "data": 8 }
],
"result": { "item": "computercraft:disk_expanded", "data": 0, "nbt": { "color": 5000268 } }
}

View File

@ -0,0 +1,13 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_advanced",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:advanced_modem" },
"T": { "item": "computercraft:pocket_computer", "data": 1 }
},
"result": { "item": "computercraft:pocket_computer", "data": 1, "nbt": { "upgrade": "computercraft:advanced_modem" } }
}

View File

@ -0,0 +1,13 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_advanced",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:peripheral", "data": 5 },
"T": { "item": "computercraft:pocket_computer", "data": 1 }
},
"result": { "item": "computercraft:pocket_computer", "data": 1, "nbt": { "upgrade": "computercraft:speaker" } }
}

View File

@ -0,0 +1,13 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_advanced",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:peripheral", "data": 1 },
"T": { "item": "computercraft:pocket_computer", "data": 1 }
},
"result": { "item": "computercraft:pocket_computer", "data": 1, "nbt": { "upgrade": "computercraft:wireless_modem" } }
}

View File

@ -0,0 +1,13 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_normal",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:advanced_modem" },
"T": { "item": "computercraft:pocket_computer", "data": 0 }
},
"result": { "item": "computercraft:pocket_computer", "data": 0, "nbt": { "upgrade": "computercraft:advanced_modem" } }
}

View File

@ -0,0 +1,13 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_normal",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:peripheral", "data": 5 },
"T": { "item": "computercraft:pocket_computer", "data": 0 }
},
"result": { "item": "computercraft:pocket_computer", "data": 0, "nbt": { "upgrade": "computercraft:speaker" } }
}

View File

@ -0,0 +1,13 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_normal",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:peripheral", "data": 1 },
"T": { "item": "computercraft:pocket_computer", "data": 0 }
},
"result": { "item": "computercraft:pocket_computer", "data": 0, "nbt": { "upgrade": "computercraft:wireless_modem" } }
}

View File

@ -0,0 +1,12 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"T#"
],
"key": {
"#": { "item": "computercraft:advanced_modem" },
"T": { "item": "computercraft:turtle_advanced", "data": 0 }
},
"result": { "item": "computercraft:turtle_advanced", "data": 0, "nbt": { "rightUpgrade": "computercraft:advanced_modem" } }
}

View File

@ -0,0 +1,12 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"T#"
],
"key": {
"#": { "item": "computercraft:peripheral", "data": 5 },
"T": { "item": "computercraft:turtle_advanced", "data": 0 }
},
"result": { "item": "computercraft:turtle_advanced", "data": 0, "nbt": { "rightUpgrade": "computercraft:speaker" } }
}

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