Fixed Recipes and Advancements

This commit is contained in:
Mysticpasta1 2023-03-05 22:17:26 -06:00
parent efd632083b
commit 9dbe5b78f2
55 changed files with 116 additions and 185 deletions

View File

@ -301,9 +301,9 @@ public class WebDisplays {
@SubscribeEvent @SubscribeEvent
public void onPlayerCraft(PlayerEvent.ItemCraftedEvent ev) { public void onPlayerCraft(PlayerEvent.ItemCraftedEvent ev) {
if(doHardRecipe && ev.getCrafting().getItem() == ItemInit.itemCraftComp.get() && (CraftComponent.EXTENSION_CARD.makeItemStack().is(ev.getCrafting().getItem()))) { if(doHardRecipe && ev.getCrafting().getItem() == ItemInit.itemCraftComp.get() && (CraftComponent.EXTCARD.makeItemStack().is(ev.getCrafting().getItem()))) {
if((ev.getEntity() instanceof ServerPlayer && !hasPlayerAdvancement((ServerPlayer) ev.getEntity(), ADV_PAD_BREAK)) || PROXY.hasClientPlayerAdvancement(ADV_PAD_BREAK) != HasAdvancement.YES) { if((ev.getEntity() instanceof ServerPlayer && !hasPlayerAdvancement((ServerPlayer) ev.getEntity(), ADV_PAD_BREAK)) || PROXY.hasClientPlayerAdvancement(ADV_PAD_BREAK) != HasAdvancement.YES) {
ev.getCrafting().setDamageValue(CraftComponent.BAD_EXTENSION_CARD.ordinal()); ev.getCrafting().setDamageValue(CraftComponent.BADEXTCARD.ordinal());
if(!ev.getEntity().getLevel().isClientSide) if(!ev.getEntity().getLevel().isClientSide)
ev.getEntity().getLevel().playSound(null, ev.getEntity().getX(), ev.getEntity().getY(), ev.getEntity().getZ(), SoundEvents.ITEM_BREAK, SoundSource.MASTER, 1.0f, 1.0f); ev.getEntity().getLevel().playSound(null, ev.getEntity().getX(), ev.getEntity().getY(), ev.getEntity().getZ(), SoundEvents.ITEM_BREAK, SoundSource.MASTER, 1.0f, 1.0f);

View File

@ -228,7 +228,7 @@ public class BlockScreen extends BaseEntityBlock {
Multiblock.findOrigin(world, vec, side, null); Multiblock.findOrigin(world, vec, side, null);
TileEntityScreen tes = (TileEntityScreen) world.getBlockEntity(vec.toBlock()); TileEntityScreen tes = (TileEntityScreen) world.getBlockEntity(vec.toBlock());
if(tes != null && tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_INPUT)) { if(tes != null && tes.hasUpgrade(side, DefaultUpgrade.REDINPUT)) {
Direction facing = Direction.from2DDataValue(side.reverse().ordinal()); //Opposite face Direction facing = Direction.from2DDataValue(side.reverse().ordinal()); //Opposite face
vec.sub(pos.getX(), pos.getY(), pos.getZ()).neg(); vec.sub(pos.getX(), pos.getY(), pos.getZ()).neg();
tes.updateJSRedstone(side, new Vector2i(vec.dot(side.right), vec.dot(side.up)), world.getSignal(pos, facing)); tes.updateJSRedstone(side, new Vector2i(vec.dot(side.right), vec.dot(side.up)), world.getSignal(pos, facing));

View File

@ -610,7 +610,7 @@ public class ClientProxy extends SharedProxy implements IDisplayHandler, IJSQuer
Multiblock.findOrigin(mc.level, pos, side, null); Multiblock.findOrigin(mc.level, pos, side, null);
TileEntityScreen te = (TileEntityScreen) mc.level.getBlockEntity(pos.toBlock()); TileEntityScreen te = (TileEntityScreen) mc.level.getBlockEntity(pos.toBlock());
if(te != null && te.hasUpgrade(side, DefaultUpgrade.LASER_MOUSE)) { //hasUpgrade returns false is there's no screen on side 'side' if(te != null && te.hasUpgrade(side, DefaultUpgrade.LASERMOUSE)) { //hasUpgrade returns false is there's no screen on side 'side'
//Since rights aren't synchronized, let the server check them for us... //Since rights aren't synchronized, let the server check them for us...
TileEntityScreen.Screen scr = te.getScreen(side); TileEntityScreen.Screen scr = te.getScreen(side);

View File

@ -225,7 +225,7 @@ public final class JSQueryDispatcher {
}); });
register("GetRedstoneAt", (cb, tes, side, args) -> { register("GetRedstoneAt", (cb, tes, side, args) -> {
if(!tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_INPUT)) { if(!tes.hasUpgrade(side, DefaultUpgrade.REDINPUT)) {
cb.failure(403, "Missing upgrade"); cb.failure(403, "Missing upgrade");
return; return;
} }
@ -247,7 +247,7 @@ public final class JSQueryDispatcher {
}); });
register("GetRedstoneArray", (cb, tes, side, args) -> { register("GetRedstoneArray", (cb, tes, side, args) -> {
if(tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_INPUT)) { if(tes.hasUpgrade(side, DefaultUpgrade.REDINPUT)) {
final Direction facing = Direction.values()[side.reverse().ordinal()]; final Direction facing = Direction.values()[side.reverse().ordinal()];
final StringJoiner resp = new StringJoiner(",", "{\"levels\":[", "]}"); final StringJoiner resp = new StringJoiner(",", "{\"levels\":[", "]}");
@ -264,7 +264,7 @@ public final class JSQueryDispatcher {
}); });
register("ClearRedstone", (cb, tes, side, args) -> { register("ClearRedstone", (cb, tes, side, args) -> {
if(tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_OUTPUT)) { if(tes.hasUpgrade(side, DefaultUpgrade.REDOUTPUT)) {
if(tes.getScreen(side).owner.uuid.equals(mc.player.getGameProfile().getId())) if(tes.getScreen(side).owner.uuid.equals(mc.player.getGameProfile().getId()))
makeServerQuery(tes, side, cb, JSServerRequest.CLEAR_REDSTONE); makeServerQuery(tes, side, cb, JSServerRequest.CLEAR_REDSTONE);
else else
@ -279,7 +279,7 @@ public final class JSQueryDispatcher {
return; return;
} }
if(!tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_OUTPUT)) { if(!tes.hasUpgrade(side, DefaultUpgrade.REDOUTPUT)) {
cb.failure(403, "Missing upgrade"); cb.failure(403, "Missing upgrade");
return; return;
} }
@ -303,7 +303,7 @@ public final class JSQueryDispatcher {
}); });
register("IsEmitting", (cb, tes, side, args) -> { register("IsEmitting", (cb, tes, side, args) -> {
if(!tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_OUTPUT)) { if(!tes.hasUpgrade(side, DefaultUpgrade.REDOUTPUT)) {
cb.failure(403, "Missing upgrade"); cb.failure(403, "Missing upgrade");
return; return;
} }
@ -325,7 +325,7 @@ public final class JSQueryDispatcher {
}); });
register("GetEmissionArray", (cb, tes, side, args) -> { register("GetEmissionArray", (cb, tes, side, args) -> {
if(tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_OUTPUT)) { if(tes.hasUpgrade(side, DefaultUpgrade.REDOUTPUT)) {
final StringJoiner resp = new StringJoiner(",", "{\"emission\":[", "]}"); final StringJoiner resp = new StringJoiner(",", "{\"emission\":[", "]}");
tes.forEachScreenBlocks(side, bp -> resp.add(tes.getLevel().getBlockState(bp).getValue(BlockScreen.emitting) ? "1" : "0")); tes.forEachScreenBlocks(side, bp -> resp.add(tes.getLevel().getBlockState(bp).getValue(BlockScreen.emitting) ? "1" : "0"));
cb.success(resp.toString()); cb.success(resp.toString());

View File

@ -10,15 +10,15 @@ import net.montoyo.wd.init.ItemInit;
public enum CraftComponent { public enum CraftComponent {
STONE_KEY("stonekey", "Stone_Key"), STONEKEY("stonekey", "StoneKey"),
BLANK_UPGRADE("upgrade", "Blank_Upgrade"), UPGRADE("upgrade", "Upgrade"),
PERIPHERAL_BASE("peripheral", "Peripheral_Base"), PERIPHERAL("peripheral", "Peripheral"),
BATTERY_CELL("batcell", "Battery_Cell"), BATCELL("batcell", "BatCell"),
BATTERY_PACK("batpack", "Battery_Pack"), BATPACK("batpack", "BatPack"),
LASER_DIODE("laserdiode", "Laser_Diode"), LASERDIODE("laserdiode", "LaserDiode"),
BACKLIGHT("backlight", "Backlight"), BACKLIGHT("backlight", "Backlight"),
EXTENSION_CARD("extcard", "Blank_Upgrade"), EXTCARD("extcard", "ExtCard"),
BAD_EXTENSION_CARD("badextcard", "Bad_Extension_Card"); BADEXTCARD("badextcard", "BadExtCard");
private final String name; private final String name;
private final String wikiName; private final String wikiName;

View File

@ -11,10 +11,10 @@ import net.montoyo.wd.init.ItemInit;
public enum DefaultUpgrade { public enum DefaultUpgrade {
LASER_MOUSE("lasermouse", "Laser_Sensor"), LASERMOUSE("lasermouse", "LaserMouse"),
REDSTONE_INPUT("redinput", "Redstone_Input_Port"), REDINPUT("redinput", "RedInput"),
REDSTONE_OUTPUT("redoutput", "Redstone_Output_Port"), REDOUTPUT("redoutput", "RedOutput"),
GPS("gps", "GPS_Module"); GPS("gps", "GPS");
private final String name; private final String name;
private final String wikiName; private final String wikiName;

View File

@ -564,7 +564,7 @@ public class TileEntityScreen extends BlockEntity{
return; return;
} }
if(scr.upgrades.stream().noneMatch(DefaultUpgrade.REDSTONE_OUTPUT::matches)) { if(scr.upgrades.stream().noneMatch(DefaultUpgrade.REDOUTPUT::matches)) {
Messages.INSTANCE.send(PacketDistributor.PLAYER.with(() -> src), new CMessageJSResponse(reqId, req, 403, "Missing upgrade")); Messages.INSTANCE.send(PacketDistributor.PLAYER.with(() -> src), new CMessageJSResponse(reqId, req, 403, "Missing upgrade"));
return; return;
} }
@ -957,7 +957,7 @@ public class TileEntityScreen extends BlockEntity{
if((scr.rightsFor(ply) & ScreenRights.CLICK) == 0) if((scr.rightsFor(ply) & ScreenRights.CLICK) == 0)
return null; //Don't output an error, it can 'legally' happen return null; //Don't output an error, it can 'legally' happen
if(scr.upgrades.stream().noneMatch(DefaultUpgrade.LASER_MOUSE::matches)) { if(scr.upgrades.stream().noneMatch(DefaultUpgrade.LASERMOUSE::matches)) {
Log.error("Called laser operation on side %s, but it's missing the laser sensor upgrade", side.toString()); Log.error("Called laser operation on side %s, but it's missing the laser sensor upgrade", side.toString());
return null; return null;
} }

View File

@ -17,7 +17,7 @@ public class ItemCraftComponent extends ItemMulti implements WDItem {
.tab(WebDisplays.CREATIVE_TAB)); .tab(WebDisplays.CREATIVE_TAB));
//Hide the bad extension card from the creative tab //Hide the bad extension card from the creative tab
creativeTabItems.clear(CraftComponent.BAD_EXTENSION_CARD.ordinal()); creativeTabItems.clear(CraftComponent.BADEXTCARD.ordinal());
} }
@Override @Override

View File

@ -87,7 +87,7 @@ public class ItemMinePad2 extends Item implements WDItem {
if(thrower != null && height - ent.getBlockY() >= 20.0) { if(thrower != null && height - ent.getBlockY() >= 20.0) {
ent.getLevel().playSound(null, ent.getBlockX(), ent.getBlockY(), ent.getBlockZ(), SoundEvents.GLASS_BREAK, SoundSource.BLOCKS, 4.0f, 1.0f); ent.getLevel().playSound(null, ent.getBlockX(), ent.getBlockY(), ent.getBlockZ(), SoundEvents.GLASS_BREAK, SoundSource.BLOCKS, 4.0f, 1.0f);
ent.getLevel().addFreshEntity(new ItemEntity(ent.getLevel(), ent.getBlockX(), ent.getBlockY(), ent.getBlockZ(), CraftComponent.EXTENSION_CARD.makeItemStack())); ent.getLevel().addFreshEntity(new ItemEntity(ent.getLevel(), ent.getBlockX(), ent.getBlockY(), ent.getBlockZ(), CraftComponent.EXTCARD.makeItemStack()));
ent.setRemoved(Entity.RemovalReason.CHANGED_DIMENSION); ent.setRemoved(Entity.RemovalReason.CHANGED_DIMENSION);
Player ply = ent.getLevel().getPlayerByUUID(thrower); Player ply = ent.getLevel().getPlayerByUUID(thrower);

View File

@ -28,7 +28,7 @@ public class ItemUpgrade extends ItemMulti implements IUpgrade, WDItem {
@Override @Override
public boolean onRemove(@Nonnull TileEntityScreen tes, @Nonnull BlockSide screenSide, @Nullable Player player, @Nonnull ItemStack is) { public boolean onRemove(@Nonnull TileEntityScreen tes, @Nonnull BlockSide screenSide, @Nullable Player player, @Nonnull ItemStack is) {
if(DefaultUpgrade.LASER_MOUSE.matches(is)) if(DefaultUpgrade.LASERMOUSE.matches(is))
tes.clearLaserUser(screenSide); tes.clearLaserUser(screenSide);
return false; return false;

View File

@ -1,16 +0,0 @@
{
"display": {
"icon": { "item": "webdisplays:laserpointer" },
"title": { "translate": "advancements.webdisplays.laser.title" },
"description": { "translate": "advancements.webdisplays.laser.description" }
},
"parent": "webdisplays:webdisplays/pad_break",
"criteria": {
"has_laser": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "webdisplays:laserpointer" } ]
}
}
}
}

View File

@ -1,21 +0,0 @@
{
"display": {
"icon": { "item": "webdisplays:minepad" },
"title": { "translate": "advancements.webdisplays.minepad.title" },
"description": { "translate": "advancements.webdisplays.minepad.description" }
},
"parent": "webdisplays:webdisplays/root",
"criteria": {
"has_glass_pane": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "webdisplays:minepad", "data": 0 } ]
}
}
},
"rewards": {
"recipes": [
"webdisplays:minepad2"
]
}
}

View File

@ -1,16 +0,0 @@
{
"display": {
"icon": { "item": "webdisplays:advicon", "data": 2 },
"title": { "translate": "advancements.webdisplays.minepad2.title" },
"description": { "translate": "advancements.webdisplays.minepad2.description" }
},
"parent": "webdisplays:webdisplays/minepad",
"criteria": {
"has_minepad2": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "webdisplays:minepad", "data": 1 } ]
}
}
}
}

View File

@ -1,20 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"PC"
],
"key": {
"C": {
"item": "minecraft:dye",
"data": 6
},
"P": {
"item": "webdisplays:craftcomp",
"data": 2
}
},
"result": {
"item": "webdisplays:peripheral",
"data": 1
}
}

View File

@ -1,20 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"PG"
],
"key": {
"G": {
"item": "minecraft:dye",
"data": 8
},
"P": {
"item": "webdisplays:craftcomp",
"data": 2
}
},
"result": {
"item": "webdisplays:peripheral",
"data": 2
}
}

View File

@ -1,10 +1,11 @@
{ {
"display": { "display": {
"icon": { "item": "minecraft:skull", "data": 3, "nbt": "{SkullOwner:\"MHF_Ocelot\"}" }, "icon": { "item": "minecraft:string" },
"title": { "translate": "advancements.webdisplays.keyboardcat.title" }, "title": { "translate": "advancements.webdisplays.keyboardcat.title" },
"description": { "translate": "advancements.webdisplays.keyboardcat.description" } "description": { "translate": "advancements.webdisplays.keyboardcat.description" },
"frame": "task"
}, },
"parent": "webdisplays:webdisplays/link_peripheral", "parent": "webdisplays:link_peripheral",
"criteria": { "criteria": {
"keyboard_cat": { "keyboard_cat": {
"trigger": "webdisplays:keyboard_cat" "trigger": "webdisplays:keyboard_cat"

View File

@ -2,9 +2,10 @@
"display": { "display": {
"icon": { "item": "webdisplays:linker" }, "icon": { "item": "webdisplays:linker" },
"title": { "translate": "advancements.webdisplays.linkperipheral.title" }, "title": { "translate": "advancements.webdisplays.linkperipheral.title" },
"description": { "translate": "advancements.webdisplays.linkperipheral.description" } "description": { "translate": "advancements.webdisplays.linkperipheral.description" },
"frame": "task"
}, },
"parent": "webdisplays:webdisplays/screen", "parent": "webdisplays:screen",
"criteria": { "criteria": {
"link_peripheral": { "link_peripheral": {
"trigger": "webdisplays:link_peripheral" "trigger": "webdisplays:link_peripheral"

View File

@ -1,10 +1,11 @@
{ {
"display": { "display": {
"icon": { "item": "webdisplays:advicon", "data": 1 }, "icon": { "item": "webdisplays:minepad" },
"title": { "translate": "advancements.webdisplays.padbreak.title" }, "title": { "translate": "advancements.webdisplays.padbreak.title" },
"description": { "translate": "advancements.webdisplays.padbreak.description" } "description": { "translate": "advancements.webdisplays.padbreak.description" },
"frame": "task"
}, },
"parent": "webdisplays:webdisplays/minepad", "parent": "webdisplays:root",
"criteria": { "criteria": {
"pad_break": { "pad_break": {
"trigger": "webdisplays:pad_break" "trigger": "webdisplays:pad_break"

View File

@ -1,9 +1,16 @@
{ {
"display": { "display": {
"icon": { "item": "webdisplays:advicon", "data": 0 }, "icon": {
"title": { "translate": "advancements.webdisplays.root.title" }, "item": "minecraft:glass_pane"
"description": { "translate": "advancements.webdisplays.root.description" }, },
"title": {
"translate": "advancements.webdisplays.root.title"
},
"description": {
"translate": "advancements.webdisplays.root.description"
},
"background": "minecraft:textures/gui/advancements/backgrounds/stone.png", "background": "minecraft:textures/gui/advancements/backgrounds/stone.png",
"frame": "task",
"show_toast": false, "show_toast": false,
"announce_to_chat": false "announce_to_chat": false
}, },
@ -11,7 +18,13 @@
"has_glass_pane": { "has_glass_pane": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ { "item": "minecraft:glass_pane" } ] "items": [
{
"items": [
"minecraft:glass_pane"
]
}
]
} }
} }
}, },
@ -25,3 +38,5 @@
] ]
} }
} }

View File

@ -2,14 +2,21 @@
"display": { "display": {
"icon": { "item": "webdisplays:screen" }, "icon": { "item": "webdisplays:screen" },
"title": { "translate": "advancements.webdisplays.screen.title" }, "title": { "translate": "advancements.webdisplays.screen.title" },
"description": { "translate": "advancements.webdisplays.screen.description" } "description": { "translate": "advancements.webdisplays.screen.description" },
"frame": "task"
}, },
"parent": "webdisplays:webdisplays/root", "parent": "webdisplays:root",
"criteria": { "criteria": {
"has_screen": { "has_screen": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ { "item": "webdisplays:screen" } ] "items": [
{
"items": [
"webdisplays:screen"
]
}
]
} }
} }
}, },
@ -19,7 +26,6 @@
"webdisplays:screencfg", "webdisplays:screencfg",
"webdisplays:peripheral", "webdisplays:peripheral",
"webdisplays:rctrl", "webdisplays:rctrl",
"webdisplays:ocinterface",
"webdisplays:redctrl1", "webdisplays:redctrl1",
"webdisplays:redctrl2", "webdisplays:redctrl2",
"webdisplays:stonekey", "webdisplays:stonekey",

View File

@ -1,10 +1,11 @@
{ {
"display": { "display": {
"icon": { "item": "webdisplays:craftcomp", "data": 1 }, "icon": { "item": "webdisplays:screen" },
"title": { "translate": "advancements.webdisplays.upgrade.title" }, "title": { "translate": "advancements.webdisplays.upgrade.title" },
"description": { "translate": "advancements.webdisplays.upgrade.description" } "description": { "translate": "advancements.webdisplays.upgrade.description" },
"frame": "task"
}, },
"parent": "webdisplays:webdisplays/pad_break", "parent": "webdisplays:pad_break",
"criteria": { "criteria": {
"upgrade_screen": { "upgrade_screen": {
"trigger": "webdisplays:upgrade_screen" "trigger": "webdisplays:upgrade_screen"

View File

@ -13,7 +13,7 @@
} }
}, },
"result": { "result": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_backlight",
"data": 6, "data": 6,
"count": 1 "count": 1
} }

View File

@ -17,7 +17,7 @@
} }
}, },
"result": { "result": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_batcell",
"data": 3, "data": 3,
"count": 1 "count": 1
} }

View File

@ -3,12 +3,12 @@
"pattern": [ "BBB" ], "pattern": [ "BBB" ],
"key": { "key": {
"B": { "B": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_batcell",
"data": 3 "data": 3
} }
}, },
"result": { "result": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_batpack",
"data": 4, "data": 4,
"count": 1 "count": 1
} }

View File

@ -25,7 +25,7 @@
} }
}, },
"result": { "result": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_extcard",
"data": 7 "data": 7
} }
} }

