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
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) {
ev.getCrafting().setDamageValue(CraftComponent.BAD_EXTENSION_CARD.ordinal());
ev.getCrafting().setDamageValue(CraftComponent.BADEXTCARD.ordinal());
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);

View File

@ -228,7 +228,7 @@ public class BlockScreen extends BaseEntityBlock {
Multiblock.findOrigin(world, vec, side, null);
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
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));

View File

@ -610,7 +610,7 @@ public class ClientProxy extends SharedProxy implements IDisplayHandler, IJSQuer
Multiblock.findOrigin(mc.level, pos, side, null);
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...
TileEntityScreen.Screen scr = te.getScreen(side);

View File

@ -225,7 +225,7 @@ public final class JSQueryDispatcher {
});
register("GetRedstoneAt", (cb, tes, side, args) -> {
if(!tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_INPUT)) {
if(!tes.hasUpgrade(side, DefaultUpgrade.REDINPUT)) {
cb.failure(403, "Missing upgrade");
return;
}
@ -247,7 +247,7 @@ public final class JSQueryDispatcher {
});
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 StringJoiner resp = new StringJoiner(",", "{\"levels\":[", "]}");
@ -264,7 +264,7 @@ public final class JSQueryDispatcher {
});
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()))
makeServerQuery(tes, side, cb, JSServerRequest.CLEAR_REDSTONE);
else
@ -279,7 +279,7 @@ public final class JSQueryDispatcher {
return;
}
if(!tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_OUTPUT)) {
if(!tes.hasUpgrade(side, DefaultUpgrade.REDOUTPUT)) {
cb.failure(403, "Missing upgrade");
return;
}
@ -303,7 +303,7 @@ public final class JSQueryDispatcher {
});
register("IsEmitting", (cb, tes, side, args) -> {
if(!tes.hasUpgrade(side, DefaultUpgrade.REDSTONE_OUTPUT)) {
if(!tes.hasUpgrade(side, DefaultUpgrade.REDOUTPUT)) {
cb.failure(403, "Missing upgrade");
return;
}
@ -325,7 +325,7 @@ public final class JSQueryDispatcher {
});
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\":[", "]}");
tes.forEachScreenBlocks(side, bp -> resp.add(tes.getLevel().getBlockState(bp).getValue(BlockScreen.emitting) ? "1" : "0"));
cb.success(resp.toString());

View File

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

View File

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

View File

@ -564,7 +564,7 @@ public class TileEntityScreen extends BlockEntity{
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"));
return;
}
@ -957,7 +957,7 @@ public class TileEntityScreen extends BlockEntity{
if((scr.rightsFor(ply) & ScreenRights.CLICK) == 0)
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());
return null;
}

View File

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

View File

@ -87,7 +87,7 @@ public class ItemMinePad2 extends Item implements WDItem {
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().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);
Player ply = ent.getLevel().getPlayerByUUID(thrower);

View File

@ -28,7 +28,7 @@ public class ItemUpgrade extends ItemMulti implements IUpgrade, WDItem {
@Override
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);
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": {
"icon": { "item": "minecraft:skull", "data": 3, "nbt": "{SkullOwner:\"MHF_Ocelot\"}" },
"icon": { "item": "minecraft:string" },
"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": {
"keyboard_cat": {
"trigger": "webdisplays:keyboard_cat"

View File

@ -2,9 +2,10 @@
"display": {
"icon": { "item": "webdisplays:linker" },
"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": {
"link_peripheral": {
"trigger": "webdisplays:link_peripheral"

View File

@ -1,10 +1,11 @@
{
"display": {
"icon": { "item": "webdisplays:advicon", "data": 1 },
"icon": { "item": "webdisplays:minepad" },
"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": {
"pad_break": {
"trigger": "webdisplays:pad_break"

View File

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

View File

@ -2,14 +2,21 @@
"display": {
"icon": { "item": "webdisplays:screen" },
"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": {
"has_screen": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [ { "item": "webdisplays:screen" } ]
"items": [
{
"items": [
"webdisplays:screen"
]
}
]
}
}
},
@ -19,7 +26,6 @@
"webdisplays:screencfg",
"webdisplays:peripheral",
"webdisplays:rctrl",
"webdisplays:ocinterface",
"webdisplays:redctrl1",
"webdisplays:redctrl2",
"webdisplays:stonekey",

View File

@ -1,10 +1,11 @@
{
"display": {
"icon": { "item": "webdisplays:craftcomp", "data": 1 },
"icon": { "item": "webdisplays:screen" },
"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": {
"upgrade_screen": {
"trigger": "webdisplays:upgrade_screen"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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