Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
d617f73
parent 2b4c9bd0a0dc3deb888ed7f37882006501c0f86b
SpecialBuilder32 Nov 15, 2022
41abc22
Replace machine block Armor Stands with Display Entities
SpecialBuilder32 Mar 6, 2024
e0e8f6a
Item display offsets
SpecialBuilder32 Mar 6, 2024
abd686c
Adjust liquid display teleports
SpecialBuilder32 Mar 7, 2024
c6e79d2
Check in API outline plans and first steps
SpecialBuilder32 Mar 25, 2024
df8225f
liquid init API plans
SpecialBuilder32 Mar 25, 2024
9c444af
Potential post-definition method setup?
SpecialBuilder32 Mar 25, 2024
25fd855
item_fill decorator setup
SpecialBuilder32 Mar 25, 2024
50fe505
Blind attempt at auto-gen item drain
SpecialBuilder32 Mar 25, 2024
a26932b
Start of bolt integration
SpecialBuilder32 Mar 25, 2024
f0657a9
Override bolt formatting back to dense
SpecialBuilder32 Jul 7, 2024
b556c7c
Framework for componentized items
SpecialBuilder32 Jul 7, 2024
a10a69e
Retire storage api for new `if items` design
SpecialBuilder32 Jul 8, 2024
27b4070
Incorporate max allowable input stack size
SpecialBuilder32 Mar 26, 2024
59d24b3
Reusable standard units
SpecialBuilder32 Mar 26, 2024
26f778e
Corrected standard-unit paths
SpecialBuilder32 Jul 10, 2024
4b2c8f7
Test new `if items` design api
SpecialBuilder32 Jul 11, 2024
59f9440
Update bolt wrappers to `if items` api
SpecialBuilder32 Jul 11, 2024
bb28fe3
Restore decorator-based command insertion for item definitions
SpecialBuilder32 Jul 12, 2024
129a6a6
Custom function naming providers - Makes potions cleaner
SpecialBuilder32 Jul 16, 2024
c3b4ff2
Test progress in game
SpecialBuilder32 Jul 17, 2024
6c4e042
Update bolt liquid_init to use new item_displays
SpecialBuilder32 Jul 19, 2024
9b280a0
Transfer standard_liquid item interactions to bolt
SpecialBuilder32 Jul 19, 2024
023c168
Cleanup item_drain naming logic
SpecialBuilder32 Jul 19, 2024
72ded30
Switch to item_displays for visible liquid
SpecialBuilder32 Jul 22, 2024
25d3984
Switch to new "item_name" name format for ink bottles
SpecialBuilder32 Jul 22, 2024
587393e
Support yield for mcfunction decoration
SpecialBuilder32 Jul 23, 2024
387d55a
Unused yield syntax support for item_drain
SpecialBuilder32 Jul 23, 2024
5cb74c3
Cleanup development notes
SpecialBuilder32 Jul 23, 2024
2c0a937
Apply bolt approach to standard_liquids for real
SpecialBuilder32 Jul 25, 2024
beda188
Increase experience-tank capacity to 50 levels
SpecialBuilder32 Jul 26, 2024
9f69685
Math-based full level deposits when sneaking
SpecialBuilder32 Aug 4, 2024
da3b874
Accelerating level deposit
SpecialBuilder32 Aug 4, 2024
a9a8764
Accelerating math-based level withdraw when sneaking
SpecialBuilder32 Aug 4, 2024
a268bf2
Honey block cauldron casting uses display entities
SpecialBuilder32 Aug 4, 2024
c76ebc3
Fancier en-masse xp withdraw effects
SpecialBuilder32 Aug 6, 2024
9718b5a
Move mending tanks smart-logic bypass to new if-items api
SpecialBuilder32 Aug 6, 2024
67b9e93
Begin support for util_below wrappers
SpecialBuilder32 Aug 8, 2024
3d4463e
Start of potion_liquids bolt migration
SpecialBuilder32 Aug 8, 2024
a3d8d8f
Vanilla potion effect & color data
SpecialBuilder32 Aug 11, 2024
cb2c3a7
Load in potion definitions to main.bolt
SpecialBuilder32 Aug 11, 2024
13182d6
Correct beet function attribute to real 1.21 syntax
SpecialBuilder32 Aug 15, 2024
0de84bc
[incomplete] start to generated potion-liquids content
SpecialBuilder32 Aug 15, 2024
f2cfec3
Fix conflicting glass_bottle standard unit function names
SpecialBuilder32 Aug 15, 2024
804e4d5
Slight refactor to mcfunction generator storage for dynamic class cre…
SpecialBuilder32 Aug 16, 2024
dee8a6a
Skin assignment for strong potions uses base potions
SpecialBuilder32 Aug 19, 2024
a4057ad
[broken] progress toward fixed bolt util below
SpecialBuilder32 Aug 22, 2024
24abcb6
[failed] attempt at defer post-gen
SpecialBuilder32 Aug 22, 2024
af714cf
[working] using defer to selectively emit cleanup commands
SpecialBuilder32 Aug 28, 2024
e500fed
Use defer for util_below setup also
SpecialBuilder32 Aug 28, 2024
ae0d8fd
Properly bind csv row data to util_below generation
SpecialBuilder32 Aug 28, 2024
930d163
Long potions cannot be filled back into a bottle
SpecialBuilder32 Aug 30, 2024
d782a3f
Add multiple-effect potions (turtle master)
SpecialBuilder32 Aug 30, 2024
7af5a11
Potion tank naming
SpecialBuilder32 Aug 30, 2024
c8dea32
Boltify concrete mixers and update to new api
SpecialBuilder32 Sep 4, 2024
8001377
LIAB to new bolt bindings
SpecialBuilder32 Sep 5, 2024
07b4feb
Washing tanks to new LT api
SpecialBuilder32 Sep 5, 2024
83c5a32
Potion liquids creates missing skins based upon potion effect colors
SpecialBuilder32 Sep 6, 2024
aa6997c
Automated mineskin creation of new potion skins (weaving, oozing ect)
SpecialBuilder32 Sep 6, 2024
9d75637
Add tanks for thick, mundane and awkward potion types
SpecialBuilder32 Sep 6, 2024
0df5b11
Add Floating potion
SpecialBuilder32 Sep 6, 2024
6da7435
Cleanup old potion liquids files
SpecialBuilder32 Sep 6, 2024
1a2bcf3
Modernize witch potion randomization method
SpecialBuilder32 Sep 6, 2024
e134a2c
Kyrius's new liquid skin textures
SpecialBuilder32 Sep 6, 2024
656c5a2
Translations for new potion tank types
SpecialBuilder32 Sep 6, 2024
f76b0d2
Fix '0' duration instant potions
SpecialBuilder32 Sep 6, 2024
44759c4
Translation tag for lightning tanks
SpecialBuilder32 Sep 6, 2024
652c769
Cleanup and bug fixes
SpecialBuilder32 Sep 8, 2024
a39fa2f
Create bolt-docs.md
SpecialBuilder32 Sep 24, 2024
20a07c1
Add ominous bottles to standard liquids
SpecialBuilder32 Sep 30, 2024
669b9c5
complete ominous bottle tanks
SpecialBuilder32 Oct 8, 2024
50d500b
Add honey casting packtest
SpecialBuilder32 Oct 24, 2024
3f916fb
Use function tag for mud
SpecialBuilder32 Oct 24, 2024
b9d3e62
Resolve some PR comments
SpecialBuilder32 Oct 24, 2024
dc8e2b7
Cleanup rebase errors
SpecialBuilder32 Jul 30, 2025
f007931
Cleanup rebase errors 2
SpecialBuilder32 Aug 17, 2025
ed08975
Retrieve lists of unstackable items from mcmeta
SpecialBuilder32 Aug 17, 2025
8d0c04d
Update modeldata_registry from master
SpecialBuilder32 Aug 17, 2025
52791aa
Cleanup rebase errors 3
SpecialBuilder32 Aug 18, 2025
62254cd
Replace machine block Armor Stands with Display Entities
SpecialBuilder32 Mar 6, 2024
7b64a4e
Unencapsulate json text
SpecialBuilder32 Aug 18, 2025
0ffd8fc
Migrate CustomModelData format
SpecialBuilder32 Aug 18, 2025
2246549
standard liquids packtest tests
SpecialBuilder32 Aug 24, 2025
07594f4
Update relocators code with item displays
SpecialBuilder32 Aug 25, 2025
4717845
Upgrade paths for new entity types
SpecialBuilder32 Aug 26, 2025
a93d124
Washing Tanks and Potion Liquids new items support
SpecialBuilder32 Aug 26, 2025
d8f64b1
New water and Ominous bottle liquid textures
SpecialBuilder32 Aug 26, 2025
593d151
Checkout proper modeldata_registry
SpecialBuilder32 Aug 26, 2025
fa45440
Add overlay for washing tanks harness
SpecialBuilder32 Aug 26, 2025
efec57f
Add bundles and candles to washing tanks
SpecialBuilder32 Oct 17, 2025
cfdd1f2
Update liquid minecarts to use display entities
SpecialBuilder32 Oct 17, 2025
56cfb8d
Liquid minecarts cleanup
SpecialBuilder32 Oct 17, 2025
ded931b
Fix harness overlay load issues
SpecialBuilder32 Oct 17, 2025
3bb738e
Address lingering Misode comments
SpecialBuilder32 Oct 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
419 changes: 263 additions & 156 deletions gm4/skin_cache.json

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions gm4_cement_mixers/beet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ version: 1.5.X
data_pack:
load: .

