From 688a07b314bb5db36b1da916ac947e2c7af4accc Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Fri, 7 Feb 2025 11:11:12 +0100 Subject: [PATCH] Red light green light - Fixed trains not properly pathfinding to stations with an opposing signal just behind the destination - Chain Drives can now be crafted from zinc nuggets - Fixed address suggestions not reacting to scroll wheel in some HL screens - Fixed stations voiding schedules when disassembling the train - Fixed lighting on signal block indicators --- .../2d64935085b86659cb7857bad9701dbf9bab6e4c | 4 +-- .../82992cbf8f2794d83ac94034835eac0acd7915b9 | 4 ++- .../encased_chain_drive_from_zinc.json | 35 +++++++++++++++++++ .../encased_chain_drive_from_zinc.json | 21 +++++++++++ .../create/tags/blocks/wrench_pickup.json | 1 + .../factoryBoard/FactoryPanelScreen.java | 3 ++ .../logistics/filter/PackageFilterScreen.java | 7 ++++ .../logistics/packager/PackagerBlock.java | 2 ++ .../RedstoneRequesterScreen.java | 3 ++ .../content/trains/entity/Navigation.java | 2 +- .../content/trains/signal/SignalRenderer.java | 2 ++ .../trains/station/StationBlockEntity.java | 6 ++-- .../trains/station/StationEditPacket.java | 10 +++--- .../data/recipe/StandardRecipeGen.java | 6 ++++ 14 files changed, 94 insertions(+), 12 deletions(-) create mode 100644 src/generated/resources/data/create/advancements/recipes/misc/crafting/kinetics/encased_chain_drive_from_zinc.json create mode 100644 src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive_from_zinc.json diff --git a/src/generated/resources/.cache/2d64935085b86659cb7857bad9701dbf9bab6e4c b/src/generated/resources/.cache/2d64935085b86659cb7857bad9701dbf9bab6e4c index 2b95a7969c..bb863db1b8 100644 --- a/src/generated/resources/.cache/2d64935085b86659cb7857bad9701dbf9bab6e4c +++ b/src/generated/resources/.cache/2d64935085b86659cb7857bad9701dbf9bab6e4c @@ -1,4 +1,4 @@ -// 1.20.1 2025-02-05T10:52:51.2144787 Registrate Provider for create [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.20.1 2025-02-07T11:08:37.2051351 Registrate Provider for create [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 60bbdf92d2ac9824ea6144955c74043a6005f79d assets/create/blockstates/acacia_window.json 6a67703c2697d81b7dc83e9d72a66f9c9ff08383 assets/create/blockstates/acacia_window_pane.json c3ae87b62e81d8e9476eccd793bb1548d74c66a1 assets/create/blockstates/adjustable_chain_gearshift.json @@ -4710,7 +4710,7 @@ f02fc9781e8f0ae33ed3b98cf4f46ba6927c7ff8 data/create/tags/blocks/sugar_cane_vari 1b6977d9a399cf6ee042e3f8f5e64e4d3cda5489 data/create/tags/blocks/tree_attachments.json da739ad2160e7df4e0e5cc89587670ce5e9450c3 data/create/tags/blocks/valve_handles.json 72143286fb5cb372a0696550e2eac76ca50e6fbc data/create/tags/blocks/windmill_sails.json -30a54ad8eb06f2335705f5f01d12085ab4841dff data/create/tags/blocks/wrench_pickup.json +a109dab3eeeae64b2eb909ae1b5027716c5dd271 data/create/tags/blocks/wrench_pickup.json 76c0522664726c09461ad4565b6fba80b4f816b2 data/create/tags/entity_types/blaze_burner_capturable.json 35133e95f1c8fdd7a1c21afcc231fc0bffefb9a8 data/create/tags/entity_types/ignore_seat.json 894e1e4fd1e32712abdda18ec64ab13750d3c039 data/create/tags/fluids/bottomless/allow.json diff --git a/src/generated/resources/.cache/82992cbf8f2794d83ac94034835eac0acd7915b9 b/src/generated/resources/.cache/82992cbf8f2794d83ac94034835eac0acd7915b9 index a966ecd3bf..5f2baf8e49 100644 --- a/src/generated/resources/.cache/82992cbf8f2794d83ac94034835eac0acd7915b9 +++ b/src/generated/resources/.cache/82992cbf8f2794d83ac94034835eac0acd7915b9 @@ -1,4 +1,4 @@ -// 1.20.1 2025-02-02T11:59:39.5980858 Create's Standard Recipes +// 1.20.1 2025-02-07T11:08:37.2861078 Create's Standard Recipes a8cc4af26f6c7c45a9eef12e92af1452fe042454 data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank.json 2c2639c7b307ee7c7a4e97e5efebf496788998ad data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank_from_netherite.json 81dcf0cb1aa99e39bc7d1a386e07cad4cee7d8b9 data/create/advancements/recipes/combat/crafting/appliances/netherite_diving_boots.json @@ -88,6 +88,7 @@ a85aecdec18802b97c23cf21f57e59bf71bfe690 data/create/advancements/recipes/misc/c 5eddf6af005751b5628d8bc032d064861c7070e0 data/create/advancements/recipes/misc/crafting/kinetics/elevator_pulley.json df55f1a1e16f8a1771b617acfeb22cb5991dbab0 data/create/advancements/recipes/misc/crafting/kinetics/empty_blaze_burner.json b0ec44a665cfcc180f5f6a534ef963f431f252d1 data/create/advancements/recipes/misc/crafting/kinetics/encased_chain_drive.json +dc29c1449cecf840e3c2db0f56884950cad7543c data/create/advancements/recipes/misc/crafting/kinetics/encased_chain_drive_from_zinc.json 82d47f9b54917def4ed1a73b4d90d98071d30341 data/create/advancements/recipes/misc/crafting/kinetics/encased_fan.json aae73187c99468804f57403864846116745d04a0 data/create/advancements/recipes/misc/crafting/kinetics/filter.json 8b85fc7d791aafac0b330d2a7820c71f80257cce data/create/advancements/recipes/misc/crafting/kinetics/fluid_pipe.json @@ -366,6 +367,7 @@ d26d0a2f3836bdc92f9c43913acac2a93d713976 data/create/recipes/crafting/kinetics/d 03bf164f5332018731ac6b216b4f50baed3211bd data/create/recipes/crafting/kinetics/elevator_pulley.json 59278e0e0e75eb1c0f926bc90e19edfda5993261 data/create/recipes/crafting/kinetics/empty_blaze_burner.json ca3e3063cdf135426e28d3474b5289ba1c5d9a1d data/create/recipes/crafting/kinetics/encased_chain_drive.json +1b470cc502f95473da205218bcf7ea1a2354ded2 data/create/recipes/crafting/kinetics/encased_chain_drive_from_zinc.json 7bb683f2398124b62595d6aa0afbdcde80acc028 data/create/recipes/crafting/kinetics/encased_fan.json 6c3a8f04e52a82c675c76963701244c78553cd32 data/create/recipes/crafting/kinetics/filter.json 871fae440820ae1145a86fe2d14a191b81bcd85f data/create/recipes/crafting/kinetics/fluid_pipe.json diff --git a/src/generated/resources/data/create/advancements/recipes/misc/crafting/kinetics/encased_chain_drive_from_zinc.json b/src/generated/resources/data/create/advancements/recipes/misc/crafting/kinetics/encased_chain_drive_from_zinc.json new file mode 100644 index 0000000000..0fecd4f33d --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/misc/crafting/kinetics/encased_chain_drive_from_zinc.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "create:andesite_casing" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "create:crafting/kinetics/encased_chain_drive_from_zinc" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "create:crafting/kinetics/encased_chain_drive_from_zinc" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive_from_zinc.json b/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive_from_zinc.json new file mode 100644 index 0000000000..500568d052 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive_from_zinc.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "create:andesite_casing" + }, + { + "tag": "forge:nuggets/zinc" + }, + { + "tag": "forge:nuggets/zinc" + }, + { + "tag": "forge:nuggets/zinc" + } + ], + "result": { + "item": "create:encased_chain_drive" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/blocks/wrench_pickup.json b/src/generated/resources/data/create/tags/blocks/wrench_pickup.json index ec5718f41d..7ca0a5284e 100644 --- a/src/generated/resources/data/create/tags/blocks/wrench_pickup.json +++ b/src/generated/resources/data/create/tags/blocks/wrench_pickup.json @@ -9,6 +9,7 @@ "minecraft:redstone_torch", "minecraft:repeater", "minecraft:lever", + "minecraft:redstone_lamp", "minecraft:comparator", "minecraft:observer", "minecraft:redstone_wall_torch", diff --git a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelScreen.java b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelScreen.java index f693742cfa..a3caad6976 100644 --- a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelScreen.java @@ -591,6 +591,9 @@ public class FactoryPanelScreen extends AbstractSimiScreen { public boolean mouseScrolled(double mouseX, double mouseY, double pDelta) { int x = guiLeft; int y = guiTop; + + if (addressBox.mouseScrolled(mouseX, mouseY, pDelta)) + return true; if (craftingActive) return super.mouseScrolled(mouseX, mouseY, pDelta); diff --git a/src/main/java/com/simibubi/create/content/logistics/filter/PackageFilterScreen.java b/src/main/java/com/simibubi/create/content/logistics/filter/PackageFilterScreen.java index be84cdc62c..f03e8503b6 100644 --- a/src/main/java/com/simibubi/create/content/logistics/filter/PackageFilterScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/filter/PackageFilterScreen.java @@ -77,6 +77,13 @@ public class PackageFilterScreen extends AbstractFilterScreen public boolean mouseClicked(double pMouseX, double pMouseY, int pButton) { return super.mouseClicked(pMouseX, pMouseY, pButton); } + + @Override + public boolean mouseScrolled(double mouseX, double mouseY, double delta) { + if (addressBox.mouseScrolled(mouseX, mouseY, delta)) + return true; + return super.mouseScrolled(mouseX, mouseY, delta); + } @Override public boolean keyPressed(int pKeyCode, int pScanCode, int pModifiers) { diff --git a/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlock.java b/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlock.java index a410e2b533..1879ed74ea 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlock.java @@ -95,6 +95,8 @@ public class PackagerBlock extends WrenchableDirectionalBlock implements IBE { if (be.heldBox.isEmpty()) { diff --git a/src/main/java/com/simibubi/create/content/logistics/redstoneRequester/RedstoneRequesterScreen.java b/src/main/java/com/simibubi/create/content/logistics/redstoneRequester/RedstoneRequesterScreen.java index ee3461c601..1fb143ca79 100644 --- a/src/main/java/com/simibubi/create/content/logistics/redstoneRequester/RedstoneRequesterScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/redstoneRequester/RedstoneRequesterScreen.java @@ -178,6 +178,9 @@ public class RedstoneRequesterScreen extends AbstractSimiContainerScreen { float renderTime = AnimationTickHolder.getRenderTime(be.getLevel()); if (signalState.isRedLight(renderTime)) CachedBuffers.partial(AllPartialModels.SIGNAL_ON, blockState) + .light(LightTexture.FULL_BLOCK) .renderInto(ms, buffer.getBuffer(RenderType.solid())); else CachedBuffers.partial(AllPartialModels.SIGNAL_OFF, blockState) diff --git a/src/main/java/com/simibubi/create/content/trains/station/StationBlockEntity.java b/src/main/java/com/simibubi/create/content/trains/station/StationBlockEntity.java index 7bcf81695b..4c2bb4bd04 100644 --- a/src/main/java/com/simibubi/create/content/trains/station/StationBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/trains/station/StationBlockEntity.java @@ -425,7 +425,7 @@ public class StationBlockEntity extends SmartBlockEntity implements ITransformab if (!train.disassemble(getAssemblyDirection(), trackPosition.above())) return false; - dropSchedule(sender); + dropSchedule(sender, train); return true; } @@ -456,12 +456,10 @@ public class StationBlockEntity extends SmartBlockEntity implements ITransformab return true; } - public void dropSchedule(@Nullable ServerPlayer sender) { + public void dropSchedule(@Nullable ServerPlayer sender, @Nullable Train train) { GlobalStation station = getStation(); if (station == null) return; - - Train train = station.getPresentTrain(); if (train == null) return; diff --git a/src/main/java/com/simibubi/create/content/trains/station/StationEditPacket.java b/src/main/java/com/simibubi/create/content/trains/station/StationEditPacket.java index ca13624f99..abdb56db7f 100644 --- a/src/main/java/com/simibubi/create/content/trains/station/StationEditPacket.java +++ b/src/main/java/com/simibubi/create/content/trains/station/StationEditPacket.java @@ -92,9 +92,12 @@ public class StationEditPacket extends BlockEntityConfigurationPacket b.requires(I.andesiteCasing()) + .requires(I.zincNugget()) + .requires(I.zincNugget()) + .requires(I.zincNugget())), FLYWHEEL = create(AllBlocks.FLYWHEEL).unlockedByTag(I::brass) .viaShaped(b -> b.define('C', I.brass())