View File

@ -7,16 +7,16 @@
], ],
"key": { "key": {
"K": { "K": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_stonekey",
"data": 0 "data": 0
}, },
"P": { "P": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_peripheral",
"data": 2 "data": 2
} }
}, },
"result": { "result": {
"item": "webdisplays:peripheral", "item": "webdisplays:keyboard",
"data": 0, "data": 0,
"count": 1 "count": 1
} }

View File

@ -20,7 +20,7 @@
} }
}, },
"result": { "result": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_laserdiode",
"data": 5, "data": 5,
"count": 2 "count": 2
} }

View File

@ -7,15 +7,15 @@
], ],
"key": { "key": {
"D": { "D": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_laserdiode",
"data": 5 "data": 5
}, },
"C": { "C": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_batcell",
"data": 3 "data": 3
}, },
"B": { "B": {
"item": "minecraft:wooden_button" "item": "minecraft:oak_button"
} }
}, },
"result": { "result": {

View File

@ -10,22 +10,22 @@
"item": "minecraft:glass_pane" "item": "minecraft:glass_pane"
}, },
"R": { "R": {
"item": "minecraft:dye", "item": "minecraft:red_dye",
"data": 1 "data": 1
}, },
"G": { "G": {
"item": "minecraft:dye", "item": "minecraft:green_dye",
"data": 2 "data": 2
}, },
"B": { "B": {
"item": "minecraft:dye", "item": "minecraft:blue_dye",
"data": 4 "data": 4
}, },
"D": { "D": {
"item": "minecraft:diamond" "item": "minecraft:diamond"
}, },
"C": { "C": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_batcell",
"data": 4 "data": 4
} }
}, },

