Skip to content

Commit dfddcdc

Browse files
RushmeadCojomax99Matyrobbrt
authored
River Race v1 (#210)
* Add initial working bits for microgames and trivia blocks * In'n'out of microgames like a flash * Save and restore player inventory when going from minigame to microgame and back * Add victory points behavior and state, send trivia questions to victory points system, and add team victory points scoring * Selecting trivia answers * Let cojo's bits still work * Add a configurable game queue for microgames and go from microgame to microgame before going back to the main game * Reward victory points for winning microgames * Reset victory points if we try to play a game with victory points twice in the same lobby * Make it more generic so we can store multiple things per-team in the river race game, and make multigamephase a bit more generic for storing game states in general. p hacky thooo * Remove unused game phase type to fix builds * Add river race translations file * Add a trader to each zone * Add a client state to disable the recipe book * Crafting bee is in a working state * Add hints * Track wins correctly * Add client state to invert controls and swap movement See #200 * Connect four * Track draw * More work on crafting bee and connect four * Add trivia chest, make gates work * Rerun datagen * Switch microgame queue to an action * Update build.gradle to not include testing in normal run * Add a loot item condition to conditionally do loot tables based on minigame * basic boss bar / progression, ide run names, use spawn from datapack --------- Co-authored-by: Cory Scheviak <[email protected]> Co-authored-by: Matyrobbrt <[email protected]>
1 parent c850b76 commit dfddcdc

File tree

108 files changed

+3974
-25
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+3974
-25
lines changed

build.gradle

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ plugins {
22
id 'eclipse'
33
id 'idea'
44
id 'java-library'
5-
id 'net.neoforged.moddev' version '1.0.0'
5+
id 'net.neoforged.moddev' version '2.0.36-beta'
66
}
77

88
group = 'com.lovetropics.minigames'
@@ -45,41 +45,51 @@ neoForge {
4545

4646
addModdingDependenciesTo sourceSets.test
4747

48+
mods {
49+
"${project.mod_id}" {
50+
sourceSet sourceSets.main
51+
}
52+
"${project.mod_id}_test" {
53+
sourceSet sourceSets.main
54+
sourceSet sourceSets.test
55+
}
56+
}
57+
4858
runs {
4959
client {
5060
client()
61+
loadedMods = [mods."${mod_id}"]
5162

5263
programArguments.addAll '--username', 'Dev' + new Random().nextInt(999)
5364
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
5465
}
5566

5667
server {
5768
server()
69+
loadedMods = [mods."${mod_id}"]
5870

5971
programArgument '--nogui'
6072
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
6173
}
6274

6375
gameTestServer {
6476
type = "gameTestServer"
77+
sourceSet = sourceSets.test
78+
loadedMods = [mods."${mod_id}_test"]
79+
6580
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
6681
}
6782

6883
data {
6984
data()
85+
loadedMods = [mods."${mod_id}_test"]
7086

7187
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
7288
}
7389

7490
configureEach {
7591
logLevel = org.slf4j.event.Level.WARN
76-
}
77-
}
78-
79-
mods {
80-
"${project.mod_id}" {
81-
sourceSet sourceSets.main
82-
sourceSet sourceSets.test
92+
ideName = project.name + " - " + ideName.get()
8393
}
8494
}
8595
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ neo_version=21.0.167
66
parchment_version=2024.06.23
77
registrate_version=1.3.0+50
88
ltlib_version=[1.4.5,1.5)
9-
ltextras_version=1.3.0-release+7
9+
ltextras_version=1.3.0-release+15
1010

1111
org.gradle.jvmargs=-Xmx1G
1212
org.gradle.daemon=true
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"variants": {
3+
"": {
4+
"model": "ltminigames:block/trivia_chest"
5+
}
6+
}
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"variants": {
3+
"": {
4+
"model": "ltminigames:block/trivia_collectable"
5+
}
6+
}
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"variants": {
3+
"": {
4+
"model": "ltminigames:block/trivia_gate"
5+
}
6+
}
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"variants": {
3+
"": {
4+
"model": "ltminigames:block/trivia_reward"
5+
}
6+
}
7+
}

src/generated/resources/assets/ltminigames/lang/en_ud.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
"block.ltminigames.plastic_bottle": "ǝןʇʇoᗺ ɔıʇsɐןԀ",
1616
"block.ltminigames.plastic_rings": "sbuıᴚ ɔıʇsɐןԀ",
1717
"block.ltminigames.straw": "ʍɐɹʇS",
18+
"block.ltminigames.trivia_chest": "ʇsǝɥƆ ɐıʌıɹ⟘",
19+
"block.ltminigames.trivia_collectable": "ǝןqɐʇɔǝןןoƆ ɐıʌıɹ⟘",
20+
"block.ltminigames.trivia_gate": "ǝʇɐ⅁ ɐıʌıɹ⟘",
21+
"block.ltminigames.trivia_reward": "pɹɐʍǝᴚ ɐıʌıɹ⟘",
1822
"effect.ltminigames.coin_multiplier_power_up": "dn-ɹǝʍoԀ ɹǝıןdıʇןnW uıoƆ",
1923
"effect.ltminigames.knockback_resistance_power_up": "d∩-ɹǝʍoԀ ǝɔuɐʇsısǝᴚ ʞɔɐqʞɔouʞ",
2024
"effect.ltminigames.leaky_pockets": "sʇǝʞɔoԀ ʎʞɐǝꞀ",
@@ -66,6 +70,8 @@
6670
"ltminigames.command.started_game": "¡%s pǝʇɹɐʇs ǝʌɐɥ noʎ",
6771
"ltminigames.command.stopped_game": "¡%s pǝddoʇs ǝʌɐɥ noʎ",
6872
"ltminigames.command.team_chat_intro": "˙ǝuoʎɹǝʌǝ ɥʇıʍ ʇɐɥɔ oʇ ןɐqoןb ʇɐɥɔ/ ɹo ʇnoɥs/ ǝs∩ ˙ʇɐɥɔ ɯɐǝʇ buısn ǝɹɐ noʎ",
73+
"ltminigames.container.triviaChest": "ʇsǝɥƆ ɐıʌıɹ⟘",
74+
"ltminigames.container.triviaChestDouble": "ʇsǝɥƆ ɐıʌıɹ⟘ ǝbɹɐꞀ",
6975
"ltminigames.minigame.arcade_turtle_race": "ǝɔɐᴚ ǝןʇɹn⟘ ǝpɐɔɹⱯ",
7076
"ltminigames.minigame.biodiversity_blitz": "zʇıןᗺ ʎʇısɹǝʌıpoıᗺ",
7177
"ltminigames.minigame.biodiversity_blitz.can_only_place_plants": "¡doɥs ǝɥʇ ɯoɹɟ ʇob noʎ sʇuɐןd ǝɔɐןd ʎןuo uɐɔ noʎ",
@@ -164,7 +170,14 @@
164170
"ltminigames.minigame.build_competition": "uoıʇıʇǝdɯoƆ pןınᗺ",
165171
"ltminigames.minigame.calamity": "ʎʇıɯɐןɐƆ",
166172
"ltminigames.minigame.chaos_block_party": "ʎʇɹɐԀ ʞɔoןᗺ soɐɥƆ",
173+
"ltminigames.minigame.connect_four": "ɹnoℲ ʇɔǝuuoƆ",
174+
"ltminigames.minigame.connect_four.teams_goes_next": "ʇxǝu sǝob %s ɯɐǝ⟘",
175+
"ltminigames.minigame.connect_four.your_turn": "ʞɔoןq ɐ ǝɔɐןd oʇ uɹnʇ ɹnoʎ sı ʇI",
167176
"ltminigames.minigame.conservation_exploration": "uoıʇɐɹoןdxƎ uoıʇɐʌɹǝsuoƆ",
177+
"ltminigames.minigame.crafting_bee.dont_cheat": "¡ʇɐǝɥɔ ʇ,uoᗡ",
178+
"ltminigames.minigame.crafting_bee.hint": "sʇuǝıpǝɹbuı ɟo ɹǝqɯnu ɯopuɐɹ ɐ ɟo uoıʇısod ǝɥʇ buıʎɐןdsıp 'ʇuıɥ ɐ ʍoɥs oʇ ʞɔıןƆ",
179+
"ltminigames.minigame.crafting_bee.hints_left": "ʇɟǝן sʇuıɥ %s ǝʌɐɥ noʎ",
180+
"ltminigames.minigame.crafting_bee.team_has_completed_recipes": "sǝdıɔǝɹ %s ɟo ʇno %s pǝʇǝןdɯoɔ sɐɥ %s ɯɐǝ⟘",
168181
"ltminigames.minigame.donation.acid_rain": "uıɐᴚ pıɔⱯ",
169182
"ltminigames.minigame.donation.acid_rain.description": "¡ǝʇnuıɯ Ɩ ɹoɟ spɐǝɥ ,sɹǝʎɐןd ǝɥʇ uo uʍop pıɔɐ uıɐᴚ",
170183
"ltminigames.minigame.donation.acid_rain.toast": "¡ǝʇnuıɯ Ɩ ɹoɟ pıɔɐ buıuıɐɹ sı ʇI",
@@ -382,6 +395,8 @@
382395
"ltminigames.minigame.results": ":sʇןnsǝɹ ǝɥʇ ǝɹɐ ǝɹǝH ¡ɹǝʌo sı ǝɯɐb ǝɥ⟘",
383396
"ltminigames.minigame.reward_item": "%s x%s - ",
384397
"ltminigames.minigame.rewards_granted": "¡sǝɯɐbıuıɯ buıʎɐןd ɹoɟ spɹɐʍǝɹ ʇob noʎ",
398+
"ltminigames.minigame.river_race": "ǝɔɐᴚ ɹǝʌıᴚ",
399+
"ltminigames.minigame.river_race.shop": "doɥS",
385400
"ltminigames.minigame.signature_run": "unᴚ ǝɹnʇɐubıS",
386401
"ltminigames.minigame.spectating_notification": "˙ɯooz oʇ ןןoɹɔs puɐ %s pןoH\n˙sɹǝʎɐןd ʇɔǝןǝs oʇ sʎǝʞ ʍoɹɹɐ ǝɥʇ ǝsn ɹo ןןoɹɔS\n¡%s ɐ ǝɹɐ noʎ",
387402
"ltminigames.minigame.spectating_notification.key": "ןoɹʇuoƆ ʇɟǝꞀ",
@@ -465,6 +480,7 @@
465480
"ltminigames.minigame.survive_the_tide_intro5": "¡ǝǝs s,ʇǝꞀ\n",
466481
"ltminigames.minigame.survive_the_tide_pvp_enabled.subtitle": "˙˙˙sɹǝʎɐןd ɹǝɥʇo ɟo ǝɹɐʍǝᗺ",
467482
"ltminigames.minigame.survive_the_tide_pvp_enabled.title": "¡ᗡƎꞀᗺⱯNƎ SI ԀΛԀ",
483+
"ltminigames.minigame.team_won": "¡ǝɯɐb ǝɥʇ uoʍ %s ɯɐǝ⟘ ⭐",
468484
"ltminigames.minigame.teams.blue": "ǝnןᗺ",
469485
"ltminigames.minigame.teams.green": "uǝǝɹ⅁",
470486
"ltminigames.minigame.teams.hiders": "sɹǝpıH",

src/generated/resources/assets/ltminigames/lang/en_us.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
"block.ltminigames.plastic_bottle": "Plastic Bottle",
1616
"block.ltminigames.plastic_rings": "Plastic Rings",
1717
"block.ltminigames.straw": "Straw",
18+
"block.ltminigames.trivia_chest": "Trivia Chest",
19+
"block.ltminigames.trivia_collectable": "Trivia Collectable",
20+
"block.ltminigames.trivia_gate": "Trivia Gate",
21+
"block.ltminigames.trivia_reward": "Trivia Reward",
1822
"effect.ltminigames.coin_multiplier_power_up": "Coin Multiplier Power-up",
1923
"effect.ltminigames.knockback_resistance_power_up": "Knockback Resistance Power-Up",
2024
"effect.ltminigames.leaky_pockets": "Leaky Pockets",
@@ -66,6 +70,8 @@
6670
"ltminigames.command.started_game": "You have started %s!",
6771
"ltminigames.command.stopped_game": "You have stopped %s!",
6872
"ltminigames.command.team_chat_intro": "You are using team chat. Use /shout or /chat global to chat with everyone.",
73+
"ltminigames.container.triviaChest": "Trivia Chest",
74+
"ltminigames.container.triviaChestDouble": "Large Trivia Chest",
6975
"ltminigames.minigame.arcade_turtle_race": "Arcade Turtle Race",
7076
"ltminigames.minigame.biodiversity_blitz": "Biodiversity Blitz",
7177
"ltminigames.minigame.biodiversity_blitz.can_only_place_plants": "You can only place plants you got from the shop!",
@@ -164,7 +170,14 @@
164170
"ltminigames.minigame.build_competition": "Build Competition",
165171
"ltminigames.minigame.calamity": "Calamity",
166172
"ltminigames.minigame.chaos_block_party": "Chaos Block Party",
173+
"ltminigames.minigame.connect_four": "Connect Four",
174+
"ltminigames.minigame.connect_four.teams_goes_next": "Team %s goes next",
175+
"ltminigames.minigame.connect_four.your_turn": "It is your turn to place a block",
167176
"ltminigames.minigame.conservation_exploration": "Conservation Exploration",
177+
"ltminigames.minigame.crafting_bee.dont_cheat": "Don't cheat!",
178+
"ltminigames.minigame.crafting_bee.hint": "Click to show a hint, displaying the position of a random number of ingredients",
179+
"ltminigames.minigame.crafting_bee.hints_left": "You have %s hints left",
180+
"ltminigames.minigame.crafting_bee.team_has_completed_recipes": "Team %s has completed %s out of %s recipes",
168181
"ltminigames.minigame.donation.acid_rain": "Acid Rain",
169182
"ltminigames.minigame.donation.acid_rain.description": "Rain acid down on the players' heads for 1 minute!",
170183
"ltminigames.minigame.donation.acid_rain.toast": "It is raining acid for 1 minute!",
@@ -382,6 +395,8 @@
382395
"ltminigames.minigame.results": "The game is over! Here are the results:",
383396
"ltminigames.minigame.reward_item": " - %sx %s",
384397
"ltminigames.minigame.rewards_granted": "You got rewards for playing minigames!",
398+
"ltminigames.minigame.river_race": "River Race",
399+
"ltminigames.minigame.river_race.shop": "Shop",
385400
"ltminigames.minigame.signature_run": "Signature Run",
386401
"ltminigames.minigame.spectating_notification": "You are a %s!\nScroll or use the arrow keys to select players.\nHold %s and scroll to zoom.",
387402
"ltminigames.minigame.spectating_notification.key": "Left Control",
@@ -465,6 +480,7 @@
465480
"ltminigames.minigame.survive_the_tide_intro5": "\nLet's see!",
466481
"ltminigames.minigame.survive_the_tide_pvp_enabled.subtitle": "Beware of other players...",
467482
"ltminigames.minigame.survive_the_tide_pvp_enabled.title": "PVP IS ENABLED!",
483+
"ltminigames.minigame.team_won": "⭐ Team %s won the game!",
468484
"ltminigames.minigame.teams.blue": "Blue",
469485
"ltminigames.minigame.teams.green": "Green",
470486
"ltminigames.minigame.teams.hiders": "Hiders",
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"textures": {
3+
"particle": "ltminigames:block/trivia_reward"
4+
}
5+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:block/cube_all",
3+
"textures": {
4+
"all": "ltminigames:block/trivia_collectable"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:block/cube_all",
3+
"textures": {
4+
"all": "ltminigames:block/trivia_gate"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:block/cube_all",
3+
"textures": {
4+
"all": "ltminigames:block/trivia_reward"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/chest",
3+
"textures": {
4+
"particle": "ltminigames:block/trivia_reward"
5+
}
6+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"parent": "ltminigames:block/trivia_collectable"
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"parent": "ltminigames:block/trivia_gate"
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"parent": "ltminigames:block/trivia_reward"
3+
}

src/generated/resources/testing/data/lttest/games/action_trigger_test/events.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
}
2020
}
2121
],
22+
"is_multi_game": false,
2223
"map": {
2324
"type": "ltminigames:inline",
2425
"dimension": "minecraft:overworld"

src/generated/resources/testing/data/lttest/games/action_trigger_test/start.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"volume": 0.5
2121
}
2222
],
23+
"is_multi_game": false,
2324
"map": {
2425
"type": "ltminigames:inline",
2526
"dimension": "minecraft:overworld"

src/generated/resources/testing/data/lttest/games/action_trigger_test/stop.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
}
1717
}
1818
],
19+
"is_multi_game": false,
1920
"map": {
2021
"type": "ltminigames:inline",
2122
"dimension": "minecraft:overworld"

src/generated/resources/testing/data/lttest/games/tweak_tests/cancel_damage.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"type": "ltminigames:cancel_player_damage"
66
}
77
],
8+
"is_multi_game": false,
89
"map": {
910
"type": "ltminigames:inline",
1011
"dimension": "minecraft:overworld"

src/generated/resources/testing/data/lttest/games/tweak_tests/disable_hunger.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"type": "ltminigames:disable_hunger"
66
}
77
],
8+
"is_multi_game": false,
89
"map": {
910
"type": "ltminigames:inline",
1011
"dimension": "minecraft:overworld"

src/generated/resources/testing/data/lttest/games/tweak_tests/max_health.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
}
1313
}
1414
],
15+
"is_multi_game": false,
1516
"map": {
1617
"type": "ltminigames:inline",
1718
"dimension": "minecraft:overworld"

src/generated/resources/testing/data/lttest/games/tweak_tests/scale_damage.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
}
1313
}
1414
],
15+
"is_multi_game": false,
1516
"map": {
1617
"type": "ltminigames:inline",
1718
"dimension": "minecraft:overworld"

0 commit comments

Comments
 (0)