require:
- bolt

pipeline:
- gm4.plugins.extend.module

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,22 +1,40 @@
# run from item_fill
# @s = liquid tank at @s

execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:black_concrete_powder"}} run function gm4_cement_mixers:item_fill/black_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:blue_concrete_powder"}} run function gm4_cement_mixers:item_fill/blue_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:brown_concrete_powder"}} run function gm4_cement_mixers:item_fill/brown_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:cyan_concrete_powder"}} run function gm4_cement_mixers:item_fill/cyan_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:gray_concrete_powder"}} run function gm4_cement_mixers:item_fill/gray_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:green_concrete_powder"}} run function gm4_cement_mixers:item_fill/green_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:light_blue_concrete_powder"}} run function gm4_cement_mixers:item_fill/light_blue_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:light_gray_concrete_powder"}} run function gm4_cement_mixers:item_fill/light_gray_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:lime_concrete_powder"}} run function gm4_cement_mixers:item_fill/lime_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:magenta_concrete_powder"}} run function gm4_cement_mixers:item_fill/magenta_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:orange_concrete_powder"}} run function gm4_cement_mixers:item_fill/orange_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:pink_concrete_powder"}} run function gm4_cement_mixers:item_fill/pink_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:purple_concrete_powder"}} run function gm4_cement_mixers:item_fill/purple_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:red_concrete_powder"}} run function gm4_cement_mixers:item_fill/red_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:white_concrete_powder"}} run function gm4_cement_mixers:item_fill/white_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:yellow_concrete_powder"}} run function gm4_cement_mixers:item_fill/yellow_concrete
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:dirt"}} run function gm4_cement_mixers:item_fill/mud
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:coarse_dirt"}} run function gm4_cement_mixers:item_fill/mud
execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:rooted_dirt"}} run function gm4_cement_mixers:item_fill/mud
concretes_colors = (
"black",
"blue",
"brown",
"cyan",
"gray",
"green",
"light_blue",
"light_gray",
"lime",
"magenta",
"orange",
"pink",
"purple",
"red",
"white",
"yellow"
)
for color in concretes_colors:
execute if items block ~ ~ ~ container.0 f"minecraft:{color}_concrete_powder" run function f"gm4_cement_mixers:item_fill/{color}_concrete":
scoreboard players set $item_value gm4_lt_value -1
item replace entity 00344d47-0004-0004-0004-000f04ce104d weapon.mainhand with f"minecraft:{color}_concrete"
function gm4_liquid_tanks:smart_item_fill
tag @s add gm4_lt_fill