View File

@ -7,15 +7,14 @@
], ],
"key": { "key": {
"S": { "S": {
"item": "minecraft:wooden_slab", "item": "minecraft:oak_slab"
"data": 0
}, },
"T": { "T": {
"item": "minecraft:redstone_torch" "item": "minecraft:redstone_torch"
} }
}, },
"result": { "result": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_peripheral",
"data": 2, "data": 2,
"count": 1 "count": 1
} }

View File

@ -6,15 +6,15 @@
], ],
"key": { "key": {
"P": { "P": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_peripheral",
"data": 2 "data": 2
}, },
"B": { "B": {
"item": "minecraft:wooden_button" "item": "minecraft:oak_button"
} }
}, },
"result": { "result": {
"item": "webdisplays:peripheral", "item": "webdisplays:rctrl",
"data": 3 "data": 3
} }
} }

View File

@ -10,15 +10,15 @@
"item": "minecraft:redstone" "item": "minecraft:redstone"
}, },
"P": { "P": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_peripheral",
"data": 2 "data": 2
}, },
"B": { "B": {
"item": "minecraft:wooden_button" "item": "minecraft:oak_button"
} }
}, },
"result": { "result": {
"item": "webdisplays:peripheral", "item": "webdisplays:redctrl",
"data": 7 "data": 7
} }
} }

