From a647f11a6f7f66d334024d92e2cffc5be461f3d4 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:43:13 +0100 Subject: [PATCH] What does the frog say - Sound additions and changes for frogports, stock tickers and table cloths - Fixed trade overlay sprite boundaries --- .../2d64935085b86659cb7857bad9701dbf9bab6e4c | 6 +- .../c24b4d2b8d15abff51c78bd94f4403d9eae6c139 | 4 +- .../resources/assets/create/lang/en_ud.json | 12 ++- .../resources/assets/create/lang/en_us.json | 12 ++- .../resources/assets/create/sounds.json | 90 +++++++++++++++++ .../com/simibubi/create/AllSoundEvents.java | 48 ++++++++- .../pulley/AbstractPulleyVisual.java | 1 - .../blueprint/BlueprintOverlayRenderer.java | 2 +- .../packagePort/PackagePortBlockEntity.java | 16 ++- .../frogport/FrogportBlockEntity.java | 32 ++++-- .../packagePort/frogport/FrogportSounds.java | 46 +++++++++ .../logistics/packager/PackagerBlock.java | 3 + .../packagerLink/LogisticsManager.java | 3 + .../PackageOrderRequestPacket.java | 4 + .../stockTicker/StockKeeperRequestScreen.java | 5 +- .../stockTicker/StockTickerBlock.java | 2 + .../StockTickerInteractionHandler.java | 2 + .../logistics/tableCloth/TableClothBlock.java | 2 - .../tableCloth/TableClothBlockEntity.java | 94 +++++++++++------- .../create/foundation/gui/AllGuiTextures.java | 2 +- .../assets/create/lang/default/interface.json | 2 +- .../assets/create/sounds/confirm_2.ogg | Bin 0 -> 5143 bytes .../assets/create/sounds/frogport_catch_1.ogg | Bin 0 -> 8916 bytes .../assets/create/sounds/frogport_catch_2.ogg | Bin 0 -> 9049 bytes .../assets/create/sounds/frogport_catch_3.ogg | Bin 0 -> 9288 bytes .../assets/create/sounds/frogport_catch_4.ogg | Bin 0 -> 9435 bytes .../assets/create/sounds/frogport_close.ogg | Bin 0 -> 5885 bytes .../assets/create/sounds/frogport_open.ogg | Bin 0 -> 7222 bytes .../create/sounds/stock_ticker_request.ogg | Bin 0 -> 14701 bytes .../create/sounds/stock_ticker_trade.ogg | Bin 0 -> 16238 bytes 30 files changed, 324 insertions(+), 64 deletions(-) create mode 100644 src/main/java/com/simibubi/create/content/logistics/packagePort/frogport/FrogportSounds.java create mode 100644 src/main/resources/assets/create/sounds/confirm_2.ogg create mode 100644 src/main/resources/assets/create/sounds/frogport_catch_1.ogg create mode 100644 src/main/resources/assets/create/sounds/frogport_catch_2.ogg create mode 100644 src/main/resources/assets/create/sounds/frogport_catch_3.ogg create mode 100644 src/main/resources/assets/create/sounds/frogport_catch_4.ogg create mode 100644 src/main/resources/assets/create/sounds/frogport_close.ogg create mode 100644 src/main/resources/assets/create/sounds/frogport_open.ogg create mode 100644 src/main/resources/assets/create/sounds/stock_ticker_request.ogg create mode 100644 src/main/resources/assets/create/sounds/stock_ticker_trade.ogg diff --git a/src/generated/resources/.cache/2d64935085b86659cb7857bad9701dbf9bab6e4c b/src/generated/resources/.cache/2d64935085b86659cb7857bad9701dbf9bab6e4c index 85dd3fdf2b..d16d55bbd7 100644 --- a/src/generated/resources/.cache/2d64935085b86659cb7857bad9701dbf9bab6e4c +++ b/src/generated/resources/.cache/2d64935085b86659cb7857bad9701dbf9bab6e4c @@ -1,4 +1,4 @@ -// 1.20.1 2024-12-28T14:25:56.9899499 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-01-05T12:20:44.8131117 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 @@ -642,8 +642,8 @@ b0d8f08968763a5f74e5cd5644377a76a9f39753 assets/create/blockstates/yellow_toolbo fe8c497aacc641c2f01cec90bba9f19e59cc2ed2 assets/create/blockstates/yellow_valve_handle.json e819e93fdcbe9fd9c050a052d2718ff3b3539365 assets/create/blockstates/zinc_block.json 64121dcb216381c83b4fe28aa361ea07c24c9ad0 assets/create/blockstates/zinc_ore.json -6a5bfb3525f178e198ef8fd4c0cb1a941c021ff5 assets/create/lang/en_ud.json -d3402f8a5a75f8c1f7ea6d2dfa56218d5f55d112 assets/create/lang/en_us.json +908484cff8ec27c3b4cf39ac683b6b7a5528e470 assets/create/lang/en_ud.json +7401dfd627e4b0177b75aff4068be5d249e326f2 assets/create/lang/en_us.json a97e1060e00ae701a02e39cd4ef8054cf345fac4 assets/create/models/block/acacia_window.json 103e032c0b1a0a6a27c67da8c91179a564bd281c assets/create/models/block/acacia_window_pane_noside.json fb00b627abda76ad4fea867ca57dbfadd24fffa3 assets/create/models/block/acacia_window_pane_noside_alt.json diff --git a/src/generated/resources/.cache/c24b4d2b8d15abff51c78bd94f4403d9eae6c139 b/src/generated/resources/.cache/c24b4d2b8d15abff51c78bd94f4403d9eae6c139 index eae1118802..6ce167281b 100644 --- a/src/generated/resources/.cache/c24b4d2b8d15abff51c78bd94f4403d9eae6c139 +++ b/src/generated/resources/.cache/c24b4d2b8d15abff51c78bd94f4403d9eae6c139 @@ -1,2 +1,2 @@ -// 1.20.1 2024-10-29T20:48:43.0728938 Create's Custom Sounds -95f92936f1028973cacb7aade6eb6acf582aaa8f assets/create/sounds.json +// 1.20.1 2025-01-05T12:20:44.8111168 Create's Custom Sounds +b55aef763ad0b3df0d27e53c2a4c656c942cfa7a assets/create/sounds.json diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index 640e0e3f1f..fad428307f 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -2699,7 +2699,7 @@ "create.station.train_not_aligned_1": "pǝubıןɐ sǝbɐıɹɹɐɔ ןןɐ ʇou", "create.stock_keeper.cash_register_full": "ɹǝʇsıbǝᴚ ɥsɐƆ uı ǝɔɐds ɥbnouǝ ʇoN :pǝןןǝɔuɐɔ ǝsɐɥɔɹnԀ", "create.stock_keeper.keeper_missing": "buıssıɯ ɹǝdǝǝʞ ʞɔoʇS", - "create.stock_keeper.limited_stock": "ǝןqɐןıɐʌɐ ʞɔoʇs pǝʇıɯıꞀ", + "create.stock_keeper.limited_stock": "pǝɥɔɐǝɹ ʇıɯıן ʞɔoʇS", "create.stock_keeper.locked": "pǝʞɔoן uǝǝq sɐɥ ssǝɔɔɐ ʇɔǝɹıp 'ʇsıן buıddoɥS ɐ buısn ʇɔɐɹǝʇuI", "create.stock_keeper.no_price_set": "ʇsɹıɟ ǝɔıɹd ɐ ʇǝs ʇsnɯ ɹǝuʍo doɥS", "create.stock_keeper.out_of_stock": "ʞɔoʇS ɟo ʇnO", @@ -2713,6 +2713,7 @@ "create.subtitle.cardboard_bonk": "ʞuoq ʇuɐuosǝᴚ", "create.subtitle.cogs": "ǝןqɯnɹ sןǝǝɥʍboƆ", "create.subtitle.confirm": "buıp ǝʌıʇɐɯɹıɟɟⱯ", + "create.subtitle.confirm_2": "buıp ǝʌıʇɐɯɹıɟɟⱯ", "create.subtitle.contraption_assemble": "sǝʌoɯ uoıʇdɐɹʇuoƆ", "create.subtitle.contraption_disassemble": "sdoʇs uoıʇdɐɹʇuoƆ", "create.subtitle.controller_click": "sʞɔıןɔ ɹǝןןoɹʇuoƆ", @@ -2727,6 +2728,13 @@ "create.subtitle.depot_plop": "spuɐן ɯǝʇI", "create.subtitle.depot_slide": "sǝpıןs ɯǝʇI", "create.subtitle.desk_bell": "sbuıp ןןǝq uoıʇdǝɔǝᴚ", + "create.subtitle.frogport_catch_1": "ǝbɐʞɔɐd sǝɥɔʇɐɔ ʇɹodboɹℲ", + "create.subtitle.frogport_catch_2": "ǝbɐʞɔɐd sǝɥɔʇɐɔ ʇɹodboɹℲ", + "create.subtitle.frogport_catch_3": "ǝbɐʞɔɐd sǝɥɔʇɐɔ ʇɹodboɹℲ", + "create.subtitle.frogport_catch_4": "ǝbɐʞɔɐd sǝɥɔʇɐɔ ʇɹodboɹℲ", + "create.subtitle.frogport_close": "sʇnɥs ʇɹodboɹℲ", + "create.subtitle.frogport_deposit": "ǝbɐʞɔɐd sǝɔɐןd ʇɹodboɹℲ", + "create.subtitle.frogport_open": "suǝdo ʇɹodboɹℲ", "create.subtitle.funnel_flap": "sdɐןɟ ןǝuunℲ", "create.subtitle.fwoomp": "dɯooʍɟ ʇuɐuosǝᴚ", "create.subtitle.haunted_bell_convert": "suǝʞɐʍɐ ןןǝᗺ pǝʇunɐH", @@ -2748,6 +2756,8 @@ "create.subtitle.slime_added": "sǝɥsınbs ǝɯıןS", "create.subtitle.spout": "sʇɹnds ʇnodS", "create.subtitle.steam": "sǝsıou ɯɐǝʇS", + "create.subtitle.stock_ticker_request": "sʇsǝnbǝɹ ɹǝʞɔıʇ ʞɔoʇS", + "create.subtitle.stock_ticker_trade": ",¡buıɥɔ-ɐʞ, sǝob ɹǝʞɔıʇ ʞɔoʇS", "create.subtitle.train": "ǝןqɯnɹ sןǝǝɥʍ ʎǝboᗺ", "create.subtitle.train3": "pǝןɟɟnɯ ǝןqɯnɹ sןǝǝɥʍ ʎǝboᗺ", "create.subtitle.whistle": "buıןʇsıɥM", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index a645aa8924..1c05daf002 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -2699,7 +2699,7 @@ "create.station.train_not_aligned_1": "not all carriages aligned", "create.stock_keeper.cash_register_full": "Purchase cancelled: Not enough space in Cash Register", "create.stock_keeper.keeper_missing": "Stock keeper missing", - "create.stock_keeper.limited_stock": "Limited stock available", + "create.stock_keeper.limited_stock": "Stock limit reached", "create.stock_keeper.locked": "Interact using a Shopping list, direct access has been locked", "create.stock_keeper.no_price_set": "Shop owner must set a price first", "create.stock_keeper.out_of_stock": "Out of Stock", @@ -2713,6 +2713,7 @@ "create.subtitle.cardboard_bonk": "Resonant bonk", "create.subtitle.cogs": "Cogwheels rumble", "create.subtitle.confirm": "Affirmative ding", + "create.subtitle.confirm_2": "Affirmative ding", "create.subtitle.contraption_assemble": "Contraption moves", "create.subtitle.contraption_disassemble": "Contraption stops", "create.subtitle.controller_click": "Controller clicks", @@ -2727,6 +2728,13 @@ "create.subtitle.depot_plop": "Item lands", "create.subtitle.depot_slide": "Item slides", "create.subtitle.desk_bell": "Reception bell dings", + "create.subtitle.frogport_catch_1": "Frogport catches package", + "create.subtitle.frogport_catch_2": "Frogport catches package", + "create.subtitle.frogport_catch_3": "Frogport catches package", + "create.subtitle.frogport_catch_4": "Frogport catches package", + "create.subtitle.frogport_close": "Frogport shuts", + "create.subtitle.frogport_deposit": "Frogport places package", + "create.subtitle.frogport_open": "Frogport opens", "create.subtitle.funnel_flap": "Funnel flaps", "create.subtitle.fwoomp": "Resonant fwoomp", "create.subtitle.haunted_bell_convert": "Haunted Bell awakens", @@ -2748,6 +2756,8 @@ "create.subtitle.slime_added": "Slime squishes", "create.subtitle.spout": "Spout spurts", "create.subtitle.steam": "Steam noises", + "create.subtitle.stock_ticker_request": "Stock ticker requests", + "create.subtitle.stock_ticker_trade": "Stock ticker goes 'ka-ching!'", "create.subtitle.train": "Bogey wheels rumble", "create.subtitle.train3": "Bogey wheels rumble muffled", "create.subtitle.whistle": "Whistling", diff --git a/src/generated/resources/assets/create/sounds.json b/src/generated/resources/assets/create/sounds.json index 2aa793f370..0da7bc9c54 100644 --- a/src/generated/resources/assets/create/sounds.json +++ b/src/generated/resources/assets/create/sounds.json @@ -59,6 +59,15 @@ ], "subtitle": "create.subtitle.confirm" }, + "confirm_2": { + "sounds": [ + { + "type": "file", + "name": "create:confirm_2" + } + ], + "subtitle": "create.subtitle.confirm_2" + }, "contraption_assemble": { "sounds": [ { @@ -226,6 +235,69 @@ ], "subtitle": "create.subtitle.desk_bell" }, + "frogport_catch_1": { + "sounds": [ + { + "type": "file", + "name": "create:frogport_catch_1" + } + ], + "subtitle": "create.subtitle.frogport_catch_1" + }, + "frogport_catch_2": { + "sounds": [ + { + "type": "file", + "name": "create:frogport_catch_2" + } + ], + "subtitle": "create.subtitle.frogport_catch_2" + }, + "frogport_catch_3": { + "sounds": [ + { + "type": "file", + "name": "create:frogport_catch_3" + } + ], + "subtitle": "create.subtitle.frogport_catch_3" + }, + "frogport_catch_4": { + "sounds": [ + { + "type": "file", + "name": "create:frogport_catch_4" + } + ], + "subtitle": "create.subtitle.frogport_catch_4" + }, + "frogport_close": { + "sounds": [ + { + "type": "file", + "name": "create:frogport_close" + } + ], + "subtitle": "create.subtitle.frogport_close" + }, + "frogport_deposit": { + "sounds": [ + { + "type": "event", + "name": "minecraft:entity.frog.tongue" + } + ], + "subtitle": "create.subtitle.frogport_deposit" + }, + "frogport_open": { + "sounds": [ + { + "type": "file", + "name": "create:frogport_open" + } + ], + "subtitle": "create.subtitle.frogport_open" + }, "funnel_flap": { "sounds": [ { @@ -488,6 +560,24 @@ ], "subtitle": "create.subtitle.steam" }, + "stock_ticker_request": { + "sounds": [ + { + "type": "file", + "name": "create:stock_ticker_request" + } + ], + "subtitle": "create.subtitle.stock_ticker_request" + }, + "stock_ticker_trade": { + "sounds": [ + { + "type": "file", + "name": "create:stock_ticker_trade" + } + ], + "subtitle": "create.subtitle.stock_ticker_trade" + }, "train": { "sounds": [ { diff --git a/src/main/java/com/simibubi/create/AllSoundEvents.java b/src/main/java/com/simibubi/create/AllSoundEvents.java index 4f38c5bb93..c6a9137eca 100644 --- a/src/main/java/com/simibubi/create/AllSoundEvents.java +++ b/src/main/java/com/simibubi/create/AllSoundEvents.java @@ -116,6 +116,10 @@ public class AllSoundEvents { .category(SoundSource.PLAYERS) .build(), + CONFIRM_2 = create("confirm_2").subtitle("Affirmative ding") + .category(SoundSource.PLAYERS) + .build(), + DENY = create("deny").subtitle("Declining boop") .playExisting(SoundEvents.NOTE_BLOCK_BASS, 1f, 0.5f) .category(SoundSource.PLAYERS) @@ -132,6 +136,35 @@ public class AllSoundEvents { CARDBOARD_SWORD = create("cardboard_bonk").subtitle("Resonant bonk") .category(SoundSource.PLAYERS) .build(), + + FROGPORT_OPEN = create("frogport_open").subtitle("Frogport opens") + .category(SoundSource.BLOCKS) + .build(), + + FROGPORT_CLOSE = create("frogport_close").subtitle("Frogport shuts") + .category(SoundSource.BLOCKS) + .build(), + + FROGPORT_CATCH_1 = create("frogport_catch_1").subtitle("Frogport catches package") + .category(SoundSource.BLOCKS) + .build(), + + FROGPORT_CATCH_2 = create("frogport_catch_2").subtitle("Frogport catches package") + .category(SoundSource.BLOCKS) + .build(), + + FROGPORT_CATCH_3 = create("frogport_catch_3").subtitle("Frogport catches package") + .category(SoundSource.BLOCKS) + .build(), + + FROGPORT_CATCH_4 = create("frogport_catch_4").subtitle("Frogport catches package") + .category(SoundSource.BLOCKS) + .build(), + + FROGPORT_DEPOSIT = create("frogport_deposit").subtitle("Frogport places package") + .playExisting(SoundEvents.FROG_TONGUE, 1f, 1f) + .category(SoundSource.BLOCKS) + .build(), POTATO_HIT = create("potato_hit").subtitle("Vegetable impacts") .playExisting(SoundEvents.ITEM_FRAME_BREAK, .75f, .75f) @@ -326,7 +359,15 @@ public class AllSoundEvents { HAUNTED_BELL_USE = create("haunted_bell_use").subtitle("Haunted Bell tolls") .category(SoundSource.BLOCKS) - .build(), + .build(), + + STOCK_TICKER_REQUEST = create("stock_ticker_request").subtitle("Stock ticker requests") + .category(SoundSource.BLOCKS) + .build(), + + STOCK_TICKER_TRADE = create("stock_ticker_trade").subtitle("Stock ticker goes 'ka-ching!'") + .category(SoundSource.BLOCKS) + .build(), CLIPBOARD_CHECKMARK = create("clipboard_check").noSubtitle() .category(SoundSource.BLOCKS) @@ -367,8 +408,9 @@ public class AllSoundEvents { } public static void playItemPickup(Player player) { - player.level().playSound(null, player.blockPosition(), SoundEvents.ITEM_PICKUP, SoundSource.PLAYERS, .2f, - 1f + Create.RANDOM.nextFloat()); + player.level() + .playSound(null, player.blockPosition(), SoundEvents.ITEM_PICKUP, SoundSource.PLAYERS, .2f, + 1f + player.level().random.nextFloat()); } // @SubscribeEvent diff --git a/src/main/java/com/simibubi/create/content/contraptions/pulley/AbstractPulleyVisual.java b/src/main/java/com/simibubi/create/content/contraptions/pulley/AbstractPulleyVisual.java index 28855da304..e5ea0c911e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/pulley/AbstractPulleyVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/pulley/AbstractPulleyVisual.java @@ -6,7 +6,6 @@ import org.joml.Quaternionf; import org.joml.Quaternionfc; import com.mojang.math.Axis; -import com.simibubi.create.AllSpriteShifts; import com.simibubi.create.content.kinetics.base.KineticBlockEntity; import com.simibubi.create.content.kinetics.base.ShaftVisual; import com.simibubi.create.content.processing.burner.ScrollInstance; diff --git a/src/main/java/com/simibubi/create/content/equipment/blueprint/BlueprintOverlayRenderer.java b/src/main/java/com/simibubi/create/content/equipment/blueprint/BlueprintOverlayRenderer.java index e291a6aa96..4f2f60f470 100644 --- a/src/main/java/com/simibubi/create/content/equipment/blueprint/BlueprintOverlayRenderer.java +++ b/src/main/java/com/simibubi/create/content/equipment/blueprint/BlueprintOverlayRenderer.java @@ -349,7 +349,7 @@ public class BlueprintOverlayRenderer { TooltipRenderUtil.renderTooltipBackground(graphics, x - 2, y + 1, w + 4, 19, 0, 0x55_000000, 0x55_000000, 0, 0); - AllGuiTextures.TRADE_OVERLAY.render(graphics, width / 2 - 49, y - 19); + AllGuiTextures.TRADE_OVERLAY.render(graphics, width / 2 - 48, y - 19); if (shopContext.purchases() > 0) { graphics.renderItem(AllItems.SHOPPING_LIST.asStack(), width / 2 + 20, y - 20); graphics.drawString(mc.font, Components.literal("x" + shopContext.purchases()), width / 2 + 20 + 16, diff --git a/src/main/java/com/simibubi/create/content/logistics/packagePort/PackagePortBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/packagePort/PackagePortBlockEntity.java index 696f79d7a7..0c33762fda 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packagePort/PackagePortBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/packagePort/PackagePortBlockEntity.java @@ -145,11 +145,17 @@ public abstract class PackagePortBlockEntity extends SmartBlockEntity implements return InteractionResult.PASS; if (player instanceof FakePlayer) return InteractionResult.PASS; - if (level.isClientSide) - return InteractionResult.SUCCESS; - + ItemStack mainHandItem = player.getMainHandItem(); - if (AllBlocks.CLIPBOARD.isIn(mainHandItem)) { + boolean clipboard = AllBlocks.CLIPBOARD.isIn(mainHandItem); + + if (level.isClientSide) { + if (!clipboard) + onOpenedManually(); + return InteractionResult.SUCCESS; + } + + if (clipboard) { addAddressToClipboard(player, mainHandItem); return InteractionResult.SUCCESS; } @@ -158,6 +164,8 @@ public abstract class PackagePortBlockEntity extends SmartBlockEntity implements return InteractionResult.SUCCESS; } + protected void onOpenedManually() {}; + private void addAddressToClipboard(Player player, ItemStack mainHandItem) { if (addressFilter == null || addressFilter.isBlank()) return; diff --git a/src/main/java/com/simibubi/create/content/logistics/packagePort/frogport/FrogportBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/packagePort/frogport/FrogportBlockEntity.java index f378330bdf..1b78e71ef0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packagePort/frogport/FrogportBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/packagePort/frogport/FrogportBlockEntity.java @@ -45,9 +45,11 @@ public class FrogportBlockEntity extends PackagePortBlockEntity implements IHave public float passiveYaw; private boolean failedLastExport; + private FrogportSounds sounds; public FrogportBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); + sounds = new FrogportSounds(); animationProgress = LerpedFloat.linear(); anticipationProgress = LerpedFloat.linear(); manualOpenAnimationProgress = LerpedFloat.linear() @@ -106,10 +108,14 @@ public class FrogportBlockEntity extends PackagePortBlockEntity implements IHave anticipationProgress.updateChaseTarget(0); manualOpenAnimationProgress.updateChaseTarget(openTracker.openCount > 0 ? 1 : 0); + boolean wasOpen = manualOpenAnimationProgress.getValue() > 0; anticipationProgress.tickChaser(); manualOpenAnimationProgress.tickChaser(); + if (level.isClientSide() && wasOpen && manualOpenAnimationProgress.getValue() == 0) + sounds.close(level, worldPosition); + if (!isAnimationInProgress()) return; @@ -135,6 +141,7 @@ public class FrogportBlockEntity extends PackagePortBlockEntity implements IHave anticipationProgress.startWithValue(0); animationProgress.startWithValue(0); if (level.isClientSide()) { +// sounds.close(level, worldPosition); animatedPackage = null; return; } @@ -161,13 +168,18 @@ public class FrogportBlockEntity extends PackagePortBlockEntity implements IHave animatedPackage = box; currentlyDepositing = deposit; - if (level != null && level.isClientSide() && !currentlyDepositing) { - Vec3 vec = target.getExactTargetLocation(this, level, worldPosition); - if (vec != null) { - for (int i = 0; i < 5; i++) { - level.addParticle(new BlockParticleOption(ParticleTypes.BLOCK, AllBlocks.ROPE.getDefaultState()), - vec.x, vec.y - level.random.nextFloat() * 0.25, vec.z, 0, 0, 0); - } + if (level != null && level.isClientSide()) { + if (currentlyDepositing) { + sounds.depositPackage(level, worldPosition); + + } else { + sounds.catchPackage(level, worldPosition); + Vec3 vec = target.getExactTargetLocation(this, level, worldPosition); + if (vec != null) + for (int i = 0; i < 5; i++) + level.addParticle( + new BlockParticleOption(ParticleTypes.BLOCK, AllBlocks.ROPE.getDefaultState()), vec.x, + vec.y - level.random.nextFloat() * 0.25, vec.z, 0, 0, 0); } } @@ -298,4 +310,10 @@ public class FrogportBlockEntity extends PackagePortBlockEntity implements IHave return true; } + @Override + protected void onOpenedManually() { + if (level.isClientSide()) + sounds.open(level, worldPosition); + } + } diff --git a/src/main/java/com/simibubi/create/content/logistics/packagePort/frogport/FrogportSounds.java b/src/main/java/com/simibubi/create/content/logistics/packagePort/frogport/FrogportSounds.java new file mode 100644 index 0000000000..2909918166 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/packagePort/frogport/FrogportSounds.java @@ -0,0 +1,46 @@ +package com.simibubi.create.content.logistics.packagePort.frogport; + +import java.util.List; + +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.AllSoundEvents.SoundEntry; + +import net.minecraft.client.Minecraft; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.Vec3; + +public class FrogportSounds { + + private static final List CATCH_SOUNDS = List.of(AllSoundEvents.FROGPORT_CATCH_1, + AllSoundEvents.FROGPORT_CATCH_2, AllSoundEvents.FROGPORT_CATCH_3, AllSoundEvents.FROGPORT_CATCH_4); + + public void open(Level level, BlockPos pos) { + AllSoundEvents.FROGPORT_OPEN.playAt(level, Vec3.atCenterOf(pos), 1, 1, false); + } + + public void close(Level level, BlockPos pos) { + if (!isPlayerNear(pos)) + return; + AllSoundEvents.FROGPORT_CLOSE.playAt(level, Vec3.atCenterOf(pos), 0.5f, 1.25f + level.random.nextFloat() * 0.25f, + true); + } + + public void catchPackage(Level level, BlockPos pos) { + if (!isPlayerNear(pos)) + return; + CATCH_SOUNDS.get(level.random.nextInt(CATCH_SOUNDS.size())) + .playAt(level, Vec3.atCenterOf(pos), 1, 1, false); + } + + public void depositPackage(Level level, BlockPos pos) { + if (!isPlayerNear(pos)) + return; + AllSoundEvents.FROGPORT_DEPOSIT.playAt(level, Vec3.atCenterOf(pos), 1, 1, false); + } + + private boolean isPlayerNear(BlockPos pos) { + return pos.closerThan(Minecraft.getInstance().player.blockPosition(), 20); + } + +} 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 31d2b31a16..a01c4492ca 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 @@ -3,6 +3,7 @@ package com.simibubi.create.content.logistics.packager; import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; +import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.equipment.wrench.IWrenchable; import com.simibubi.create.content.logistics.box.PackageItem; import com.simibubi.create.foundation.block.IBE; @@ -97,6 +98,7 @@ public class PackagerBlock extends WrenchableDirectionalBlock implements IBE requests = findPackagersForRequest(freqId, order, null, ignoredHandler, address); diff --git a/src/main/java/com/simibubi/create/content/logistics/stockTicker/PackageOrderRequestPacket.java b/src/main/java/com/simibubi/create/content/logistics/stockTicker/PackageOrderRequestPacket.java index f73e21217a..70fe0a3aa0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/stockTicker/PackageOrderRequestPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/stockTicker/PackageOrderRequestPacket.java @@ -1,5 +1,6 @@ package com.simibubi.create.content.logistics.stockTicker; +import com.simibubi.create.AllSoundEvents; import com.simibubi.create.content.logistics.packagerLink.LogisticallyLinkedBehaviour.RequestType; import com.simibubi.create.content.logistics.redstoneRequester.RedstoneRequesterBlock; import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; @@ -44,6 +45,9 @@ public class PackageOrderRequestPacket extends BlockEntityConfigurationPacket dcbe.use(player, ray)); } diff --git a/src/main/java/com/simibubi/create/content/logistics/tableCloth/TableClothBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/tableCloth/TableClothBlockEntity.java index b2622ec6b4..8aca06925c 100644 --- a/src/main/java/com/simibubi/create/content/logistics/tableCloth/TableClothBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/tableCloth/TableClothBlockEntity.java @@ -21,6 +21,7 @@ import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.utility.IntAttached; import net.createmod.catnip.utility.NBTHelper; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; @@ -103,6 +104,8 @@ public class TableClothBlockEntity extends SmartBlockEntity { public InteractionResult use(Player player, BlockHitResult ray) { if (isShop()) return useShop(player); + if (level.isClientSide()) + return InteractionResult.SUCCESS; ItemStack heldItem = player.getItemInHand(InteractionHand.MAIN_HAND); @@ -110,7 +113,8 @@ public class TableClothBlockEntity extends SmartBlockEntity { if (manuallyAddedItems.isEmpty()) return InteractionResult.SUCCESS; player.setItemInHand(InteractionHand.MAIN_HAND, manuallyAddedItems.remove(manuallyAddedItems.size() - 1)); - + level.playSound(null, worldPosition, SoundEvents.ITEM_FRAME_REMOVE_ITEM, SoundSource.BLOCKS, 0.5f, 1f); + if (manuallyAddedItems.isEmpty()) { level.setBlock(worldPosition, getBlockState().setValue(TableClothBlock.HAS_BE, false), 3); AllPackets.getChannel() @@ -124,8 +128,10 @@ public class TableClothBlockEntity extends SmartBlockEntity { if (manuallyAddedItems.size() >= 4) return InteractionResult.SUCCESS; + level.playSound(null, worldPosition, SoundEvents.ITEM_FRAME_ADD_ITEM, SoundSource.BLOCKS, 0.5f, 1f); manuallyAddedItems.add(heldItem.copyWithCount(1)); - facing = player.getDirection().getOpposite(); + facing = player.getDirection() + .getOpposite(); heldItem.shrink(1); if (heldItem.isEmpty()) player.setItemInHand(InteractionHand.MAIN_HAND, ItemStack.EMPTY); @@ -140,12 +146,10 @@ public class TableClothBlockEntity extends SmartBlockEntity { } public InteractionResult useShop(Player player) { - if (level.isClientSide()) - return InteractionResult.SUCCESS; - ItemStack itemInHand = player.getItemInHand(InteractionHand.MAIN_HAND); ItemStack prevListItem = ItemStack.EMPTY; boolean addOntoList = false; + boolean clientSide = level.isClientSide(); // Remove other lists from inventory for (int i = 0; i < 9; i++) { @@ -155,8 +159,9 @@ public class TableClothBlockEntity extends SmartBlockEntity { continue; prevListItem = item; addOntoList = true; - player.getInventory() - .setItem(i, ItemStack.EMPTY); + if (!clientSide) + player.getInventory() + .setItem(i, ItemStack.EMPTY); } // add onto existing list if in hand @@ -166,16 +171,20 @@ public class TableClothBlockEntity extends SmartBlockEntity { } if (!itemInHand.isEmpty() && !addOntoList) { - CreateLang.translate("stock_keeper.shopping_list_empty_hand") - .sendStatus(player); - AllSoundEvents.DENY.playOnServer(level, worldPosition); + if (clientSide) { + CreateLang.translate("stock_keeper.shopping_list_empty_hand") + .sendStatus(player); + AllSoundEvents.DENY.playAt(level, worldPosition, 1, 1, false); + } return InteractionResult.SUCCESS; } if (getPaymentItem().isEmpty()) { - CreateLang.translate("stock_keeper.no_price_set") - .sendStatus(player); - AllSoundEvents.DENY.playOnServer(level, worldPosition); + if (clientSide) { + CreateLang.translate("stock_keeper.no_price_set") + .sendStatus(player); + AllSoundEvents.DENY.playAt(level, worldPosition, 1, 1, false); + } return InteractionResult.SUCCESS; } @@ -187,26 +196,30 @@ public class TableClothBlockEntity extends SmartBlockEntity { int stockLevel = getStockLevelForTrade(ShoppingListItem.getList(prevListItem)); if (tickerID == null) { - CreateLang.translate("stock_keeper.keeper_missing") - .style(ChatFormatting.RED) - .sendStatus(player); - AllSoundEvents.DENY.playOnServer(level, worldPosition); + if (clientSide) { + CreateLang.translate("stock_keeper.keeper_missing") + .style(ChatFormatting.RED) + .sendStatus(player); + AllSoundEvents.DENY.playAt(level, worldPosition, 1, 1, false); + } return InteractionResult.SUCCESS; } if (stockLevel == 0) { - CreateLang.translate("stock_keeper.out_of_stock") - .style(ChatFormatting.RED) - .sendStatus(player); - AllSoundEvents.DENY.playOnServer(level, worldPosition); - - if (!prevListItem.isEmpty()) { - if (player.getItemInHand(InteractionHand.MAIN_HAND) - .isEmpty()) - player.setItemInHand(InteractionHand.MAIN_HAND, prevListItem); - else - player.getInventory() - .placeItemBackInInventory(prevListItem); + if (clientSide) { + CreateLang.translate("stock_keeper.out_of_stock") + .style(ChatFormatting.RED) + .sendStatus(player); + AllSoundEvents.DENY.playAt(level, worldPosition, 1, 1, false); + } else { + if (!prevListItem.isEmpty()) { + if (player.getItemInHand(InteractionHand.MAIN_HAND) + .isEmpty()) + player.setItemInHand(InteractionHand.MAIN_HAND, prevListItem); + else + player.getInventory() + .placeItemBackInInventory(prevListItem); + } } return InteractionResult.SUCCESS; @@ -222,13 +235,22 @@ public class TableClothBlockEntity extends SmartBlockEntity { addOntoList = false; } - if (list.getPurchases(worldPosition) == stockLevel) { - CreateLang.translate("stock_keeper.limited_stock") - .style(ChatFormatting.RED) - .sendStatus(player); - AllSoundEvents.DENY.playOnServer(level, worldPosition); + if (list.getPurchases(worldPosition) >= stockLevel) { + for (IntAttached entry : list.purchases()) + if (worldPosition.equals(entry.getValue())) + entry.setFirst(Math.min(stockLevel, entry.getFirst())); + + if (clientSide) + CreateLang.translate("stock_keeper.limited_stock") + .style(ChatFormatting.RED) + .sendStatus(player); } else { + if (clientSide) { + AllSoundEvents.CONFIRM_2.playAt(level, worldPosition, 0.5f, 1, false); + return InteractionResult.SUCCESS; + } + list.addPurchases(worldPosition, 1); if (!addOntoList) CreateLang.translate("stock_keeper.use_list_to_add_purchases") @@ -236,9 +258,11 @@ public class TableClothBlockEntity extends SmartBlockEntity { .sendStatus(player); if (!addOntoList) level.playSound(null, worldPosition, SoundEvents.BOOK_PAGE_TURN, SoundSource.BLOCKS, 1, 1.5f); - AllSoundEvents.CONFIRM.playOnServer(level, worldPosition); } + if (clientSide) + return InteractionResult.SUCCESS; + ItemStack newListItem = ShoppingListItem.saveList(AllItems.SHOPPING_LIST.asStack(), list, requestData.encodedTargetAdress); diff --git a/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java b/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java index 519b0ae96a..e07cd129e5 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java +++ b/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java @@ -238,7 +238,7 @@ public enum AllGuiTextures implements ScreenElement, TextureSheetSegment { TRAIN_PROMPT_R("widgets", 11, 209, 3, 16), TRAIN_PROMPT("widgets", 0, 230, 256, 16), - TRADE_OVERLAY("widgets", 136, 97, 98, 48), + TRADE_OVERLAY("widgets", 128, 98, 96, 46), // PlacementIndicator PLACEMENT_INDICATOR_SHEET("placement_indicator", 0, 0, 16, 256), diff --git a/src/main/resources/assets/create/lang/default/interface.json b/src/main/resources/assets/create/lang/default/interface.json index 6354afbc0a..f0e58b4f47 100644 --- a/src/main/resources/assets/create/lang/default/interface.json +++ b/src/main/resources/assets/create/lang/default/interface.json @@ -347,7 +347,7 @@ "create.stock_keeper.no_price_set": "Shop owner must set a price first", "create.stock_keeper.keeper_missing": "Stock keeper missing", "create.stock_keeper.out_of_stock": "Out of Stock", - "create.stock_keeper.limited_stock": "Limited stock available", + "create.stock_keeper.limited_stock": "Stock limit reached", "create.stock_keeper.use_list_to_add_purchases": "Use this list to add more to your purchase", "create.stock_keeper.locked": "Interact using a Shopping list, direct access has been locked", "create.stock_keeper.stock_level_too_low": "Purchase cancelled: Stock levels lower than expected", diff --git a/src/main/resources/assets/create/sounds/confirm_2.ogg b/src/main/resources/assets/create/sounds/confirm_2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d94df4235d1462ceda9867b3c02ba60320f58934 GIT binary patch literal 5143 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/sounds/frogport_catch_2.ogg b/src/main/resources/assets/create/sounds/frogport_catch_2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2f674e5050497a39dd764a04f42d264801ba2a7e GIT binary patch literal 9049 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 Clw#BX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/sounds/frogport_catch_3.ogg b/src/main/resources/assets/create/sounds/frogport_catch_3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..be2c118849b722f569ef50c183a09ea97c8d8998 GIT binary patch literal 9288 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 Ee@=#R3jhEB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/sounds/frogport_close.ogg b/src/main/resources/assets/create/sounds/frogport_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7fdfebbd5b5b828b0f755d56124fecea0e9d448a GIT binary patch literal 5885 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/sounds/frogport_open.ogg b/src/main/resources/assets/create/sounds/frogport_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ac2e1c771e5a1fcd298867ebf96e24d7837871eb GIT binary patch literal 7222 zcmai32|UzY_y3KZBrzCLjUq}N^Ssah{r^Aj`}*VQ&V(^BsZ*4{C9=C)+Twn%m zglq}vO~6ACKLnkVMDZm%8=%Of9GRFx3X$QC z&zm!F?Z#X{NXPqRV_Zx$3Xz=AW^XXujo%MAcosY=aP#a&NpWo_utUHu+NUHU;5bG{ zjFh;E0NpKdpEilYOdlTEqU;+yN^Qt6Bc=EG$tIfbi}K<%Kgc}l)!iols2^*D9

O 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 Z2;tAAr6(0WDcVt>hida0hdfoc{|}Y%jHv(s literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/sounds/stock_ticker_request.ogg b/src/main/resources/assets/create/sounds/stock_ticker_request.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f31447645ced70c0dfa74a7d0ea8f998cf9cb38b GIT binary patch literal 14701 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/sounds/stock_ticker_trade.ogg b/src/main/resources/assets/create/sounds/stock_ticker_trade.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cc73b4ffed451eedb1eca64e0b3fe871a571de64 GIT binary patch literal 16238 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 Q#r+A3ksP?t`|tMu0DwC+fB*mh literal 0 HcmV?d00001