item_tag gm4_cement_mixers:dirt {
"values": [
"minecraft:dirt",
"minecraft:coarse_dirt",
"minecraft:rooted_dirt"
]
}
execute if items block ~ ~ ~ container.0 #gm4_cement_mixers:dirt run function gm4_cement_mixers:item_fill/mud:
scoreboard players set $item_value gm4_lt_value -1
item replace entity 00344d47-0004-0004-0004-000f04ce104d weapon.mainhand with minecraft:mud
function gm4_liquid_tanks:smart_item_fill
tag @s add gm4_lt_fill
2 changes: 1 addition & 1 deletion gm4_lightning_in_a_bottle/assets/translations.csv
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ advancement.gm4.lightning_in_a_bottle.lightning_drink.description,Drink a Bottle
advancement.gm4.lightning_in_a_bottle.lightning_drink.title,Shocking!
advancement.gm4.lightning_in_a_bottle.lightning_shulker.description,Strike a Purpur Block with lightning to create a Shulker
advancement.gm4.lightning_in_a_bottle.lightning_shulker.title,It's Alive!
container.gm4.liquid_tank.lightning,Lightning Tank
container.gm4.liquid_tank.liab_lightning,Lightning Tank
effect.gm4.lightning_in_a_bottle.lightning,Lightning
item.gm4.bottle.effect.lightning,Bottle of Lightning
item.gm4.lingering_bottle.effect.lightning,Lingering Bottle of Lightning
Expand Down
7 changes: 7 additions & 0 deletions gm4_lightning_in_a_bottle/beet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,19 @@ data_pack:
resource_pack:
load: .