View File

@ -9,12 +9,12 @@
"item": "minecraft:redstone" "item": "minecraft:redstone"
}, },
"P": { "P": {
"item": "webdisplays:peripheral", "item": "webdisplays:redctrl",
"data": 3 "data": 3
} }
}, },
"result": { "result": {
"item": "webdisplays:peripheral", "item": "webdisplays:redctrl",
"data": 7 "data": 7
} }
} }

View File

@ -10,19 +10,19 @@
"item": "minecraft:glass_pane" "item": "minecraft:glass_pane"
}, },
"R": { "R": {
"item": "minecraft:dye", "item": "minecraft:red_dye",
"data": 1 "data": 1
}, },
"G": { "G": {
"item": "minecraft:dye", "item": "minecraft:green_dye",
"data": 2 "data": 2
}, },
"B": { "B": {
"item": "minecraft:dye", "item": "minecraft:blue_dye",
"data": 4 "data": 4
}, },
"L": { "L": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_backlight",
"data": 6 "data": 6
} }
}, },

View File

@ -5,16 +5,16 @@
], ],
"key": { "key": {
"G": { "G": {
"item": "minecraft:dye", "item": "minecraft:green_dye",
"data": 2 "data": 2
}, },
"P": { "P": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_peripheral",
"data": 2 "data": 2
} }
}, },
"result": { "result": {
"item": "webdisplays:peripheral", "item": "webdisplays:server",
"data": 11 "data": 11
} }
} }

View File

@ -7,7 +7,7 @@
} }
}, },
"result": { "result": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_stonekey",
"data": 0, "data": 0,
"count": 9 "count": 9
} }

View File

@ -10,12 +10,12 @@
"item": "minecraft:quartz" "item": "minecraft:quartz"
}, },
"E": { "E": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_extcard",
"data": 7 "data": 7
} }
}, },
"result": { "result": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_upgrade",
"data": 1, "data": 1,
"count": 1 "count": 1
} }

View File

@ -3,7 +3,7 @@
"pattern": [ "UE" ], "pattern": [ "UE" ],
"key": { "key": {
"U": { "U": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_upgrade",
"data": 1 "data": 1
}, },
"E": { "E": {
@ -11,7 +11,7 @@
} }
}, },
"result": { "result": {
"item": "webdisplays:upgrade", "item": "webdisplays:upgrade_gps",
"data": 3, "data": 3,
"count": 1 "count": 1
} }

View File

@ -3,16 +3,16 @@
"pattern": [ "UL" ], "pattern": [ "UL" ],
"key": { "key": {
"U": { "U": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_upgrade",
"data": 1 "data": 1
}, },
"L": { "L": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_laserdiode",
"data": 5 "data": 5
} }
}, },
"result": { "result": {
"item": "webdisplays:upgrade", "item": "webdisplays:upgrade_lasermouse",
"data": 0, "data": 0,
"count": 1 "count": 1
} }

View File

@ -3,7 +3,7 @@
"pattern": [ "UR" ], "pattern": [ "UR" ],
"key": { "key": {
"U": { "U": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_upgrade",
"data": 1 "data": 1
}, },
"R": { "R": {
@ -11,7 +11,7 @@
} }
}, },
"result": { "result": {
"item": "webdisplays:upgrade", "item": "webdisplays:upgrade_redinput",
"data": 1, "data": 1,
"count": 1 "count": 1
} }

View File

@ -3,7 +3,7 @@
"pattern": [ "UR" ], "pattern": [ "UR" ],
"key": { "key": {
"U": { "U": {
"item": "webdisplays:craftcomp", "item": "webdisplays:craftcomp_upgrade",
"data": 1 "data": 1
}, },
"R": { "R": {
@ -11,7 +11,7 @@
} }
}, },
"result": { "result": {
"item": "webdisplays:upgrade", "item": "webdisplays:upgrade_redoutput",
"data": 2, "data": 2,
"count": 1 "count": 1
} }