require:
- bolt

pipeline:
- gm4_liquid_tanks.bolt_liquid_wrappers
- gm4.plugins.extend.module
- gm4.plugins.include.lib_brewing
- gm4.plugins.include.lib_potion_tracking

meta:
bolt:
entrypoint:
gm4_lightning_in_a_bottle:liquid_tanks/liquid_features
gm4:
versioning:
required:
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very interesting, I'm considering doing something similar with my interface for like kit pvp server kits.

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from gm4_liquid_tanks:liquid_wrappers import liquid

@liquid
class BottledLightning:
id = 'liab_lightning'
name = "Lightning"
capacity = 300
skin = 'lightning_liquid'

liquid.init()

@liquid.item_fill("glass_bottle", "potion[custom_data~{gm4_lightning_in_a_bottle:1b}]", 1)
def fill_bottle():
loot replace entity 344d47-4-4-4-f04ce104d weapon.mainhand loot gm4_lightning_in_a_bottle:items/bottle_of_lightning

@liquid.util_below
def lightning_strike():
execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0]
unless entity @s[gamemode=spectator]
unless entity @s[predicate=gm4_lightning_in_a_bottle:on_fire]
run function gm4_lightning_in_a_bottle:liquid_tanks/util/lightning:
execute at @s run summon lightning_bolt ~ ~ ~
scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1
playsound entity.firework_rocket.twinkle block @a[distance=..8] ~ ~ ~ 2 1.5
advancement grant @s only gm4:lightning_in_a_bottle_drink

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

4 changes: 2 additions & 2 deletions gm4_liquid_minecarts/beet.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
id: gm4_liquid_minecarts
name: Liquid Minecarts
version: 1.7.X
version: 1.8.X

data_pack:
load: .
Expand All @@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
gm4_liquid_tanks: 2.7.0
gm4_liquid_tanks: 2.8.0
lib_machines: 1.4.0
schedule_loops: [main]
model_data:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
#run from try_to_load

data modify storage gm4_liquid_minecarts:compare liquid set from entity @e[type=marker,limit=1,sort=nearest,distance=..1,tag=gm4_liquid_tank] data.gm4_liquid_tanks.liquid_tag
execute store success score @s gm4_lm_data run data modify storage gm4_liquid_minecarts:compare liquid set from entity @s Passengers[0].equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
execute store success score @s gm4_lm_data run data modify storage gm4_liquid_minecarts:compare liquid set from entity @s Passengers[0].item.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag

execute if score @s gm4_lm_data matches 0 run function gm4_liquid_minecarts:load_liquid
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
#run from try_to_unload

data modify storage gm4_liquid_minecarts:compare liquid set from entity @e[type=marker,limit=1,sort=nearest,distance=..0.1,tag=gm4_liquid_tank] data.gm4_liquid_tanks.liquid_tag
execute store success score @s gm4_lm_data run data modify storage gm4_liquid_minecarts:compare liquid set from entity @s Passengers[0].equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
execute store success score @s gm4_lm_data run data modify storage gm4_liquid_minecarts:compare liquid set from entity @s Passengers[0].item.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag

execute if score @s gm4_lm_data matches 0 run function gm4_liquid_minecarts:unload_liquid
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#@s = gm4_liquid_minecart_stand copying tank data to it's armor items, at location of tank
#@s = gm4_liquid_minecart_display copying tank data to it's item, at location of tank
#run from init_liquid

data modify entity @s equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag set from entity @e[type=marker,limit=1,tag=gm4_liquid_tank,sort=nearest] data.gm4_liquid_tanks.liquid_tag
data modify entity @s equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.tank.texture set from entity @e[type=armor_stand,tag=gm4_liquid_tank_display,limit=1,sort=nearest] equipment.head
data modify entity @s equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.tank.CustomName set from block ~ ~ ~ CustomName
data modify entity @s item.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag set from entity @e[type=marker,limit=1,tag=gm4_liquid_tank,sort=nearest,distance=..2] data.gm4_liquid_tanks.liquid_tag
data modify entity @s item.components."minecraft:custom_data".gm4_liquid_minecarts.tank.texture set from entity @e[type=item_display,tag=gm4_liquid_tank_liquid_display,limit=1,sort=nearest,distance=..2] item
data modify entity @s item.components."minecraft:custom_data".gm4_liquid_minecarts.tank.CustomName set from block ~ ~ ~ CustomName
Loading
Loading