diff --git a/gm4/skin_cache.json b/gm4/skin_cache.json index 505748697a..5402274966 100644 --- a/gm4/skin_cache.json +++ b/gm4/skin_cache.json @@ -222,24 +222,24 @@ }, "gm4_standard_liquids:liquids/beetroot_soup": { "uuid": [ - 2130271109, - -1138636291, - -1614258018, - -889714317 + 76960881, + 2041792394, + -1393666914, + 2103407100 ], - "value": "eyJ0aW1lc3RhbXAiOjE0OTgxODE5OTY3NDIsInByb2ZpbGVJZCI6IjIyODQ0MGU4NzJjODRkYzc4MzQ4YjI3NzU4NTAzNGM4IiwicHJvZmlsZU5hbWUiOiJTcGVjaWFsQnVpbGRlcjMyIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzRkOTM0ZWRiMzRjM2IxNmRlZWNmMjRkZjhmMTc1NTQyZDAxZWMwNTJmZWZkOTEzNjI4MWJiNmE2Y2E3ZDdkIn19fQ==", - "hash": "0b525ed39dd0d1843e12571b0a61afaa8c1dd61d", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTI0MjRjYjQxNDY2ZmFlNjk5ZjgyNjk2NTJkOGQxYjBjZjgzZjBkMmFkZDBkNjUzZjA5ZTlkMzFiMmY5YTk0OCd9fX0=", + "hash": "3bbbd041e4ddc003e7f6447fad8f2a2b9391a0ef", "parent_module": "gm4_liquid_tanks" }, "gm4_standard_liquids:liquids/experience": { "uuid": [ - -1627825275, - -1138636289, - -1614258018, - -889714317 + -745806368, + -1045543603, + -1458236618, + 515537139 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDc3NzA2NjksInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzNlYTI4YzJkYzZjOWQyMjdhNWNmNDM1MTI5ZDgwNjVkMzJiYjY0NDk5N2QzNTllNzQ4YTRjYzE0NWEzNjlhIn19fQ==", - "hash": "f134750e86467a561efbf6596eac6ef6c2250e9e", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGNiMGNmY2FjMDJiM2E3ZjZkZWI4N2E4YWZjZDgxYTUyMzdlMWNlNWVlMWI5NWMzNWVhM2U3NDkxMDNiNjc0ZCd9fX0=", + "hash": "d3d8dcc50faf62ea44e33377f860f2fb923be0bb", "parent_module": "gm4_liquid_tanks" }, "gm4_standard_liquids:liquids/glow_ink": { @@ -255,13 +255,13 @@ }, "gm4_standard_liquids:liquids/honey": { "uuid": [ - -782351782, - 542655898, - -1075183804, - 1293758076 + 1093018679, + -1629534446, + -2052300824, + -1187268546 ], - "value": "eyJ0aW1lc3RhbXAiOjE1ODYwNDAzNDcxNzIsInByb2ZpbGVJZCI6IjIyODQ0MGU4NzJjODRkYzc4MzQ4YjI3NzU4NTAzNGM4IiwicHJvZmlsZU5hbWUiOiJTcGVjaWFsQnVpbGRlcjMyIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2QyZDBlZDU3ZGQwNWYxMGExNTk5ZDFkNWY2Mzg0ZGMxYzgzNWM5ZWVmYWQ5MDFjNTdkZDkxZDg1YWM5MWFjZWIifX19", - "hash": "bf4bf3d81779e1730e814155fea4ceb2e2890f4b", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjhhYzUxZTBjNWM5MWNmOGNlN2RiMjAyYmY5MWIxNmFkOTQ3NDkwODU0YWM3MjUyMjNmMGIwNDU0MGE1NWYyMCd9fX0=", + "hash": "ea675cd17ceb3e5913936bd1fb39b9a239ee7f22", "parent_module": "gm4_liquid_tanks" }, "gm4_standard_liquids:liquids/ink": { @@ -277,68 +277,68 @@ }, "gm4_standard_liquids:liquids/lava": { "uuid": [ - 2130271109, - -1138636289, - -1614258018, - -889714317 + 2084309355, + 294864792, + -1353120517, + -2139917050 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDM2NDg0MTcsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2YyNWJmOTlmYjdlMmQwZTFhZDQ1MDgyNGUyMmQzNDllNjc3Zjk2YzNkOWFmZjcyMTVlNDdiNjU3N2EzMmI4YyJ9fX0=", - "hash": "588d85e79b4830887785c6e1aa2f8973c1d6d61a", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2M5OTkzMzI2M2ZjYmNhOGJlYTI1Yjc1MjU1Y2Y4M2E3NTc4MWZiOTkxY2RlYTBmODA0M2RhZjQzMTgxODE1MSd9fX0=", + "hash": "2faed9fa93d0cfd9286096e7965571c1adf9d4d6", "parent_module": "gm4_liquid_tanks" }, "gm4_standard_liquids:liquids/milk": { "uuid": [ - 2130271365, - -1138636289, - -1614258018, - -889714317 + -1652105090, + -613725561, + -1717347128, + 1926135093 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDQxMzEyNjcsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2ExYTk2M2I1ZjYwM2IxODYyY2VhZjg1MGYxN2QzNWFhMjcxMzBiODQ2NjY0ZDJkYTlmZWRkYTMzMDQwIn19fQ==", - "hash": "eafb08939b532be53f9c352c67ad83c78eaeaac5", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDMyODNiOTRjYzhiYWM3YTVkNDQ4ZDUyMTQ0MmFkNDY1MjY1MjM1NzYzYTNmYTJhMGIyODdiMGRiOTIyOWQ4Yyd9fX0=", + "hash": "70a5421e48597699dd6284381b07e81e978ff42a", "parent_module": "gm4_liquid_tanks" }, "gm4_standard_liquids:liquids/mushroom_stew": { "uuid": [ - 2130271109, - -1138636289, - -1614258018, - -889714316 + -851826350, + -819969624, + -1341610165, + -2102026501 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDYwMDU2MjksInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2VmZTg5ZjEyZjA2N2ViMzlmYTlkZGY4N2U3ZmZiYmRlZmZjZDAyZjVjMThjYjIyNjFkMGY0NDk4YjgxYjQxNyJ9fX0=", - "hash": "141b57ceeec8fde8aed9b3768cd36fde5fc9afed", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmVlMmMwMjBiYzg2NTBhYWFlN2NkYzhjY2VmYjRhYWI3ZGRkOGNlMjhlYTlmOWJkMDQ0OGIxMWY0Y2M1OGRiZCd9fX0=", + "hash": "ab5933443964922f4cfcaf186ba2a62981a243cf", "parent_module": "gm4_liquid_tanks" }, "gm4_standard_liquids:liquids/powder_snow": { "uuid": [ - 2130271365, - -1134446289, - -1614258018, - -889714317 + 793744989, + -1949546447, + -1499784649, + 2041283293 ], - "value": "ewogICJ0aW1lc3RhbXAiIDogMTYyNzMyNzg2NzMwNSwKICAicHJvZmlsZUlkIiA6ICIyMjg0NDBlODcyYzg0ZGM3ODM0OGIyNzc1ODUwMzRjOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJTcGVjaWFsQnVpbGRlcjMyIiwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2I0YTVhMDQxZTI0YWQ5NWY5ZmFkYTVhZTZiNjc1ZjBhYmU4NWI3OGIxZDhmNGUxNTI5Mzg1NDJjZDE2ZWY5YzUiCiAgICB9CiAgfQp9", - "hash": "8b62fad2106a97540a63ef6a3a727606e2d98050", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDBiYWVkOWYwYjJhOGM3NTM0YTk0MTY1MjAzYThkZjJlY2JmY2Q2ZDNmZmM2ZjY3ZmVkZTNkYTQ2YzZlMzA2ZSd9fX0=", + "hash": "e01a0deac23275e98e459e5d8b721c4819574d88", "parent_module": "gm4_liquid_tanks" }, "gm4_standard_liquids:liquids/rabbit_stew": { "uuid": [ - 2130271365, - -1138636289, - -1614258019, - -889714317 + -898957329, + 1308640890, + -1080612430, + 1170134979 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDYwNjgzODksInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2UwNTJkZWRmN2ZmNDk1MDQ3MjNmMDRhZGViMzRmNjlkYTI4OTJhMmI3YzM3NTRmZWZhYjBkNzgxODg1NzVjIn19fQ==", - "hash": "910753ae085f1790cb1f2695d2cd6e683663bdf5", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTA1OWJlZWJmOTVlZTQzYzc1NDcyOWZlNmYzYWU5OWUxYzYwZTQ2ODJjNGUyZDZjZDJiYTQwNzBjZTlhZjBlOCd9fX0=", + "hash": "f3b45e34be5a61311f53ec938b90cb8956d522de", "parent_module": "gm4_liquid_tanks" }, "gm4_standard_liquids:liquids/water": { "uuid": [ - 2130271109, - -1138570753, - -1614258018, - -889714317 + -1941625481, + -1189919143, + -1856028413, + 292031945 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDQ4ODY3MTgsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzYzMWY5MjQwYjE2NmJhOGViMWY2YmU0MzVjZGI3NDg2YTM5YzQzYTdjMWQzZDM2ZTQ5NzgzYWU0NTI2ZDNiNDMifX19", - "hash": "1694f345f7b9d5a71e35c6eb93e7719eaa6ca0e1", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjlmNmE1YzkwYTBjNzQ5ODIzMDJhYTAzZTA1ZjY2YzU1MjU0Njg2Njc0ZWQ2YzYxM2ExNGU5YTc4YjUyODU3Mid9fX0=", + "hash": "c369923e91875ec06c1e738a4e5f493ac4a4e39f", "parent_module": "gm4_liquid_tanks" }, "gm4_liquid_tanks:liquid_tank": { @@ -497,189 +497,189 @@ }, "gm4_potion_liquids:liquids/fire_resistance": { "uuid": [ - 2130271109, - -1138636321, - -1614258018, - -889714317 + 2130832668, + -69843189, + -1628986667, + -1615730322 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDY4MTUxNTgsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2M2NjE2NmM2MzA3NTE5NTEyMzVjNDRmNjNlYWViZTgzNDYyMWU1MWNhOWI3NmEyODc2ODA4YThjMzAyMGE0In19fQ==", - "hash": "6732c502a669d62686b0431dcda4d1f9c9f50ad3", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDI5ZmE3YjFmNDZhMjgzNjgwOTlmMjA4ZmU5NGQ3NzY2NzdkZTUyZWNkMjY0YjhmOTI4MzdjODQ5ZDZmN2NjNCd9fX0=", + "hash": "2398626d300f895b4d62aabfefae73e77370be52", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/floating": { "uuid": [ - 2117688197, - -1138636289, - -1614258018, - -889714317 + 32752701, + 1442140104, + -2121835220, + 212039422 ], - "value": "eyJ0aW1lc3RhbXAiOjE0OTkwMjE1NzczMzQsInByb2ZpbGVJZCI6IjIyODQ0MGU4NzJjODRkYzc4MzQ4YjI3NzU4NTAzNGM4IiwicHJvZmlsZU5hbWUiOiJTcGVjaWFsQnVpbGRlcjMyIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS82YzNiYjZjMjM2YzdjZTZiMzA1YWQ4M2QwMzBmOGJlNmVmOGExMzFkNjVhMTBiZmIxZWQ3OTk0OGY0NWZkMCJ9fX0=", - "hash": "ada74ae3cffd6b22ee31b6408ddfa150c7d9259b", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmZiNjAxOGVjNzM4NWU4YTE5MTE3OWRjOWE1M2Y4MGY5NGQ4MjIzZWQ5YWEwNDgwMDcyNzdiNzUzMGNlZjgwZCd9fX0=", + "hash": "c54b1eb1be2154c9ae542ee87bfd1efa101457c6", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/harming": { "uuid": [ - 2130271109, - -1138638081, - -1614258018, - -889714317 + -1211340845, + -910802362, + -2144368484, + -211827793 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDcxNjQyNDAsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzI2MjkyYmYwNzk0N2IxNjQ3ZmFlNGJjYjc2NzVmOWNhZGJiZDY1MDczMjIzNDM0M2RiZGY2YzA0MTRkYiJ9fX0=", - "hash": "05c15f4de45fbb21d7955ee586aaeb12d49c85ba", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2Y4MGUyMjc1N2UxZTUzM2RkMGI3ZTRlZTU2YTE3OWJlYmJlN2RmODE4NzRkMzVmNTkyZDQ1YmM1YWZiNjRhMyd9fX0=", + "hash": "c2f87b8817311d26cbd31b1e064105ba98ccf71a", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/healing": { "uuid": [ - 2130271109, - -1138636289, - -1614258018, - -889714315 + -575407116, + -2057942971, + -1081937529, + 601872280 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDYzOTQ3MTEsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzliYTZjZjQzODg0YjJjZmMyNDU0NGNmYTVmNmZjNzViY2M3OGE2YWM1NjhmYTE5OGY2NDVkZDkxNWM4Y2FlMzcifX19", - "hash": "f220279aa6f99f65812f6a902bcba8960c5c972f", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWVkZDU2OWQ1MTM2YThlNzRjM2IyZTliYjdjZTI4NDk4OTFlNTc2ZGFkNjkyNjQwNWNhY2I4ODdhNjk5NWJmNCd9fX0=", + "hash": "73a0fdf1bfec33b5ab2fe0621ba35a08b988c749", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/invisibility": { "uuid": [ - 2130271109, - -1138636289, - -1614258029, - -889714317 + -332185350, + 1698318266, + -1646469451, + 1142033314 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDcwODQ2MTQsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2YxOWUyNGI1N2UxN2I1NGYzZmFhOTcxMGM4ZGZjNTUxMTRhNzE5YjE0YWYwOWE0ZDFjMDRiMTY2MTQ0ZWY2YiJ9fX0=", - "hash": "db79e0e780d1c4bbcba5139a277d4d48e91864f8", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjk5OTU0NTAxOTY5MDQ3ZjE4NjQ3NjFhN2Q4ZWFiNzJmMjIwM2JiYzBmZGFiY2FiNjJjOWUxZDU3M2YxN2ZlOSd9fX0=", + "hash": "684edcc54546a42d94e7775ceec3ce2ea37f6ac6", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/leaping": { "uuid": [ - 2130271109, - -1407071745, - -1614258018, - -889714317 + 822748764, + -913751735, + -2104548355, + 1076203816 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDY5NDYzMjksInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2RjMzE2NmFkZTk1NTA2Y2VmZDhjNTdiMWVlNWY4MTNiNTNhOWZjMTliYTEzNDhjYTE2NmE2YjBjZmEwMzAifX19", - "hash": "1bc7967fa145ed25195c8741146123eb13da1cf4", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjJmZTE2ZWFjMDFhNjIyZmE0YTg0ZTYwMDM5MzBiY2E1ZjBiZmZhOThhYTMxOWJmMGRlN2U4YmQ4ZjMwYjAwZid9fX0=", + "hash": "58419073ee28986d29008da1d7bd8d342c34f8e8", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/luck": { "uuid": [ - 579092712, - -1832366649, - -2142784905, - 1481188552 + 1998983973, + 799228293, + -1480289059, + -30160010 ], - "value": "eyJ0aW1lc3RhbXAiOjE1NTE4MjQwMTMxMzAsInByb2ZpbGVJZCI6IjIyODQ0MGU4NzJjODRkYzc4MzQ4YjI3NzU4NTAzNGM4IiwicHJvZmlsZU5hbWUiOiJTcGVjaWFsQnVpbGRlcjMyIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzg5NGY2ZTRkZmU4Y2E2ZjVjOTg5YjZlNjAyMWM4YTgzMjQzYjgzYTdkYzI1OWI4NmI2ZGNiZmE0OGMxOTQ3ZGEifX19", - "hash": "9ceb508d017553e5ef1fd90251c1b7dc38efd589", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTg4ODJmMmQzNzM2YmM5YWYxMTMxMDQxYTg3OTc4ZDg1NGUxNTk1MjE1ODU5YjEwM2Q3ZjY0M2U1ZTZiMTk5OCd9fX0=", + "hash": "be8cd5206b554f01bb1ddbe3a3296f1e076bf81a", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/night_vision": { "uuid": [ - 2130271117, - -1138636289, - -1614258018, - -889714317 + -204117879, + -2079899123, + -2081002561, + -548998159 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDczMzU2MDIsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2I2NmY2MmE3ZWEyNjcwMjBhNjYyYWI1ZTI1ZWFlMzdjNTM2Yzc2N2QwNDYyZWE1MDIyZTVhZmQ1ODQzODYxIn19fQ==", - "hash": "c1119145018d5828566343e08f72fb7ae7755c0d", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWIwZmIwNDRkZTBiZTI1MGYxYjMyZWFiM2MyMmQzZjcyNTI4MmE1ODdlNjE3YTkwMWRhYzA2MTg0MDM5NzExMyd9fX0=", + "hash": "a99241e69f731f2194de8e41bea2f094d7c6b5a1", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/poison": { "uuid": [ - 1056529285, - -1138636289, - -1614258018, - -889714317 + 809108775, + -1144238335, + -1966668314, + 1676984478 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDY4ODg4NzIsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzY2MWU3NWExMWEwNzBmNTgyMWMxYmJlOTkxMTJiZGJjYWVjY2IyZDQ3Njg2OWQ3N2ExYzJkZDlmZjY0MDM3In19fQ==", - "hash": "1dfb6eb69659931881db3720790033684d94537b", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTY2OWViYmU5NTk3NzQzZmI3ODUzODA1YTk3MTU3ZWVmMTlhZTEwOGI5NWFhZGM0MjI2ZTQ4ZjQyN2FjMmFiNSd9fX0=", + "hash": "3f8a4881a694f447f79fff06d4afd42b6ab71626", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/regeneration": { "uuid": [ - 2130271113, - -1138636289, - -1614258018, - -889714317 + 175112486, + -350270963, + -1804632664, + -1472362007 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDYxNzA4MTcsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzI2YzljOTNjNjRlZmYzMzE4MzFmNDkyY2E2Nzc1YWJjY2VkM2RjZDhmZWExOWEzMmM0OTM4NjRkYjFlMWMifX19", - "hash": "931c9059971edb2f2aada7c0c048e4ad59fb9086", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTM2OTEzNmNlMGU5MjZhZjg5MTUzNGNlNGI1OGY4NDVmODFlNWRiYTNhZGNlMzA4NzE0YzdjZmZjNmUxZTgyZSd9fX0=", + "hash": "af5e903c6b94e36e3a38feb99e6edf9be9640408", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/slow_falling": { "uuid": [ - 579092712, - 1925725639, - -2092432809, - 408565448 + 1401295760, + -1001370020, + -1237459354, + -1996662618 ], - "value": "eyJ0aW1lc3RhbXAiOjE1NTE4MjI2MTE5MDQsInByb2ZpbGVJZCI6IjIyODQ0MGU4NzJjODRkYzc4MzQ4YjI3NzU4NTAzNGM4IiwicHJvZmlsZU5hbWUiOiJTcGVjaWFsQnVpbGRlcjMyIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2UzNmJhMjRkZWQ5ODYxYzM2OWFlOGEzMGUzMTE5NWFjYTFkOGI4MDgzZjQzNTFkYjdjYWM4OTg5NDBhMDNlZWUifX19", - "hash": "b7f50e36e9f6b12d18ff317c34dbf4d5157b4ebc", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGIwNmUxYjgwOGJiZGE1ZjYxYzc5MjdiYTA2N2ViMDQ4ZDFmY2I3MmEyY2E4OThiOWY3YWQxMDY4YzY0MGM2Yyd9fX0=", + "hash": "12881ca86bfcfd8a67c0b09f8233c7625aae5990", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/slowness": { "uuid": [ - 2115591045, - -1138636289, - -1614258018, - -889714317 + 2073042102, + -128102461, + -1871962475, + 708373893 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDc1NzI0MDgsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzI4NTdjZWZhOTYzZmI5NWYyNTg4ZDU5ZTNlMGI5YjM5ZmE3YjYxMGVkODNjMTU0NmZmYTk3MjlmN2Q3ZWNiIn19fQ==", - "hash": "accf99584a50e5038d5b2fb0749a32f8286a3f5f", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWNiM2E4ZTUwNTkxZGE4NTk3NWI3NDU0NjcxMmZmMzc2YTZiMWNjZmI5M2EyNDQ0ZjEwZDdkZTA4MTc2NmFkZid9fX0=", + "hash": "5a88aa4ac65d59cc33d81f9d8e35856f6b2305cb", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/strength": { "uuid": [ - 2063162245, - -1138636289, - -1614258018, - -889714317 + -1380259552, + 1048462685, + -2136230086, + -2011000224 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDY3NTE4NTAsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2Y5NGE3YjJmZDc5MzYxNzdjNjI2ZDllYWQwZWY0MzRmMjNmNmViNmQyYzAzNDgwZGE2MDRlZWIyMWRjZiJ9fX0=", - "hash": "28876ce65f42a0af76d70f581ee069e04d97fe34", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmFkOWJlMjY2Y2JlM2RmYTFlMWMwNzdjNjRlZDA3MjllZjEwNDFkZDZkZTFmYzViOTcwMTBiZDdmM2RjMzkyOSd9fX0=", + "hash": "72b5105c05c916ea7b8e57fa07dc19b4edfb84a3", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/swiftness": { "uuid": [ - 2130271221, - -1138636289, - -1614258018, - -889714317 + 628694958, + -4831928, + -1207352243, + 134819399 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDc2MjgyNjQsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzU1N2FhOWExMTBmOTEwOGE3MWI2MzI5ODhhMzM4MzQ1OGY0NDVlYjJlYjBmMDM4ZjE3ZDQ5OGU0YmNiYTJhZCJ9fX0=", - "hash": "c6ea288e229fb974fab0b23ce175e8839b4139ba", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODE3MGJhYWJhYjg3YzhmM2YyMjkzYjQyZjY4ZmI2M2RiZGQ1ODhjNzhjMDllNzcyNTI1YjVjODUxYjJiNDEzNSd9fX0=", + "hash": "c81b184c72db50cb84ccc27a6e9ea758a9886167", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/turtle_master": { "uuid": [ - 579092712, - 1923632407, - -2041990537, - 944780488 + 363269321, + 1718175205, + -1985643155, + 497739307 ], - "value": "eyJ0aW1lc3RhbXAiOjE1NTE3MTgxMDc4NjMsInByb2ZpbGVJZCI6IjIyODQ0MGU4NzJjODRkYzc4MzQ4YjI3NzU4NTAzNGM4IiwicHJvZmlsZU5hbWUiOiJTcGVjaWFsQnVpbGRlcjMyIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzVhODlmM2Q3MGNhYmYyYTEwM2Y3MDYwZDU0NTA0NDhjMDM3YjZjMWM3MjBkM2U5OGViOTViZmY0NzAwNjdhNTIifX19", - "hash": "99c8b4b191e5ce116a1c9f08a24f1fd635ebc7b0", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTc0Zjk5NzNhZDhmZjQ0MThhNWFmNjI4MWM3NDEyYTRjYmNhNmQzMGYzMGMxYWY5M2M2Mzc3Zjc4YzNhZTczJ319fQ==", + "hash": "69f1773d5c561a8616901a3d62bc00c62b3bdea0", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/water_breathing": { "uuid": [ - 2130271109, - -1138624001, - -1614258018, - -889714317 + 2087529956, + -762951532, + -2088462039, + 585618953 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDc2OTI3OTMsInByb2ZpbGVJZCI6IjYzY2JkZjhkNDg4OTQ3NWY5NDQxMjk3ZTRhM2Q1NjczIiwicHJvZmlsZU5hbWUiOiJWZWxlVCIsImlzUHVibGljIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDc3YTdjMjEzNjc3NWE0ZWI0ZGUzMWU3MTViZWM2Y2M2NTdhN2Q2NmI0OGEzYmE1MjczMzI5MmM2ZTMyMmZhZSJ9fX0=", - "hash": "961dba309a6e645023d3d38d15d8e7c99ad4b2eb", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGFkZmFlNTE0OWNkMDViN2RkODYwOWYwMDIzMWQyODhiZTAyOWRlZmFmMTc3YzNiY2M3NTNhNjM2YzFiMGI1OSd9fX0=", + "hash": "965aaf4a242305a774eded7eea9a831d396ac107", "parent_module": "gm4_potion_liquids" }, "gm4_potion_liquids:liquids/weakness": { "uuid": [ - 2130271109, - -1138644481, - -1614258018, - -889714317 + 1194584133, + 959795039, + -2040976206, + 1339213576 ], - "value": "eyJ0aW1lc3RhbXAiOjE0MjkzNDc0MTQ0NjEsInByb2ZpbGVJZCI6IjZjZjU0M2E2MGVlOTQzN2NiNjE0YzdiOTRkZTVjNWI3IiwicHJvZmlsZU5hbWUiOiJNcnNNYWtpc3RlaW4iLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2NjYWM2NzI4NGNhNjM5MGY4ZDI4NDYwNjI3ZmZjNTg3YmI5ODk1MmQ3NDk4MzE2OWMwMWY5YjkwZmQ3MjVjIn19fQ==", - "hash": "c1aaf2d7ab03cdb274583cc5ca1eada5bed7c38c", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTQ1YjZhYzVmZjU4MzVjNzc3ZjAxMzdlZGY1ZDBlMjg4OGVkNjg2MTE5NTMxNmQ3MjhlNDRkZWVkOGM2NDJmMCd9fX0=", + "hash": "ff283cb7ab9bd87333fc675a7791bde5180a7f79", "parent_module": "gm4_potion_liquids" }, "gm4_relocators:relocator_empty": { @@ -956,6 +956,94 @@ "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzA1YTY0N2YzYmY2YzMzZGQwNWI5M2JkZTJiNzRlYzViOWE5YTMxODQxM2FlZWRkZGE3ZDFhYjk3NDVkZmE5OCd9fX0=", "hash": "b1173eacf6e07f062e2301d25669acc1a3a0ac20", "parent_module": "gm4_metallurgy" + }, + "gm4_potion_liquids:liquids/infested": { + "uuid": [ + -1996504295, + 1552826831, + -2054795441, + -1569665209 + ], + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTM1ZGFiNjQzOGFmZjA1M2VmZDI0NjMzOWZkMjAxNjJmMzViZmJmMjg4MGFiNGVkNmI4NmFmMDllNTQwOTZiMyd9fX0=", + "hash": "50aa38faf483a78bd9a33a437d30713901459ec9", + "parent_module": "gm4_potion_liquids" + }, + "gm4_potion_liquids:liquids/oozing": { + "uuid": [ + -783904090, + 1232292212, + -1545737453, + -1152375565 + ], + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjEyYTBkN2E5YmMzYzczZjQwNTZhYWY3N2FmMmFhNzBmNmRjMjk2MGY2NjRmMjdlZWNjMzVkM2Y2NzMyMDcyOCd9fX0=", + "hash": "a8e2a88fb261b67b80278dade5546dc13a789f64", + "parent_module": "gm4_potion_liquids" + }, + "gm4_potion_liquids:liquids/weaving": { + "uuid": [ + 842038238, + 472862371, + -1885580302, + 123777373 + ], + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjNlZDM4MWU0MWVmOWJlOWE4OGY5ZGYzOTAzMmJhOGY3OTliYjBiYmM1ODU2ZTk5YzI0YTU3MGFjMjI1OWY1Yyd9fX0=", + "hash": "fb4b712349e985159d1b5dbf20c2ed56f6a47262", + "parent_module": "gm4_potion_liquids" + }, + "gm4_potion_liquids:liquids/wind_charged": { + "uuid": [ + -1085379822, + 1256014354, + -2139157479, + -487046405 + ], + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODJiYTI0NDYzY2FjYTc5MjAzNGVkMGNhNzc4YTUwM2M1OWU1ZTg4YjU2ODBhMTIxM2UxNmIwZmFhZWE5YzMwOSd9fX0=", + "hash": "8d5ed9cbae9e0fc0191d9c140e33adfdd2905ace", + "parent_module": "gm4_potion_liquids" + }, + "gm4_potion_liquids:liquids/awkward": { + "uuid": [ + 594379978, + -2079439988, + -2142727791, + 2046532997 + ], + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjc2ZTI2ZmRmZGU4YmY5ZjY0MWM0YjdlZDViNmY3NjNhZmFiZDM5OGIzZjc5MjRhOTViYzA4YjM4N2FhM2MxJ319fQ==", + "hash": "4a3fbe092f343e239311835b44cadd819686e558", + "parent_module": "gm4_potion_liquids" + }, + "gm4_potion_liquids:liquids/mundane": { + "uuid": [ + 594379978, + -2079439988, + -2142727791, + 2046532997 + ], + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjc2ZTI2ZmRmZGU4YmY5ZjY0MWM0YjdlZDViNmY3NjNhZmFiZDM5OGIzZjc5MjRhOTViYzA4YjM4N2FhM2MxJ319fQ==", + "hash": "4a3fbe092f343e239311835b44cadd819686e558", + "parent_module": "gm4_potion_liquids" + }, + "gm4_potion_liquids:liquids/thick": { + "uuid": [ + 594379978, + -2079439988, + -2142727791, + 2046532997 + ], + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjc2ZTI2ZmRmZGU4YmY5ZjY0MWM0YjdlZDViNmY3NjNhZmFiZDM5OGIzZjc5MjRhOTViYzA4YjM4N2FhM2MxJ319fQ==", + "hash": "4a3fbe092f343e239311835b44cadd819686e558", + "parent_module": "gm4_potion_liquids" + }, + "gm4_standard_liquids:liquids/ominous_bottle": { + "uuid": [ + -1607256772, + -1802877405, + -1710626675, + 1156078594 + ], + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2FmMGRkOGVmZmZjZjRhNWQ5ZGQ0NWFkYjkwYmZhYmE4MWIxODg0ZjEyNGNmNTIxODFiMzJmNTc0MTU4MWYzMyd9fX0=", + "hash": "723eccaa1ce2eef198fe21d2765e1a5c6ccc7695", + "parent_module": "gm4_liquid_tanks" } }, "nonnative_references": { diff --git a/gm4_cement_mixers/beet.yaml b/gm4_cement_mixers/beet.yaml index be443fd3d0..b0159e65a9 100644 --- a/gm4_cement_mixers/beet.yaml +++ b/gm4_cement_mixers/beet.yaml @@ -5,6 +5,9 @@ version: 1.4.X data_pack: load: . +require: + - bolt + pipeline: - gm4.plugins.extend.module @@ -12,7 +15,7 @@ meta: gm4: versioning: required: - gm4_liquid_tanks: 2.3.0 + gm4_liquid_tanks: 2.7.0 website: description: Allows Liquid Tanks to convert Concrete Powder items into Concrete, at the cost of ⅓ of a Bucket of Water per Concrete Powder. recommended: [] diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/black_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/black_concrete.mcfunction deleted file mode 100644 index 16ba1cb1b8..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/black_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"black_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/blue_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/blue_concrete.mcfunction deleted file mode 100644 index 8fbe13feaa..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/blue_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"blue_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/brown_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/brown_concrete.mcfunction deleted file mode 100644 index 55c8ad45dd..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/brown_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"brown_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/cyan_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/cyan_concrete.mcfunction deleted file mode 100644 index ce10ff0a2b..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/cyan_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"cyan_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/gray_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/gray_concrete.mcfunction deleted file mode 100644 index 9dc5b179d2..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/gray_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"gray_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/green_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/green_concrete.mcfunction deleted file mode 100644 index 13c7d419b0..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/green_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"green_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/light_blue_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/light_blue_concrete.mcfunction deleted file mode 100644 index ce54a6b7b2..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/light_blue_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"light_blue_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/light_gray_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/light_gray_concrete.mcfunction deleted file mode 100644 index 31e2459e68..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/light_gray_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"light_gray_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/lime_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/lime_concrete.mcfunction deleted file mode 100644 index 30209e25ef..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/lime_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"lime_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/magenta_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/magenta_concrete.mcfunction deleted file mode 100644 index 437c712ee9..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/magenta_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"magenta_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/mud.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/mud.mcfunction deleted file mode 100644 index 556ad9747f..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/mud.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"mud"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/orange_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/orange_concrete.mcfunction deleted file mode 100644 index 4a9dbcf267..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/orange_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"orange_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/pink_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/pink_concrete.mcfunction deleted file mode 100644 index ed5e5cc74a..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/pink_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"pink_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/purple_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/purple_concrete.mcfunction deleted file mode 100644 index 4a1376e06c..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/purple_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"purple_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/red_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/red_concrete.mcfunction deleted file mode 100644 index 2c032bf007..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/red_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"red_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/white_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/white_concrete.mcfunction deleted file mode 100644 index 5a998a031f..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/white_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"white_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/yellow_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/yellow_concrete.mcfunction deleted file mode 100644 index 386192bfd3..0000000000 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/item_fill/yellow_concrete.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_cement_mixers:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"yellow_concrete"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_cement_mixers/data/gm4_cement_mixers/function/water_concrete.mcfunction b/gm4_cement_mixers/data/gm4_cement_mixers/function/water_concrete.mcfunction index 606991fdba..758af8cced 100644 --- a/gm4_cement_mixers/data/gm4_cement_mixers/function/water_concrete.mcfunction +++ b/gm4_cement_mixers/data/gm4_cement_mixers/function/water_concrete.mcfunction @@ -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 diff --git a/gm4_lightning_in_a_bottle/assets/translations.csv b/gm4_lightning_in_a_bottle/assets/translations.csv index 82e721b98d..9d725929d0 100644 --- a/gm4_lightning_in_a_bottle/assets/translations.csv +++ b/gm4_lightning_in_a_bottle/assets/translations.csv @@ -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 diff --git a/gm4_lightning_in_a_bottle/beet.yaml b/gm4_lightning_in_a_bottle/beet.yaml index feab3518ba..8ccf4c8e6a 100644 --- a/gm4_lightning_in_a_bottle/beet.yaml +++ b/gm4_lightning_in_a_bottle/beet.yaml @@ -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: diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_drain.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_drain.mcfunction deleted file mode 100644 index d219819f8b..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_drain.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -# @s = liquid tank with item in first slot -# run from #gm4_liquid_tanks:item_drain - -# lightning from lightning in a bottle -execute if entity @s[tag=gm4_lt_liab_lightning] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:custom_data":{gm4_lightning_in_a_bottle:1b}}}} run function gm4_standard_liquids:item_drain/bottle diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill.mcfunction deleted file mode 100644 index 381d8b9756..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -# @s = liquid tank with item in first slot -# run from #gm4_liquid_tanks:item_fill - -# lightning from lightning in a bottle -execute if entity @s[tag=gm4_lt_liab_lightning] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_lightning_in_a_bottle:liquid_tanks/item_fill/lightning_bottle diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill/lightning_bottle.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill/lightning_bottle.mcfunction deleted file mode 100644 index 8a18b2d19f..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill/lightning_bottle.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -# run from #liquid_tanks:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -loot replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand loot gm4_lightning_in_a_bottle:items/bottle_of_lightning -data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] HandItems[0] -item replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand with air -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/liquid_init/lightning.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/liquid_init/lightning.mcfunction deleted file mode 100644 index ddb518d340..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/liquid_init/lightning.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.lightning","fallback":"Lightning Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.lightning","fallback":"Lightning Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Silent:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$lightning_liquid"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_liab_lightning" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_liab_lightning -tag @s remove gm4_lt_empty diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/remove_liquid_tags.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/remove_liquid_tags.mcfunction deleted file mode 100644 index 3f92f7210e..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/remove_liquid_tags.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -# @s = liquid tank stand -# removes all liquid tags from the stand. Used for emptying tank and reassigning liquid type -# run from #gm4_liquid_tanks:tank_init - -tag @s remove gm4_lt_liab_lightning diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/tank_init.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/tank_init.mcfunction deleted file mode 100644 index 090b32bdf5..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/tank_init.mcfunction +++ /dev/null @@ -1,3 +0,0 @@ - -# lightning from lightning in a bottle -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:custom_data":{gm4_lightning_in_a_bottle:1b}}}} run function gm4_lightning_in_a_bottle:liquid_tanks/liquid_init/lightning diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/util/lightning.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/util/lightning.mcfunction deleted file mode 100644 index c210eda2a5..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/util/lightning.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -# @s = living-base entity below ink tank -# run from gm4_lightning_in_a_bottle:liquid_tanks/util_below - -execute at @s run summon lightning_bolt ~ ~ ~ -scoreboard players remove @e[type=armor_stand,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 diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/util_below.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/util_below.mcfunction deleted file mode 100644 index 0810bc5bd7..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/util_below.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -#@s = tank with entity below it positioned ~ ~-1 ~ -#run from liquid_tanks:process via #gm4_liquid_tanks:util_below - -tag @s add gm4_processing_tank - -# lightning -execute if score @s[tag=gm4_lt_liab_lightning] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,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 - -tag @s remove gm4_processing_tank diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/modules/liquid_tanks/liquid_features.bolt b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/modules/liquid_tanks/liquid_features.bolt new file mode 100644 index 0000000000..99007f40b2 --- /dev/null +++ b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/modules/liquid_tanks/liquid_features.bolt @@ -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 diff --git a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/item_drain.json b/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/item_drain.json deleted file mode 100644 index 426040887e..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/item_drain.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "gm4_lightning_in_a_bottle:liquid_tanks/item_drain" - ] -} diff --git a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/item_fill.json b/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/item_fill.json deleted file mode 100644 index a4f3df6a97..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/item_fill.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "gm4_lightning_in_a_bottle:liquid_tanks/item_fill" - ] -} diff --git a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/remove_liquid_tags.json b/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/remove_liquid_tags.json deleted file mode 100644 index 66814f37b2..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/remove_liquid_tags.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "gm4_lightning_in_a_bottle:liquid_tanks/remove_liquid_tags" - ] -} diff --git a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/tank_init.json b/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/tank_init.json deleted file mode 100644 index a16cbd3e3a..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/tank_init.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "gm4_lightning_in_a_bottle:liquid_tanks/tank_init" - ] -} diff --git a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/util_below.json b/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/util_below.json deleted file mode 100644 index cfc90890f7..0000000000 --- a/gm4_lightning_in_a_bottle/data/gm4_liquid_tanks/tags/function/util_below.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "gm4_lightning_in_a_bottle:liquid_tanks/util_below" - ] -} diff --git a/gm4_liquid_tanks/assets/translations.csv b/gm4_liquid_tanks/assets/translations.csv index ef0eec7990..717c7f0f89 100644 --- a/gm4_liquid_tanks/assets/translations.csv +++ b/gm4_liquid_tanks/assets/translations.csv @@ -30,3 +30,8 @@ text.gm4.guidebook.standard_liquids.rabbit_stew_and_beetroot_soup,"Rabbit Stew T text.gm4.guidebook.standard_liquids.mushroom_stew_and_milk,Mushroom Stew Tank\n- Drains mushroom stew\n- Fills bowls\n- Milks mooshrooms\n- Feeds drinkers\n\nMilk Tank\n- Drains milk buckets\n- Fills buckets\n- Milks cows\n- Clear mob effects text.gm4.guidebook.standard_liquids.honey,"Honey Tanks\n- Drains honey bottles, honey blocks\n- Fills bottles\n- Casts honey blocks into cauldrons\n- Clears mob poison\n- Feeds drinkers" text.gm4.guidebook.standard_liquids.experience,"Experience Tanks\n- Drains bottles o' enchanting, enchanted books\n- Fills bottles\n- Absorbs experience orbs, experience points\n- Fills experience points" +container.gm4.liquid_tank.ominous_bottle_0,Ominous I Tank +container.gm4.liquid_tank.ominous_bottle_1,Ominous II Tank +container.gm4.liquid_tank.ominous_bottle_2,Ominous III Tank +container.gm4.liquid_tank.ominous_bottle_3,Ominous IV Tank +container.gm4.liquid_tank.ominous_bottle_4,Ominous V Tank diff --git a/gm4_liquid_tanks/beet.yaml b/gm4_liquid_tanks/beet.yaml index ce2c54b10b..f1d52dea2f 100644 --- a/gm4_liquid_tanks/beet.yaml +++ b/gm4_liquid_tanks/beet.yaml @@ -1,6 +1,6 @@ id: gm4_liquid_tanks name: Liquid Tanks -version: 2.6.X +version: 2.7.X data_pack: load: . @@ -8,12 +8,19 @@ data_pack: resource_pack: load: . +require: + - bolt + pipeline: + - override_formatting - gm4.plugins.extend.module - gm4.plugins.include.lib_machines - gm4.plugins.include.lib_custom_crafters meta: + bolt: + entrypoint: + - gm4_standard_liquids:main gm4: versioning: required: diff --git a/gm4_liquid_tanks/bolt-docs.md b/gm4_liquid_tanks/bolt-docs.md new file mode 100644 index 0000000000..292974b3ec --- /dev/null +++ b/gm4_liquid_tanks/bolt-docs.md @@ -0,0 +1,91 @@ +# Liquid Tanks Bolt Wrappers +Liquid tanks has a bolt-powered interface to define the myriad of liquid types and items that interact with them, without needing to create lots of redundant function files directly. + +This interface is an *experimental* design, and so maybe not recommended to be replicated for other modules without careful thought. + +# Prereqs +- Add `bolt` to the beet.yaml requirements +- Add `gm4_liquid_tanks.bolt_liquid_wrappers` to the beet.yaml pipeline +- Configure a beet entrypoint; typically: +``` +meta: + bolt: + entrypoint: + - gm4_potion_liquids:main +``` + +# Basic Usage +Liquids are defined through a class definitions, typically done in a `main.bolt` file, located in `data/gm4_module_namespace/modules/main.bolt`. At the start of the file, import the wrapper with `from gm4_liquid_tanks:liquid_wrappers import liquid` + +Each liquid type is a class, defined with the `@liquid` decorator, with 4 class attributes. + - `id`: internal id of the liquid + - `name`: display name in the hopper ie "Water" becomes "Water Tank" + - `capacity`: maximum fluid units the tank holds + - `skin`: (optional) resource location for the liquid's skin texture. If omitted, defaults to `liquids/id` + +Additional behavior is added by calling or defining methods within the class. + +## Tank Init +The default tank init function is created by calling `liquid.init()`. Additional commands can be appended to the end of the init function by decorating a method: +```py +@liquid.init() +def arbitrary_fcn_name(): + say additional commands done here! + advancement grant @a[distance=..2] gm4:blood_tank +``` + +## Item Fill/Drain +Each item that a tank fills or drains is registered by calling `liquid.item_fill` or `liquid.item_drain`. Most items that can be both filled or drained (like a bucket or bottle) only need to call `item_fill`, which also in turn defines its `item_drain` reverse direction. + +An item that only is fillable (like adding water to concrete powder) can be created with `item_fill(reversible=False)`. +Similarly, an item that is only drainable (like enchanted pages) can be created with `item_drain` directly. + +The arguments of the method define the two items and the amount of liquid imparted to/from the tank by that item. These items are defined by their item stack component test. e.g. `paper[custom_data~{gm4_book_binders:{item:"enchanted_page"}}]` + +```py +liquid.item_fill('bucket', 'water_bucket', 3) +liquid.item_fill('glass_bottle', 'minecraft:potion[potion_contents={potion:"water"}]', 1) +liquid.item_drain('paper[custom_data~{gm4_book_binders:{item:"enchanted_page"}}]', 'paper', 5) +``` + +If the output item requires additional data to be set after being processed by the liquid tank, or if any additional commands are present at the end of the item process file (for advancements for example), then the decorator approach is required. The first set of commands placed before a `yield` is called at the step where the final item data is applied to the `weapon.mainhand` of the forceload armorstand (UUID=`344d47-4-4-4-f04ce104d`), generally following the form: +`loot replace entity 344d47-4-4-4-f04ce104d weapon.mainhand loot gm4_standard_liquids:ink_bottle`. The second set of commands after a `yield` generates at the end of the function. + +```py +@liquid.item_fill('glass_bottle', 'experience_bottle', 9) + def experience_bottle(): + item replace entity 344d47-4-4-4-f04ce104d weapon.mainhand with minecraft:experience_bottle + yield + execute if score $smart_success gm4_lt_value matches 1 run advancement grant @a[distance=..4,gamemode=!spectator] only gm4:standard_liquids +``` + +## Util Below +Some basic util-below functionality is available for liquids that have a "dispense" function. Other util-below functionality should be added directly through the creation of the usual function files. + +This set of commands is called on tanks of the matching type, and run as provided by a decorated method. +```py +@liquid.util_below + def dispense_ink(): + execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:blindness'}]}] run function gm4_standard_liquids:util/liquid_dispensing/ink +``` + +# Advanced Usage +## Standard Units +Liquid containers that are commonly used by many items can easily be defined as a "Standard Unit", which will reuse function files wherever possible. Glass bottles and buckets are examples of this. + +A defined standard unit acts in place of the normal `liquid.item_fill` method, with all set arguments already bound. + +```py +bottle = liquid.standard_unit('glass_bottle', 1) + +liquid.item_fill('glass_bottle', 'honey_bottle', 1) # then becomes +bottle('honey_bottle') +``` + +Standard units take an optional `f_name` string parameter that allows the actual function name to be defined, which may prevent collisions when more than one standard unit uses the same item type. + +## Naming Schemes +By default, function files are names according to a preset number of schemes, usually by the item name or potion type if available. Additioinal schemes can be registered to the wrapper via its `schemes` attribute. This functionality is not used yet in the codebase, so please refer to the source code for more details. + +## Partially Bound Liquid Defaults +Liquids with commonly repeated properties (mainly liquid value) can be made with a new instance of the "Liquid" object, replacing the usage of the included `liquid` instance. diff --git a/gm4_liquid_tanks/bolt_liquid_wrappers.py b/gm4_liquid_tanks/bolt_liquid_wrappers.py new file mode 100644 index 0000000000..ac41265cbb --- /dev/null +++ b/gm4_liquid_tanks/bolt_liquid_wrappers.py @@ -0,0 +1,9 @@ +# beet plugin to add the liquid_wrappers.bolt module to other gm4 datapacks more easily +from beet import Context +from bolt import Module +from pathlib import Path + + +def beet_default(ctx: Context): + print(Path.cwd()) + ctx.data[Module]['gm4_liquid_tanks:liquid_wrappers'] = Module(source_path=Path("gm4_liquid_tanks/data/gm4_liquid_tanks/modules/liquid_wrappers.bolt")) diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/apply_output.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/apply_output.mcfunction index dfe1185077..4091d364de 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/apply_output.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/apply_output.mcfunction @@ -2,8 +2,17 @@ # @s = processing tank # merge count from input and set to tank -data modify storage gm4_liquid_tanks:temp/tank output.count set from storage gm4_liquid_tanks:temp/tank input_slot.count -data modify block ~ ~ ~ Items[{Slot:0b}] set from storage gm4_liquid_tanks:temp/tank output +item_modifier gm4_liquid_tanks:apply_output_count: + function: "minecraft:set_count" + count: + type: "minecraft:score" + target: + type: "minecraft:fixed" + name: "$stack_size" + score: "gm4_lt_value" + +item replace block ~ ~ ~ container.0 from entity 344d47-4-4-4-f04ce104d weapon.mainhand gm4_liquid_tanks:apply_output_count +item replace entity 344d47-4-4-4-f04ce104d weapon.mainhand with air # apply value delta scoreboard players operation @s gm4_lt_value += $stack_value gm4_lt_value diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/empty.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/empty.mcfunction index d498869d9a..bd2936c58e 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/empty.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/empty.mcfunction @@ -2,7 +2,7 @@ #run from liquid_tanks:liquid_value_update scoreboard players set @s gm4_lt_value 0 -execute positioned ~ ~-0.5 ~ run kill @e[type=armor_stand,tag=gm4_liquid_tank_display,distance=..0.5] +execute positioned ~ ~ ~ run kill @e[type=item_display,tag=gm4_liquid_tank_liquid_display,distance=..0.5] data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'} data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "empty" function #gm4_liquid_tanks:remove_liquid_tags diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/init.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/init.mcfunction index ddd78fffc7..b79ff5dab2 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/init.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/init.mcfunction @@ -3,7 +3,7 @@ scoreboard objectives add gm4_lt_max dummy scoreboard objectives add gm4_lt_prior_val dummy scoreboard objectives add gm4_lt_disp_val dummy scoreboard objectives add gm4_lt_util dummy -#declare storage gm4_liquid_tanks:temp/tank +#declare storage gm4_liquid_tanks:temp execute unless score liquid_tanks gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Liquid Tanks"} execute unless score liquid_tanks gm4_earliest_version < liquid_tanks gm4_modules run scoreboard players operation liquid_tanks gm4_earliest_version = liquid_tanks gm4_modules diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/item_process.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/item_process.mcfunction index d351fa520e..a3aa5f4be0 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/item_process.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/item_process.mcfunction @@ -2,7 +2,7 @@ #run from liquid_tanks:process # get stack count for smart interface -execute store result score $stack_size gm4_lt_value run data get storage gm4_liquid_tanks:temp/tank input_slot.count 1.0 +execute store result score $stack_size gm4_lt_value if items block ~ ~ ~ container.0 * #tank init execute if score @s[tag=gm4_lt_empty] gm4_lt_value matches 0 unless entity @s[tag=gm4_lt_fill] run function #gm4_liquid_tanks:tank_init @@ -12,7 +12,3 @@ execute unless entity @s[tag=gm4_lt_fill] run function #gm4_liquid_tanks:item_dr #item fill execute unless entity @s[tag=gm4_lt_drain] run function #gm4_liquid_tanks:item_fill - -#storage cleanup -data remove storage gm4_liquid_tanks:temp/tank input_slot -data remove storage gm4_liquid_tanks:temp/tank output diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/liquid_value_update.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/liquid_value_update.mcfunction index eea442f7b6..f052dec812 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/liquid_value_update.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/liquid_value_update.mcfunction @@ -20,5 +20,5 @@ scoreboard players operation @s gm4_lt_disp_val = liquid_height_calc gm4_lt_disp scoreboard players operation liquid_height_calc gm4_lt_disp_val -= last_liquid_height gm4_lt_disp_val #teleport proper number of times. -execute if score liquid_height_calc gm4_lt_disp_val matches 1.. at @s positioned ~ ~-.5 ~ run function gm4_liquid_tanks:teleport_display_up -execute if score liquid_height_calc gm4_lt_disp_val matches ..-1 at @s positioned ~ ~-.5 ~ run function gm4_liquid_tanks:teleport_display_down +execute if score liquid_height_calc gm4_lt_disp_val matches 1.. at @s run function gm4_liquid_tanks:teleport_display_up +execute if score liquid_height_calc gm4_lt_disp_val matches ..-1 at @s run function gm4_liquid_tanks:teleport_display_down diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/create.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/create.mcfunction index 4aa815a6c3..b20a0a979a 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/create.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/create.mcfunction @@ -16,5 +16,5 @@ execute as @e[type=marker,tag=gm4_new_machine,limit=1] run function gm4_liquid_t # mark block as placed playsound block.end_portal_frame.fill block @a[distance=..30] ~ ~ ~ 1 0.5 scoreboard players set $placed_block gm4_machine_data 1 -scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 1 +scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 2 tag @e[distance=..2] remove gm4_new_machine diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/destroy.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/destroy.mcfunction index 2682c46f32..1b7ce88e4e 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/destroy.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/destroy.mcfunction @@ -4,8 +4,9 @@ # run from gm4_liquid_tanks:machine/verify_destroy # kill entities related to machine block -execute positioned ~ ~-0.5 ~ run kill @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,distance=..0.01] -execute positioned ~ ~-0.75 ~ run kill @e[type=armor_stand,tag=gm4_liquid_tank_display,distance=..0.3,limit=1] +execute positioned ~ ~0.4 ~ run kill @e[type=item_display,tag=gm4_liquid_tank_display,limit=1,distance=..0.01] +execute positioned ~ ~0.1 ~ run kill @e[type=item_display,tag=gm4_liquid_tank_liquid_display,distance=..0.3,limit=1] + execute positioned ~ ~0.5 ~ run kill @e[type=area_effect_cloud,distance=..0.5,tag=gm4_lt_util_block] execute store result score $dropped_item gm4_machine_data run kill @e[type=item,distance=..1,nbt={Age:0s,Item:{id:"minecraft:hopper",count:1,components:{}}},limit=1,sort=nearest] kill @s diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/down.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/down.mcfunction index b8fa808eba..132633eb89 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/down.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/down.mcfunction @@ -6,6 +6,6 @@ # place hopper setblock ~ ~ ~ hopper[facing=down]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'} -# summon display armor stand and marker entity -summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}}],Rotation:[0.0f,0.0f]} +# summon display entity and marker entity +summon item_display ~ ~0.4 ~ {Tags:["gm4_liquid_tank_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank_display"',item:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}},Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]},item_display:'head'} summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[0.0f,0.0f]} diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/east.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/east.mcfunction index 9874654693..0153bc9bb0 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/east.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/east.mcfunction @@ -6,6 +6,6 @@ # place hopper setblock ~ ~ ~ hopper[facing=east]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'} -# summon display armor stand and marker entity -summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}],Rotation:[-90.0f,0.0f]} +# summon display entity and marker entity +summon item_display ~ ~0.4 ~ {Tags:["gm4_liquid_tank_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank_display"',item:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}},Rotation:[-90.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]},item_display:'head'} summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[-90.0f,0.0f]} diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/north.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/north.mcfunction index cb2cd3db9d..cc5d1d01a3 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/north.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/north.mcfunction @@ -6,6 +6,6 @@ # place hopper setblock ~ ~ ~ hopper[facing=north]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'} -# summon display armor stand and marker entity -summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}],Rotation:[180.0f,0.0f]} +# summon display entity and marker entity +summon item_display ~ ~0.4 ~ {Tags:["gm4_liquid_tank_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank_display"',item:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}},Rotation:[180.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]},item_display:'head'} summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[180.0f,0.0f]} diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/south.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/south.mcfunction index a0b70c9dd3..226b70ee98 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/south.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/south.mcfunction @@ -6,6 +6,7 @@ # place hopper setblock ~ ~ ~ hopper[facing=south]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'} -# summon display armor stand and marker entity -summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}],Rotation:[0.0f,0.0f]} +# summon display entity and marker entity +summon item_display ~ ~0.4 ~ {Tags:["gm4_liquid_tank_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank_display"',item:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}},Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]},item_display:'head'} + summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[0.0f,0.0f]} diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/west.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/west.mcfunction index c0bd383e1b..fcc27f0c5c 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/west.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/west.mcfunction @@ -6,6 +6,7 @@ # place hopper setblock ~ ~ ~ hopper[facing=west]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'} -# summon display armor stand and marker entity -summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}],Rotation:[90.0f,0.0f]} +# summon display entity and marker entity +summon item_display ~ ~0.4 ~ {Tags:["gm4_liquid_tank_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank_display"',item:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}},Rotation:[90.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]},item_display:'head'} + summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[90.0f,0.0f]} diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/process.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/process.mcfunction index 7f42f2955d..a94ac08b11 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/process.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/process.mcfunction @@ -2,12 +2,12 @@ #run from main #item processing -data modify storage gm4_liquid_tanks:temp/tank input_slot merge from block ~ ~ ~ Items[{Slot:0b}] -execute if data storage gm4_liquid_tanks:temp/tank input_slot run function gm4_liquid_tanks:item_process +# data modify storage gm4_liquid_tanks:temp/tank input_slot merge from block ~ ~ ~ Items[{Slot:0b}] +execute if items block ~ ~ ~ container.0 * run function gm4_liquid_tanks:item_process #last item action resetting (requires updated tank data, so no refrence to storage) -execute unless block ~ ~ ~ hopper{Items:[{Slot:0b}]} run tag @s remove gm4_lt_drain -execute unless block ~ ~ ~ hopper{Items:[{Slot:0b}]} run tag @s remove gm4_lt_fill +execute unless items block ~ ~ ~ container.0 * run tag @s remove gm4_lt_drain +execute unless items block ~ ~ ~ container.0 * run tag @s remove gm4_lt_fill #entity processing execute if block ~ ~ ~ hopper[enabled=true] align xyz positioned ~ ~1 ~ if entity @e[type=!armor_stand,dx=0] run function #gm4_liquid_tanks:util_above diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/teleport_display_down.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/teleport_display_down.mcfunction index 1d62becdb5..69e14560ab 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/teleport_display_down.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/teleport_display_down.mcfunction @@ -1,8 +1,8 @@ #@s = liquid tank #run from liquid_value_update -#teleport stand down -execute as @e[type=armor_stand,tag=gm4_liquid_tank_display,distance=..0.5,limit=1] at @s run teleport @s ~ ~-.04 ~ +#teleport display down +execute as @e[type=item_display,tag=gm4_liquid_tank_liquid_display,distance=..0.5,limit=1] at @s run teleport @s ~ ~-.04 ~ scoreboard players add liquid_height_calc gm4_lt_disp_val 1 diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/teleport_display_up.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/teleport_display_up.mcfunction index 0d301d60bd..ff8a3b6d0a 100644 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/teleport_display_up.mcfunction +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/teleport_display_up.mcfunction @@ -1,8 +1,8 @@ #@s = liquid tank #run from liquid_value_update -#teleport stand up -execute as @e[type=armor_stand,tag=gm4_liquid_tank_display,distance=..0.5,limit=1] at @s run teleport @s ~ ~.04 ~ +#teleport display up +execute as @e[type=item_display,tag=gm4_liquid_tank_liquid_display,distance=..0.5,limit=1] at @s run teleport @s ~ ~.04 ~ scoreboard players remove liquid_height_calc gm4_lt_disp_val 1 diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/upgrade_paths/2.5.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/upgrade_paths/2.5.mcfunction new file mode 100644 index 0000000000..ed2d478012 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/upgrade_paths/2.5.mcfunction @@ -0,0 +1 @@ +execute as @e[type=marker,tag=gm4_liquid_tank,scores={gm4_entity_version=1}] at @s run function gm4_liquid_tanks:upgrade_paths/2.5/entity_replacement diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/upgrade_paths/2.5/entity_replacement.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/upgrade_paths/2.5/entity_replacement.mcfunction new file mode 100644 index 0000000000..8bf0d21584 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/upgrade_paths/2.5/entity_replacement.mcfunction @@ -0,0 +1,19 @@ +# @s = gm4_liquid_tank marker +# at center of block +# run by upgrade_paths/2.5 + +# replace primary armor stand with item display +summon item_display ~ ~0.4 ~ {Tags:["gm4_liquid_tank_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank_display"',item:{id:"glass",Count:1,tag:{CustomModelData:"block/liquid_tank"}},Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]},item_display:head} +data modify entity @e[type=item_display,limit=1,distance=..1,tag=gm4_new_machine] Rotation set from entity @e[type=armor_stand,limit=1,distance=..1,tag=gm4_liquid_tank_stand] Rotation +kill @e[type=armor_stand,limit=1,distance=..1,tag=gm4_liquid_tank_stand] +scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 2 +tag @e[tag=gm4_new_machine,distance=..1] remove gm4_new_machine + +# replace liquid armor stand with item display +execute at @e[type=armor_stand,limit=1,tag=gm4_liquid_tank_display,distance=..1] positioned ~ ~0.95 ~ run summon item_display ~ ~ ~ {CustomName:'"gm4_liquid_tank_liquid_display"',Tags:["gm4_liquid_tank_liquid_display","smithed.entity","smithed.strict","gm4_new_liquid"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.2185f,0f],scale:[0.83,0.83,0.83]},item_display:head} +data modify entity @e[type=item_display,tag=gm4_new_liquid,limit=1,distance=..1] item set from entity @e[type=armor_stand,limit=1,tag=gm4_liquid_tank_display,distance=..1] ArmorItems[3] +tag @e[type=item_display,tag=gm4_new_liquid] remove gm4_new_liquid +kill @e[type=armor_stand,limit=1,tag=gm4_liquid_tank_display,distance=..1] + + +scoreboard players set @s gm4_entity_version 2 diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/modules/liquid_wrappers.bolt b/gm4_liquid_tanks/data/gm4_liquid_tanks/modules/liquid_wrappers.bolt new file mode 100644 index 0000000000..04fb5c504f --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/modules/liquid_wrappers.bolt @@ -0,0 +1,323 @@ +from functools import wraps, partial +import re +from inspect import isgeneratorfunction + +from beet import Context +from mecha import Mecha, AstItemStack +from bolt.contrib.defer import Defer + +from gm4.utils import add_namespace + +from gm4_auto_crafting.generate import unstackables, stackable_16 # NOTE future versions can pull the default component from 1.20.5 item.json + + +# function that generates no mcfunction +def emptyfunc(): + pass + +class Liquid: + """Base class providing decorators and infrastructure for adding Liquid Tanks liquids""" + id: str = None + capacity: int = None + name: str = None + skin: str = None # defaults to value of `liquids/id` if not otherwise set + _fields = ['id', 'capacity', 'name'] + _generators = [] # functions that create mcfunction using bolt + _defer_counters = { + '_singleton_util_below_tail': 0, + '_singleton_util_below_head': 0 + } # classvar for util_below cleanup defers + + + + def __init__(self, *args, **kwargs): + # create instance attributes (named defined by _fields) based on constructor + input_args = dict(zip(self._fields, args)) | kwargs + for field in self._fields: + if input_args.get(field, None): + setattr(self, field, input_args.get(field, None)) + self.units = {} # reusable quantities shared amongst liquids + self.naming_schemes = NamingSchemes() # stores which function names are taken and generates new ones + self.struc = Liquid + self.mc = ctx.inject(Mecha) + self.defer = ctx.inject(Defer) + + def __call__(self, cls): + """instance acts as decorator for defining new class-structures""" + @wraps(cls, updated=()) + class DecoratedLiquid(cls, Liquid): + pass + + # set unbound DecoratedLiquid class attributes + for field in self._fields: + if getattr(self, field, None): + setattr(DecoratedLiquid, field, getattr(self, field, None)) + + # use the skin file of "id" if not otherwise specified. + if not DecoratedLiquid.skin: + DecoratedLiquid.skin = "liquids/"+DecoratedLiquid.id + + self.struc = DecoratedLiquid # link access to class variables through `self` + for fcn in DecoratedLiquid._generators: + fcn() # create the mcfunction + DecoratedLiquid._generators.clear() + + return DecoratedLiquid + + def init(self, fcn=emptyfunc): + @wraps(fcn) + def wrapped_fcn(): + function ~/../liquid_init/{self.struc.id}: + data merge block ~ ~ ~ {CustomName:f'{{"translate":"gm4.second","fallback":"%1$s","with":[{{"translate":"container.gm4.liquid_tank.{self.struc.id}","fallback":"{self.struc.name} Tank"}},[{{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"}},{{"translate":"container.gm4.liquid_tank.{self.struc.id}","fallback":"{self.struc.name} Tank","font":"gm4:default","color":"#404040"}}]]}}'} + summon item_display ~ ~ ~: + CustomName: '"gm4_liquid_tank_liquid_display"' + Tags: ["gm4_liquid_tank_liquid_display","smithed.entity","smithed.strict"] + item: + id: player_head + count:1b + components:{ + "minecraft:profile": f"${(~/).split(':')[0]}:{self.struc.skin}" + } + transformation: + left_rotation: [0f,0f,0f,1f] + right_rotation: [0f,0f,0f,1f] + translation: [0f,0.2185f,0f] + scale: [0.83, 0.83, 0.83] + item_display: head + data modify entity @s data.gm4_liquid_tanks.liquid_tag set value f"gm4_lt_{self.struc.id}" + scoreboard players set @s gm4_lt_max self.struc.capacity + tag @s add f'gm4_lt_{self.struc.id}' + tag @s remove gm4_lt_empty + fcn() + + append function ~/../remove_liquid_tags: + append function_tag gm4_liquid_tanks:remove_liquid_tags {"values": [(~/)]} + tag @s remove f'gm4_lt_{self.struc.id}' + + # add function-tag hooks + append function_tag gm4_liquid_tanks:tank_init {"values": [(~/../tank_init)]} + append function_tag gm4_liquid_tanks:item_fill {"values": [(~/../item_fill)]} + append function_tag gm4_liquid_tanks:item_drain {"values": [(~/../item_drain)]} + append function_tag gm4_liquid_tanks:util_below {"values": [(~/../util_below)]} + # append function_tag gm4_liquid_tanks:util_above {"values": [(~/../util_above)]} + + # give nicer info about this wrapped function if not used as decorator + if fcn: + wrapped_fcn.__qualname__ = "Liquid.init" + else: + wrapped_fcn.__qualname__ = fcn.__qualname__ + + self.struc._generators.append(wrapped_fcn) + return wrapped_fcn + + @staticmethod + def _default_set_output(item:str): + item replace entity 344d47-4-4-4-f04ce104d weapon.mainhand with item + + + def item_fill(self, input: str, output: str, value: int, reversable: bool = True, ignore_standard_units: bool = False): + def dec_with_args(fcn, fcn_to_replace): + @wraps(fcn) + def wrapped_fcn(): + output_id = output.split('[', 1)[0].removeprefix('minecraft:') + ns_output = add_namespace(output_id, "minecraft") + + # retrieve max allowable stack size + if ns_output in unstackables: + stack_limit = "1" + elif ns_output in stackable_16: + stack_limit = "..16" + else: + stack_limit = "..64" # FIXME this should remove that execute subcommand from the chain.. somehow + + # retrieve name for generated function + if not isinstance(fcn, partial): # not Liquid._default_set_output: + func_name = fcn.__name__ + self.naming_schemes.register(func_name, ~/../item_fill) + else: + func_name = self.naming_schemes.retrieve_and_register(input, output, ~/../item_fill) + + # transform any supplied mcfunction into generator + genfcn = self._multiple_mcfunction(fcn) + + append function ~/../item_fill: + execute if entity @s[tag=f'gm4_lt_{self.struc.id}'] if score $stack_size gm4_lt_value matches stack_limit if items block ~ ~ ~ container.0 input run function ~/{func_name}: + scoreboard players set $item_value gm4_lt_value (-value) + next(genfcn) # runs _default_set_output unless alternative is supplied + function gm4_liquid_tanks:smart_item_fill + tag @s add gm4_lt_fill + next(genfcn) + + # give nicer info about this wrapped function if not used as decorator + if isinstance(fcn, partial): + wrapped_fcn.__qualname__ = "Liquid.item_fill" + else: + wrapped_fcn.__qualname__ = fcn.__qualname__ + + if fcn_to_replace in self.struc._generators: + self.struc._generators.remove(fcn_to_replace) + self.struc._generators.append(wrapped_fcn) + return wrapped_fcn + + # create reverse + if reversable: + self.item_drain(output, input, value) + + default_dec = dec_with_args(partial(self._default_set_output, item=output), None) + + return_dec = partial(dec_with_args, fcn_to_replace=default_dec) + return return_dec + + def standard_unit(self, item: str, value: int, f_name: str = None): + if not f_name: # mcfunction name + f_name = item + self.units.update({(item, value): f_name}) + # let unit act as an 'item_fill' decorator with input already set + def dispatch(output: str): + return partial(self.item_fill, input=item, value=value)(output=output) + return dispatch + + + def item_drain(self, input: str, output: str, value: int): + def dec_with_args(fcn, fcn_to_replace): + @wraps(fcn) + def wrapped_fcn(): + # see if we can reuse a standard unit + func_name = self.units.get((output, value), None) + if func_name: + self.naming_schemes.register(func_name, ~/../item_drain) + + # if not, retrive the name for the generated function + if not func_name: + func_name = self.naming_schemes.retrieve_and_register(input, output, ~/../item_drain) + + # transform any supplied mcfunction into generator + genfcn = self._multiple_mcfunction(fcn) + + append function ~/../item_drain: + execute if entity @s[tag=f'gm4_lt_{self.struc.id}'] if items block ~ ~ ~ container.0 input run function ~/{func_name}: + scoreboard players set $item_value gm4_lt_value value + next(genfcn) # runs _default_set_output unless alternative is supplied + function gm4_liquid_tanks:smart_item_drain + tag @s add gm4_lt_drain + + append function ~/../tank_init: + execute if items block ~ ~ ~ container.0 input run function ~/../liquid_init/{self.struc.id} + + # give nicer info about this wrapped function if not used as decorator + if isinstance(fcn, partial): + wrapped_fcn.__qualname__ = "Liquid.item_fill" + else: + wrapped_fcn.__qualname__ = fcn.__qualname__ + + if fcn_to_replace in self.struc._generators: + self.struc._generators.remove(fcn_to_replace) + self.struc._generators.append(wrapped_fcn) + return wrapped_fcn + + default_dec = dec_with_args(partial(self._default_set_output, item=output), None) + + return_dec = partial(dec_with_args, fcn_to_replace=default_dec) + return return_dec + + def util_below(self, fcn=emptyfunc): + # util below must always be used as a decorator - there is no "standard" interface + # util is designed to work alongside existing functions (and not entirely in bolt) + @wraps(fcn) + def wrapped_fcn(): + # function header if needed + if ~/../util_below not in ctx.data.functions or "tag @s add gm4_processing_tank" not in ctx.data.functions[~/../util_below].lines: + Liquid._defer_counters['_singleton_util_below_head'] += 1 + @self.defer + def _end_util_below(): + Liquid._defer_counters['_singleton_util_below_head'] -= 1 + if Liquid._defer_counters['_singleton_util_below_head'] <= 0: # only emit the commands if this is the last section of util_below + prepend function ~/../util_below: + tag @s add gm4_processing_tank + + # NOTE the function tail (tag remove processing_tank) cannot be removed easily by bolt, + # so modules using both these wrappers and normal files will need to leave that line omitted + + # add commands + append function ~/../util_below: + execute if score @s[tag=f'gm4_lt_{self.struc.id}'] gm4_lt_value matches 1.. expand: + fcn() + @self.defer + def _end_util_below(): + Liquid._defer_counters['_singleton_util_below_tail'] -= 1 + if Liquid._defer_counters['_singleton_util_below_tail'] <= 0: # only emit the commands if this is the last section of util_below + append function ~/../util_below: + tag @s remove gm4_processing_tank + + self.struc._generators.append(wrapped_fcn) + Liquid._defer_counters['_singleton_util_below_tail'] += 1 + return wrapped_fcn + + @staticmethod + def _multiple_mcfunction(fcn): + """Ensures the given function operates as a generator, allowing for multiple chunks of returned mcfunction""" + if isgeneratorfunction(fcn): + def accept_stopiteration(): # bolt does not have try/except yet, so this is an alternate implementation + fcninst = fcn() + while True: + yield next(fcninst, None) + return accept_stopiteration() + else: + def genfunc(): + yield fcn() + while True: + yield None + return genfunc() + +class NamingSchemes(): + """Helper class for controlling how item_drain/ and item_fill/ functions are named""" + used_names: dict[str, set[str]] = {} + + def __init__(self): + self.schemes = [ + self.potion, + self.not_air, + self.output_name, + self.input_name, + self.combined_name + ] + + def retrieve_and_register(self, input: str, output: str, location: str) -> str: + local_used_names = self.used_names.setdefault(location, set()) + for scheme in self.schemes: + func_name = scheme(input, output) + if func_name and func_name not in local_used_names: + local_used_names.add(func_name) + return func_name + return "NULL" # FIXME error logging from bolt? How to + + def register(self, func_name: str, location: str): + local_used_names = self.used_names.setdefault(location, set()) + local_used_names.add(func_name) + + @staticmethod + def output_name(input_name: str, output_name: str) -> str: + return output_name.split('[', 1)[0].removeprefix('minecraft:') + + @staticmethod + def input_name(input_name: str, output_name: str) -> str: + return input_name.split('[', 1)[0].removeprefix('minecraft:') + + @staticmethod + def combined_name(input_name: str, output_name: str) -> str: + return f"{input_name.split('[', 1)[0].removeprefix('minecraft:')}_{output_name.split('[', 1)[0].removeprefix('minecraft:')}" + + @staticmethod + def potion(input_name: str, output_name: str) -> str | bool: + m = re.match(r'.+?potion_contents=\{potion:\"(.+)\"\}', output_name) + if m: + return f"{m.group(1)}_potion" + return False + + @staticmethod + def not_air(input_name: str, output_name: str) -> str | bool: + if output_name == "air": + return input_name # always name a clear item operation after what is being cleared + return False + +liquid = Liquid() # common instance for most cases diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/tags/function/item_drain.json b/gm4_liquid_tanks/data/gm4_liquid_tanks/tags/function/item_drain.json deleted file mode 100644 index a36749d28c..0000000000 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/tags/function/item_drain.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values":[ - "gm4_standard_liquids:item_drain" - ] - -} diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/tags/function/item_fill.json b/gm4_liquid_tanks/data/gm4_liquid_tanks/tags/function/item_fill.json deleted file mode 100644 index 181c1fbb47..0000000000 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/tags/function/item_fill.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values":[ - "gm4_standard_liquids:item_fill" - ] - -} diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/tags/function/tank_init.json b/gm4_liquid_tanks/data/gm4_liquid_tanks/tags/function/tank_init.json deleted file mode 100644 index a9eeb458ae..0000000000 --- a/gm4_liquid_tanks/data/gm4_liquid_tanks/tags/function/tank_init.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values":[ - "gm4_standard_liquids:tank_init" - ] - -} diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/test/honey_cast.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/test/honey_cast.mcfunction new file mode 100644 index 0000000000..e23fd1f9cd --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/test/honey_cast.mcfunction @@ -0,0 +1,21 @@ +# @template gm4_liquid_tanks:test_setup +# @dummy ~ ~1 ~ + +# create honey tank +item replace block ~1 ~3 ~1 container.0 with minecraft:honey_block +await not items block ~1 ~3 ~1 container.0 minecraft:honey_block + +# place cauldron +setblock ~2 ~3 ~1 cauldron + +# link cauldron (dummy faces cauldron) +execute at @s run tp @s ~ ~ ~ -45 -45 +await delay 1s +assert entity @e[tag=gm4_lt_util_block,type=area_effect_cloud] inside + +# check casting success +await entity @e[type=item_display,tag=gm4_lt_honey_display] inside +say started casting! +await delay 30s +say done casting +assert entity @e[type=item,nbt={Item:{id:"minecraft:honey_block"}}] inside diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain.mcfunction deleted file mode 100644 index 49d7deac55..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain.mcfunction +++ /dev/null @@ -1,42 +0,0 @@ -#@s = liquid tank with item in first slot -#run from liquid_tanks:item_process - -#water -execute if entity @s[tag=gm4_lt_water] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:water_bucket"}} run function gm4_standard_liquids:item_drain/bucket -execute if entity @s[tag=gm4_lt_water] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:water"}}}} run function gm4_standard_liquids:item_drain/bottle - -#lava -execute if entity @s[tag=gm4_lt_lava] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:lava_bucket"}} run function gm4_standard_liquids:item_drain/bucket - -#milk -execute if entity @s[tag=gm4_lt_milk] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:milk_bucket"}} run function gm4_standard_liquids:item_drain/bucket - -#mushroom stew -execute if entity @s[tag=gm4_lt_mushroom_stew] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:mushroom_stew"}} run function gm4_standard_liquids:item_drain/bowl - -#rabbit stew -execute if entity @s[tag=gm4_lt_rabbit_stew] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:rabbit_stew"}} run function gm4_standard_liquids:item_drain/bowl - -#beetroot soup -execute if entity @s[tag=gm4_lt_beetroot_soup] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:beetroot_soup"}} run function gm4_standard_liquids:item_drain/bowl -execute if entity @s[tag=gm4_lt_beetroot_soup] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:beetroot"}} run function gm4_standard_liquids:item_drain/beetroot - -#experience -execute if entity @s[tag=gm4_lt_experience] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:experience_bottle"}} run function gm4_standard_liquids:item_drain/experience_bottle -execute if entity @s[tag=gm4_lt_experience] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:enchanted_book"}} run function gm4_standard_liquids:item_drain/enchanted_book -execute if entity @s[tag=gm4_lt_experience] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:paper",components:{"minecraft:custom_data":{gm4_book_binders:{item:"enchanted_page"}}}}} run function gm4_standard_liquids:item_drain/enchanted_page - -#honey -execute if entity @s[tag=gm4_lt_honey] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:honey_bottle"}} run function gm4_standard_liquids:item_drain/bottle -execute if entity @s[tag=gm4_lt_honey] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:honey_block"}} run function gm4_standard_liquids:item_drain/honey_block - -#powder snow -execute if entity @s[tag=gm4_lt_powder_snow] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:powder_snow_bucket"}} run function gm4_standard_liquids:item_drain/bucket - -#ink -execute if entity @s[tag=gm4_lt_ink] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:ink_sac"}} run function gm4_standard_liquids:item_drain/ink_sac -execute if entity @s[tag=gm4_lt_ink] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:custom_data":{gm4_standard_liquids:{potion:"blindness"}}}}} run function gm4_standard_liquids:item_drain/bottle - -#glow ink -execute if entity @s[tag=gm4_lt_glow_ink] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glow_ink_sac"}} run function gm4_standard_liquids:item_drain/ink_sac -execute if entity @s[tag=gm4_lt_glow_ink] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:custom_data":{gm4_standard_liquids:{potion:"glowing"}}}}} run function gm4_standard_liquids:item_drain/bottle diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/beetroot.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/beetroot.mcfunction deleted file mode 100644 index e0ebf8e3c1..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/beetroot.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"air"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/bottle.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/bottle.mcfunction deleted file mode 100644 index 1c893fe96e..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/bottle.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -# run from gm4_standard_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"glass_bottle"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain - diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/bowl.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/bowl.mcfunction deleted file mode 100644 index f460f24b46..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/bowl.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"bowl"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/bucket.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/bucket.mcfunction deleted file mode 100644 index 63e230cd32..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/bucket.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 3 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"bucket"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/enchanted_book.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/enchanted_book.mcfunction deleted file mode 100644 index c841460e7d..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/enchanted_book.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 7 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"book"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/enchanted_page.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/enchanted_page.mcfunction deleted file mode 100644 index 2fd2b5def5..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/enchanted_page.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 5 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"paper"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/experience_bottle.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/experience_bottle.mcfunction deleted file mode 100644 index 9a2ae56114..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/experience_bottle.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 9 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"glass_bottle"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/honey_block.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/honey_block.mcfunction deleted file mode 100644 index 1f37c8a6c8..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/honey_block.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 4 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"air"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/ink_sac.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/ink_sac.mcfunction deleted file mode 100644 index e0ebf8e3c1..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_drain/ink_sac.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"air"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill.mcfunction deleted file mode 100644 index e2b258cef6..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill.mcfunction +++ /dev/null @@ -1,23 +0,0 @@ -#@s = liquid tank with item in first slot -#run from liquid_tanks:item_process - -#buckets -execute if entity @s[tag=gm4_lt_water] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:bucket"}} run function gm4_standard_liquids:item_fill/water_bucket -execute if entity @s[tag=gm4_lt_lava] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:bucket"}} run function gm4_standard_liquids:item_fill/lava_bucket -execute if entity @s[tag=gm4_lt_milk] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:bucket"}} run function gm4_standard_liquids:item_fill/milk_bucket -execute if entity @s[tag=gm4_lt_powder_snow] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:bucket"}} run function gm4_standard_liquids:item_fill/powder_snow_bucket - -#bottles -execute if entity @s[tag=gm4_lt_water] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_standard_liquids:item_fill/water_bottle -execute if entity @s[tag=gm4_lt_experience] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_standard_liquids:item_fill/experience_bottle -execute if entity @s[tag=gm4_lt_honey] if score $stack_size gm4_lt_value matches ..16 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_standard_liquids:item_fill/honey_bottle -execute if entity @s[tag=gm4_lt_ink] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_standard_liquids:item_fill/ink_bottle -execute if entity @s[tag=gm4_lt_glow_ink] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_standard_liquids:item_fill/glow_ink_bottle - -#bowls -execute if entity @s[tag=gm4_lt_mushroom_stew] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:bowl"}} run function gm4_standard_liquids:item_fill/mushroom_stew -execute if entity @s[tag=gm4_lt_rabbit_stew] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:bowl"}} run function gm4_standard_liquids:item_fill/rabbit_stew -execute if entity @s[tag=gm4_lt_beetroot_soup] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:bowl"}} run function gm4_standard_liquids:item_fill/beetroot_soup - -#item frame -execute if entity @s[tag=gm4_lt_glow_ink] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:item_frame"}} run function gm4_standard_liquids:item_fill/glow_item_frame diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/beetroot_soup.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/beetroot_soup.mcfunction deleted file mode 100644 index 65ade0d437..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/beetroot_soup.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"beetroot_soup"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/experience_bottle.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/experience_bottle.mcfunction deleted file mode 100644 index b90d5227b9..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/experience_bottle.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -9 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"experience_bottle"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill - -execute if score $smart_success gm4_lt_value matches 1 run advancement grant @a[distance=..4,gamemode=!spectator] only gm4:standard_liquids diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_ink_bottle.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_ink_bottle.mcfunction deleted file mode 100644 index f6b74571c4..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_ink_bottle.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -loot replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand loot gm4_standard_liquids:glow_ink_bottle -data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] HandItems[0] -item replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand with air -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_item_frame.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_item_frame.mcfunction deleted file mode 100644 index a5bf654abd..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_item_frame.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"glow_item_frame"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/honey_bottle.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/honey_bottle.mcfunction deleted file mode 100644 index ebeddc6d71..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/honey_bottle.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"honey_bottle"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/ink_bottle.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/ink_bottle.mcfunction deleted file mode 100644 index ea23e4aaca..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/ink_bottle.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -loot replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand loot gm4_standard_liquids:ink_bottle -data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] HandItems[0] -item replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand with air -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/lava_bucket.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/lava_bucket.mcfunction deleted file mode 100644 index 5f2b34d94b..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/lava_bucket.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -3 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"lava_bucket"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/milk_bucket.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/milk_bucket.mcfunction deleted file mode 100644 index e15ab15d8e..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/milk_bucket.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -3 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"milk_bucket"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/mushroom_stew.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/mushroom_stew.mcfunction deleted file mode 100644 index fd456515c6..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/mushroom_stew.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"mushroom_stew"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/powder_snow_bucket.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/powder_snow_bucket.mcfunction deleted file mode 100644 index 7180be3b72..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/powder_snow_bucket.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -3 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"powder_snow_bucket"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/rabbit_stew.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/rabbit_stew.mcfunction deleted file mode 100644 index 3e6fd9dbab..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/rabbit_stew.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"rabbit_stew"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/water_bottle.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/water_bottle.mcfunction deleted file mode 100644 index dd8ff5c751..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/water_bottle.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:water"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/water_bucket.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/water_bucket.mcfunction deleted file mode 100644 index f08c44825c..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/water_bucket.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_standard_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -3 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"water_bucket"}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/level_report/experience.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/level_report/experience.mcfunction index 8d06efdd6d..5d4a342b6d 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/level_report/experience.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/level_report/experience.mcfunction @@ -5,40 +5,17 @@ scoreboard players operation gm4_lt_report_calc gm4_lt_value = @e[type=marker,tag=gm4_liquid_tank,distance=..0.1,limit=1] gm4_lt_value #values hardcoded -execute if score gm4_lt_report_calc gm4_lt_value matches 0..6 run title @s actionbar [{"text":"0 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 7..15 run title @s actionbar [{"text":"1 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 16..26 run title @s actionbar [{"text":"2 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 27..39 run title @s actionbar [{"text":"3 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 40..54 run title @s actionbar [{"text":"4 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 55..71 run title @s actionbar [{"text":"5 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 72..90 run title @s actionbar [{"text":"6 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 91..111 run title @s actionbar [{"text":"7 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 112..134 run title @s actionbar [{"text":"8 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 135..159 run title @s actionbar [{"text":"9 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 160..186 run title @s actionbar [{"text":"10 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] - -execute if score gm4_lt_report_calc gm4_lt_value matches 187..215 run title @s actionbar [{"text":"11 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 216..246 run title @s actionbar [{"text":"12 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 247..279 run title @s actionbar [{"text":"13 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 280..314 run title @s actionbar [{"text":"14 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 315..351 run title @s actionbar [{"text":"15 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 352..393 run title @s actionbar [{"text":"16 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 394..440 run title @s actionbar [{"text":"17 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 441..492 run title @s actionbar [{"text":"18 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 493..549 run title @s actionbar [{"text":"19 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 550..611 run title @s actionbar [{"text":"20 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] - -execute if score gm4_lt_report_calc gm4_lt_value matches 612..678 run title @s actionbar [{"text":"21 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 679..750 run title @s actionbar [{"text":"22 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 751..827 run title @s actionbar [{"text":"23 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 828..909 run title @s actionbar [{"text":"24 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 910..996 run title @s actionbar [{"text":"25 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 997..1088 run title @s actionbar [{"text":"26 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 1089..1185 run title @s actionbar [{"text":"27 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 1186..1287 run title @s actionbar [{"text":"28 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 1288..1394 run title @s actionbar [{"text":"29 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] -execute if score gm4_lt_report_calc gm4_lt_value matches 1395.. run title @s actionbar [{"text":"30 / 30 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] - +# 0-15 formula +prior_points = 0 +for lvl in range(1,52): + if lvl <= 16: + current_points = lvl**2 + 6*lvl + elif lvl <= 31: + current_points = 2.5*lvl**2 - 40.5*lvl + 360 + else: + current_points = 4.5*lvl**2 - 162.5*lvl + 2220 + execute if score gm4_lt_report_calc gm4_lt_value matches (int(prior_points), int(current_points-1)) run title @s actionbar [{"text":f"{lvl-1} / 50 ","color":"dark_green"},{"translate":"text.gm4.liquid_tanks.level_report.levels","fallback":"Levels","color":"dark_green"}] + prior_points = current_points scoreboard players reset gm4_lt_report_calc gm4_lt_value tag @s add gm4_lt_found_tank diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/level_report_check.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/level_report_check.mcfunction index d1934ade9b..bd4214705d 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/level_report_check.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/level_report_check.mcfunction @@ -10,8 +10,8 @@ execute if score @e[type=marker,tag=gm4_liquid_tank,distance=..0.1,limit=1] gm4_ #actual max of 400 execute if score @e[type=marker,tag=gm4_liquid_tank,distance=..0.1,limit=1] gm4_lt_max matches 400 run function gm4_standard_liquids:level_report/400 -#max 1395 (xp) -execute if score @e[type=marker,tag=gm4_liquid_tank,distance=..0.1,limit=1] gm4_lt_max matches 1395 run function gm4_standard_liquids:level_report/experience +#max 5345 (xp) +execute if score @e[type=marker,tag=gm4_liquid_tank,distance=..0.1,limit=1] gm4_lt_max matches 5345 run function gm4_standard_liquids:level_report/experience #linking of util tanks to adjacent blocks diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/beetroot_soup.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/beetroot_soup.mcfunction deleted file mode 100644 index 91fbbde3db..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/beetroot_soup.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.beetroot_soup","fallback":"Beetroot Soup Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.beetroot_soup","fallback":"Beetroot Soup Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/beetroot_soup"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_beetroot_soup" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_beetroot_soup -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/experience.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/experience.mcfunction deleted file mode 100644 index efe5eedb87..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/experience.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.experience","fallback":"Experience Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.experience","fallback":"Experience Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/experience"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_experience" -scoreboard players set @s gm4_lt_max 1395 -tag @s add gm4_lt_experience -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/glow_ink.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/glow_ink.mcfunction deleted file mode 100644 index 64bd4ea259..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/glow_ink.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.glow_ink","fallback":"Glow Ink Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.glow_ink","fallback":"Glow Ink Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/glow_ink"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_glow_ink" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_glow_ink -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/honey.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/honey.mcfunction deleted file mode 100644 index 75244f51c0..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/honey.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.honey","fallback":"Honey Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.honey","fallback":"Honey Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/honey"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_honey" -scoreboard players set @s gm4_lt_max 400 -tag @s add gm4_lt_honey -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/ink.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/ink.mcfunction deleted file mode 100644 index 5dd68069b9..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/ink.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.ink","fallback":"Ink Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.ink","fallback":"Ink Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/ink"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_ink" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_ink -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/lava.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/lava.mcfunction deleted file mode 100644 index 4e2d57d8ec..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/lava.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.lava","fallback":"Lava Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.lava","fallback":"Lava Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/lava"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_lava" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_lava -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/milk.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/milk.mcfunction deleted file mode 100644 index 763f0fe494..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/milk.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.milk","fallback":"Milk Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.milk","fallback":"Milk Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/milk"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_milk" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_milk -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/mushroom_stew.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/mushroom_stew.mcfunction deleted file mode 100644 index fa63244692..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/mushroom_stew.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.mushroom_stew","fallback":"Mushroom Stew Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.mushroom_stew","fallback":"Mushroom Stew Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/mushroom_stew"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_mushroom_stew" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_mushroom_stew -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/powder_snow.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/powder_snow.mcfunction deleted file mode 100644 index 1375c05161..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/powder_snow.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.powder_snow","fallback":"Powder Snow Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.powder_snow","fallback":"Powder Snow Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/powder_snow"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_powder_snow" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_powder_snow -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/rabbit_stew.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/rabbit_stew.mcfunction deleted file mode 100644 index 0da5044a69..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/rabbit_stew.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.rabbit_stew","fallback":"Rabbit Stew Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.rabbit_stew","fallback":"Rabbit Stew Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/rabbit_stew"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_rabbit_stew" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_rabbit_stew -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/water.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/water.mcfunction deleted file mode 100644 index a0c8e64cca..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/water.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.water","fallback":"Water Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.water","fallback":"Water Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/water"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_water" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_water -tag @s remove gm4_lt_empty diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/remove_liquid_tags.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/remove_liquid_tags.mcfunction deleted file mode 100644 index 3f835f0154..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/remove_liquid_tags.mcfunction +++ /dev/null @@ -1,14 +0,0 @@ -#@s = liquid tank stand -# removes all liquid tags from the stand. Used for emptying tank and reassigning liquid type - -tag @s remove gm4_lt_beetroot_soup -tag @s remove gm4_lt_experience -tag @s remove gm4_lt_lava -tag @s remove gm4_lt_milk -tag @s remove gm4_lt_mushroom_stew -tag @s remove gm4_lt_rabbit_stew -tag @s remove gm4_lt_water -tag @s remove gm4_lt_honey -tag @s remove gm4_lt_powder_snow -tag @s remove gm4_lt_ink -tag @s remove gm4_lt_glow_ink diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/tank_init.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/tank_init.mcfunction deleted file mode 100644 index 64f90d70b7..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/tank_init.mcfunction +++ /dev/null @@ -1,42 +0,0 @@ -#@s = empty liquid tank with item in first slot or entity on top -#run from liquid_tanks:item_process - -#water -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:water_bucket"}} run function gm4_standard_liquids:liquid_init/water -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:water"}}}} run function gm4_standard_liquids:liquid_init/water - -#lava -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:lava_bucket"}} run function gm4_standard_liquids:liquid_init/lava - -#milk -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:milk_bucket"}} run function gm4_standard_liquids:liquid_init/milk - -#mushroom stew -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:mushroom_stew"}} run function gm4_standard_liquids:liquid_init/mushroom_stew - -#rabbit stew -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:rabbit_stew"}} run function gm4_standard_liquids:liquid_init/rabbit_stew - -#beetroot soup -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:beetroot_soup"}} run function gm4_standard_liquids:liquid_init/beetroot_soup -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:beetroot"}} run function gm4_standard_liquids:liquid_init/beetroot_soup - -#experience -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:experience_bottle"}} run function gm4_standard_liquids:liquid_init/experience -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:enchanted_book"}} run function gm4_standard_liquids:liquid_init/experience - -#honey -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:honey_bottle"}} run function gm4_standard_liquids:liquid_init/honey -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:honey_block"}} run function gm4_standard_liquids:liquid_init/honey - -#powder snow -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:powder_snow_bucket"}} run function gm4_standard_liquids:liquid_init/powder_snow - -#ink -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:ink_sac"}} run function gm4_standard_liquids:liquid_init/ink -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:custom_data":{gm4_standard_liquids:{potion:"blindness"}}}}} run function gm4_standard_liquids:liquid_init/ink - - -#glow ink -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glow_ink_sac"}} run function gm4_standard_liquids:liquid_init/glow_ink -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:custom_data":{gm4_standard_liquids:{potion:"glowing"}}}}} run function gm4_standard_liquids:liquid_init/glow_ink diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/deposit_experience.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/deposit_experience.mcfunction deleted file mode 100644 index 171d9f86af..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/deposit_experience.mcfunction +++ /dev/null @@ -1,16 +0,0 @@ -#@s = player above experience tank at center of tank -#run from standard_liquids:tick - -#dumps experience from player into tank -execute store result score @s gm4_lt_util run experience query @s points -execute if score @s gm4_lt_util matches 0 if entity @s[level=1..] run scoreboard players set @s gm4_lt_util 5 - -execute if score @s gm4_lt_util matches 4.. if score @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value matches ..1390 run experience add @s -4 points -execute if score @s gm4_lt_util matches 4.. if score @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value matches ..1390 run scoreboard players add @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value 4 - -execute if score @s gm4_lt_util matches 1.. run experience add @s -1 points -execute if score @s gm4_lt_util matches 1.. run scoreboard players add @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value 1 - -function #gm4_liquid_tanks:level_report_check - -execute as @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] unless score @s gm4_lt_prior_val = @s gm4_lt_value run function gm4_liquid_tanks:liquid_value_update diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/deposit_levels.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/deposit_levels.mcfunction new file mode 100644 index 0000000000..fea22791a6 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/deposit_levels.mcfunction @@ -0,0 +1,8 @@ +#@s = player above experience tank at center of tank +#run from standard_liquids:util/experience/scheduled_deposit + +execute unless score @s gm4_lt_util matches 0.. run scoreboard players set @s gm4_lt_util 16 + +scoreboard players remove @s gm4_lt_util 1 + +execute if score @s gm4_lt_util matches ..0 run function gm4_standard_liquids:util/experience/deposit_one_level diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/deposit_one_level.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/deposit_one_level.mcfunction new file mode 100644 index 0000000000..7159a2ed74 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/deposit_one_level.mcfunction @@ -0,0 +1,44 @@ +#@s = player above experience tank at center of tank +#run from standard_liquids:util/experience/deposit_levels + +# calculate points to remove one level +execute store result score $points gm4_lt_util run experience query @s points +execute store result score $levels gm4_lt_util run experience query @s levels + +scoreboard players set #2 gm4_lt_util 2 +scoreboard players set #5 gm4_lt_util 5 +scoreboard players set #9 gm4_lt_util 9 + +scoreboard players operation $level_calc gm4_lt_util = $levels gm4_lt_util +execute unless score $levels gm4_lt_util matches 0 run scoreboard players remove $level_calc gm4_lt_util 1 +execute if score $points gm4_lt_util matches 1.. run scoreboard players operation $level_calc gm4_lt_util = $points gm4_lt_util +execute if score $points gm4_lt_util matches 0 if score $levels gm4_lt_util matches 1..15 run scoreboard players operation $level_calc gm4_lt_util *= #2 gm4_lt_util +execute if score $points gm4_lt_util matches 0 if score $levels gm4_lt_util matches 1..15 run scoreboard players add $level_calc gm4_lt_util 7 +execute if score $points gm4_lt_util matches 0 if score $levels gm4_lt_util matches 16..30 run scoreboard players operation $level_calc gm4_lt_util *= #5 gm4_lt_util +execute if score $points gm4_lt_util matches 0 if score $levels gm4_lt_util matches 16..30 run scoreboard players remove $level_calc gm4_lt_util 38 +execute if score $points gm4_lt_util matches 0 if score $levels gm4_lt_util matches 31.. run scoreboard players operation $level_calc gm4_lt_util *= #9 gm4_lt_util +execute if score $points gm4_lt_util matches 0 if score $levels gm4_lt_util matches 31.. run scoreboard players remove $level_calc gm4_lt_util 158 + +# decrease points to whatever will fit into the tank +scoreboard players set $overflow_calc gm4_lt_util 5345 +scoreboard players operation $overflow_calc gm4_lt_util -= @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value +scoreboard players operation $level_calc gm4_lt_util < $overflow_calc gm4_lt_util + +# add points to tank and remove from player +scoreboard players operation @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value += $level_calc gm4_lt_util +scoreboard players set #-1 gm4_lt_util -1 +scoreboard players operation $level_calc gm4_lt_util *= #-1 gm4_lt_util +execute store result storage gm4_liquid_tanks:temp exp.points int 1.0 run scoreboard players get $level_calc gm4_lt_util +function gm4_standard_liquids:util/experience/macro_experience with storage gm4_liquid_tanks:temp exp +execute as @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] unless score @s gm4_lt_prior_val = @s gm4_lt_value run function gm4_liquid_tanks:liquid_value_update + +# vfx +execute unless score $level_calc gm4_lt_util matches 0 playsound minecraft:entity.experience_orb.pickup block @s +function #gm4_liquid_tanks:level_report_check + +# reset accelerating clock +scoreboard players add @s gm4_lt_value 1 +execute if score @s gm4_lt_value matches 1..4 run scoreboard players set @s gm4_lt_util 16 +execute if score @s gm4_lt_value matches 5..10 run scoreboard players set @s gm4_lt_util 12 +execute if score @s gm4_lt_value matches 11..18 run scoreboard players set @s gm4_lt_util 8 +execute if score @s gm4_lt_value matches 19.. run scoreboard players set @s gm4_lt_util 4 diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/deposit_points.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/deposit_points.mcfunction new file mode 100644 index 0000000000..a96acfdbdf --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/deposit_points.mcfunction @@ -0,0 +1,16 @@ +#@s = player above experience tank at center of tank +#run from standard_liquids:tick + +#dumps 5 (or 1) points of experience from player into tank +execute store result score $available_points gm4_lt_util run experience query @s points +execute if score $available_points gm4_lt_util matches 0 if entity @s[level=1..] run scoreboard players set $available_points gm4_lt_util 5 + +execute if score $available_points gm4_lt_util matches 4.. if score @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value matches ..5340 run experience add @s -4 points +execute if score $available_points gm4_lt_util matches 4.. if score @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value matches ..5340 run scoreboard players add @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value 4 + +execute if score $available_points gm4_lt_util matches 1.. run experience add @s -1 points +execute if score $available_points gm4_lt_util matches 1.. run scoreboard players add @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value 1 + +function #gm4_liquid_tanks:level_report_check + +execute as @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] unless score @s gm4_lt_prior_val = @s gm4_lt_value run function gm4_liquid_tanks:liquid_value_update diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/macro_experience.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/macro_experience.mcfunction new file mode 100644 index 0000000000..35ad5ee282 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/macro_experience.mcfunction @@ -0,0 +1,2 @@ +# macro-function to add/remove a dynamic number of experience points +$experience add @s $(points) points diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/scheduled_deposit.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/scheduled_deposit.mcfunction new file mode 100644 index 0000000000..30ce6e97d4 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/scheduled_deposit.mcfunction @@ -0,0 +1,16 @@ +# scheduled from standard_liquids:util_above + +# initialize empty tanks +execute as @a[gamemode=!spectator,level=1..] at @s if block ~ ~-0.4 ~ hopper[enabled=true] positioned ~ ~-0.4 ~ align xyz positioned ~0.5 ~0.5 ~0.5 as @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5,tag=gm4_lt_empty] run function gm4_standard_liquids:liquid_init/experience + +# non-sneaking deposits points +execute as @a[gamemode=!spectator,predicate=!gm4_standard_liquids:sneaking] at @s if block ~ ~-0.4 ~ hopper[enabled=true] positioned ~ ~-0.4 ~ align xyz positioned ~0.5 ~0.5 ~0.5 if score @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5,tag=gm4_lt_experience] gm4_lt_value matches ..5344 run function gm4_standard_liquids:util/experience/deposit_points + +# sneaking deposits levels +scoreboard players reset @a[gamemode=!spectator,predicate=!gm4_standard_liquids:sneaking] gm4_lt_value +scoreboard players reset @a[gamemode=!spectator,predicate=!gm4_standard_liquids:sneaking] gm4_lt_util +execute as @a[gamemode=!spectator,predicate=gm4_standard_liquids:sneaking] at @s if block ~ ~-0.4 ~ hopper[enabled=true] positioned ~ ~-0.4 ~ align xyz positioned ~0.5 ~0.5 ~0.5 if score @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5,tag=gm4_lt_experience] gm4_lt_value matches ..5344 run function gm4_standard_liquids:util/experience/deposit_levels + + +scoreboard players set $schedule_deposit_exp gm4_lt_util 2 +schedule function gm4_standard_liquids:util/experience/scheduled_deposit 1t diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/scheduled_withdraw.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/scheduled_withdraw.mcfunction new file mode 100644 index 0000000000..f469457228 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/scheduled_withdraw.mcfunction @@ -0,0 +1,12 @@ +# scheduled from standard_liquids:util_below + +# non-sneaking retrieves points +execute as @e[type=marker,tag=gm4_liquid_tank,tag=gm4_lt_experience] at @s if block ~ ~ ~ hopper[enabled=true] positioned ~ ~-2.5 ~ if entity @a[distance=..0.5,gamemode=!spectator,predicate=!gm4_standard_liquids:sneaking] if score @s gm4_lt_value matches 1.. run function gm4_standard_liquids:util/experience/withdraw_points + +# sneaking retrieves levels +scoreboard players reset @a[gamemode=!spectator,predicate=!gm4_standard_liquids:sneaking] gm4_lt_value +scoreboard players reset @a[gamemode=!spectator,predicate=!gm4_standard_liquids:sneaking] gm4_lt_util +execute as @e[type=marker,tag=gm4_liquid_tank,tag=gm4_lt_experience] at @s if block ~ ~ ~ hopper[enabled=true] positioned ~ ~-2.5 ~ if score @s gm4_lt_value matches 1.. as @a[distance=..0.5,gamemode=!spectator,predicate=gm4_standard_liquids:sneaking,limit=1] positioned ~ ~2.5 ~ run function gm4_standard_liquids:util/experience/withdraw_levels + +scoreboard players set $schedule_withdraw_exp gm4_lt_util 2 +schedule function gm4_standard_liquids:util/experience/scheduled_withdraw 1t diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/withdraw_levels.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/withdraw_levels.mcfunction new file mode 100644 index 0000000000..b4ac5a8d53 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/withdraw_levels.mcfunction @@ -0,0 +1,8 @@ +#@s = player below experience tank at center of tank +#run from standard_liquids:util/experience/scheduled_withdraw + +execute unless score @s gm4_lt_util matches 0.. run scoreboard players set @s gm4_lt_util 16 + +scoreboard players remove @s gm4_lt_util 1 + +execute if score @s gm4_lt_util matches ..0 run function gm4_standard_liquids:util/experience/withdraw_one_level diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/withdraw_one_level.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/withdraw_one_level.mcfunction new file mode 100644 index 0000000000..7348d752c9 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/withdraw_one_level.mcfunction @@ -0,0 +1,46 @@ +#@s = player below experience tank at center of tank +#run from standard_liquids:util/experience/deposit_levels + +# calculate points to add one level +execute store result score $points gm4_lt_util run experience query @s points +execute store result score $levels gm4_lt_util run experience query @s levels + +scoreboard players set #2 gm4_lt_util 2 +scoreboard players set #5 gm4_lt_util 5 +scoreboard players set #9 gm4_lt_util 9 + +scoreboard players operation $level_calc gm4_lt_util = $levels gm4_lt_util +execute if score $levels gm4_lt_util matches 0..15 run scoreboard players operation $level_calc gm4_lt_util *= #2 gm4_lt_util +execute if score $levels gm4_lt_util matches 0..15 run scoreboard players add $level_calc gm4_lt_util 7 +execute if score $levels gm4_lt_util matches 16..30 run scoreboard players operation $level_calc gm4_lt_util *= #5 gm4_lt_util +execute if score $levels gm4_lt_util matches 16..30 run scoreboard players remove $level_calc gm4_lt_util 38 +execute if score $levels gm4_lt_util matches 31.. run scoreboard players operation $level_calc gm4_lt_util *= #9 gm4_lt_util +execute if score $levels gm4_lt_util matches 31.. run scoreboard players remove $level_calc gm4_lt_util 158 +scoreboard players operation $level_calc gm4_lt_util -= $points gm4_lt_util + +# decrease points to not take more than tank has +scoreboard players operation $level_calc gm4_lt_util < @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value + +# remove points from tank and add to player +scoreboard players operation @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] gm4_lt_value -= $level_calc gm4_lt_util +execute store result storage gm4_liquid_tanks:temp exp.points int 1.0 run scoreboard players get $level_calc gm4_lt_util +function gm4_standard_liquids:util/experience/macro_experience with storage gm4_liquid_tanks:temp exp +execute as @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5] unless score @s gm4_lt_prior_val = @s gm4_lt_value run function gm4_liquid_tanks:liquid_value_update + +# vfx +execute unless score $level_calc gm4_lt_util matches 0 playsound minecraft:entity.experience_orb.pickup block @s +from itertools import product, count +c = count(0) +for offset in product([0, -0.05, 0.05], repeat=2): + if 0 not in offset: + continue + dx, dz = offset + execute unless score $level_calc gm4_lt_util matches 0 run summon experience_orb ~dx ~-0.6 ~dz {Age:(5994-next(c)),Value:0} +function #gm4_liquid_tanks:level_report_check + +# reset accelerating clock +scoreboard players add @s gm4_lt_value 1 +execute if score @s gm4_lt_value matches 1..4 run scoreboard players set @s gm4_lt_util 16 +execute if score @s gm4_lt_value matches 5..10 run scoreboard players set @s gm4_lt_util 12 +execute if score @s gm4_lt_value matches 11..18 run scoreboard players set @s gm4_lt_util 8 +execute if score @s gm4_lt_value matches 19.. run scoreboard players set @s gm4_lt_util 4 diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/withdraw_experience.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/withdraw_points.mcfunction similarity index 65% rename from gm4_liquid_tanks/data/gm4_standard_liquids/function/util/withdraw_experience.mcfunction rename to gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/withdraw_points.mcfunction index 08adde3543..31c446b48f 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/withdraw_experience.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/experience/withdraw_points.mcfunction @@ -1,14 +1,14 @@ -#@s = tank with player below it positioned ~ ~-2 ~ +#@s = tank with player below it positioned ~ ~-2.5 ~ #run from standard_liquids:tick -execute if score @s gm4_lt_value matches 4.. run experience add @a[distance=..0.5,limit=1,gamemode=!spectator] 4 +execute if score @s gm4_lt_value matches 4.. run experience add @a[distance=..0.5,limit=1,gamemode=!spectator,predicate=!gm4_standard_liquids:sneaking] 4 execute if score @s gm4_lt_value matches 4.. run scoreboard players remove @s gm4_lt_value 4 -execute if score @s gm4_lt_value matches 1.. run experience add @a[distance=..0.5,limit=1,gamemode=!spectator] 1 +execute if score @s gm4_lt_value matches 1.. run experience add @a[distance=..0.5,limit=1,gamemode=!spectator,predicate=!gm4_standard_liquids:sneaking] 1 execute if score @s gm4_lt_value matches 1.. run scoreboard players remove @s gm4_lt_value 1 execute if score @s gm4_lt_value matches 1.. run summon experience_orb ~ ~1.8 ~ {Age:5995,Value:0} -execute as @a[distance=..0.5,limit=1,gamemode=!spectator] positioned ~ ~2 ~ run function #gm4_liquid_tanks:level_report_check +execute as @a[distance=..0.5,limit=1,gamemode=!spectator] positioned ~ ~2.5 ~ align xyz positioned ~0.5 ~0.5 ~0.5 run function #gm4_liquid_tanks:level_report_check execute unless score @s gm4_lt_prior_val = @s gm4_lt_value run function gm4_liquid_tanks:liquid_value_update diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_cauldron.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_cauldron.mcfunction index cc6fb4a98b..c51a91aafe 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_cauldron.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_cauldron.mcfunction @@ -2,7 +2,20 @@ #run from standard_liquids:util_above execute if score @s gm4_lt_util matches 4.. run scoreboard players remove @s gm4_lt_value 4 -execute if score @s gm4_lt_util matches 4.. run summon armor_stand ~0.5 ~ ~0.5 {Marker:1b,Invisible:1b,Invulnerable:1b,NoGravity:1b,Silent:1b,Fire:4000s,Tags:["gm4_lt_honey_display","gm4_no_edit"],CustomName:'"gm4_lt_honey_display"',Pose:{Head:[180.0f,0.0f,0.0f]},ArmorItems:[{},{},{},{id:"minecraft:honey_block",count:1,components:{"minecraft:custom_model_data":"block/cast_honey_block"}}],DisabledSlots:4144959} +execute if score @s gm4_lt_util matches 4.. run summon item_display ~0.5 ~ ~0.5 : + Tags:["gm4_lt_honey_display","gm4_no_edit"] + CustomName:'"gm4_lt_honey_display"' + item: + id: "minecraft:honey_block" + count: 1 + components: {"minecraft:custom_model_data":"block/cast_honey_block"} + transformation: + left_rotation: [0,0,0,1] + right_rotation: [0,0,0,1] + scale: [0.9,0.01,0.9] + translation: [0.0,0.2,0.0] + teleport_duration: 4 + execute if score @s gm4_lt_util matches 4.. run playsound block.honey_block.slide block @a[distance=..10] ~ ~ ~ 1 0.5 execute if score @s gm4_lt_util matches 4.. run scoreboard players remove @s gm4_lt_util 4 diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_rise.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_rise.mcfunction index 69c3956258..e6abe69947 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_rise.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_rise.mcfunction @@ -1,9 +1,9 @@ #@s = gm4_honey_display #run from standard_liquids:util/honey_casting/scheduled_honey_rise -teleport @s ~ ~0.0375 ~ scoreboard players add @s gm4_lt_util 1 +execute if score @s gm4_lt_util matches ..12 run teleport @s ~ ~0.060 ~ -execute unless block ~ ~1.2 ~ #minecraft:cauldrons run kill @s +execute unless block ~ ~ ~ #minecraft:cauldrons run kill @s execute if score @s gm4_lt_util matches 16.. run function gm4_standard_liquids:util/honey_casting/honey_stop diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_stop.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_stop.mcfunction index 29dfe44f6b..cc25cd7ce1 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_stop.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_stop.mcfunction @@ -1,8 +1,8 @@ #@s = gm4_lt_honey_display #run from standard_liquids:util/honey_casting/honey_rise -summon item ~ ~1 ~ {Item:{id:"honey_block",count:1}} +summon item ~ ~ ~ {Item:{id:"honey_block",count:1}} playsound block.honey_block.place block @a[distance=..10] kill @s -execute unless entity @e[type=armor_stand,tag=gm4_lt_honey_display,limit=1] run schedule clear gm4_standard_liquids:util/honey_casting/honey_rise +execute unless entity @e[type=item_display,tag=gm4_lt_honey_display,limit=1] run schedule clear gm4_standard_liquids:util/honey_casting/honey_rise diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_tank.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_tank.mcfunction index 0dba2d3226..1fabce01a1 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_tank.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_tank.mcfunction @@ -3,4 +3,4 @@ execute at @e[type=area_effect_cloud,tag=gm4_lt_util_block,tag=gm4_ltu_cauldron,dx=0] run scoreboard players add @s gm4_lt_util 4 scoreboard players operation @s gm4_lt_util < @s gm4_lt_value -execute at @e[type=area_effect_cloud,tag=gm4_lt_util_block,tag=gm4_ltu_cauldron,dx=0,limit=4] positioned ^ ^-1 ^1 if block ~ ~ ~ minecraft:cauldron align xz positioned ~ ~-1.1 ~ unless entity @e[type=armor_stand,tag=gm4_lt_honey_display,dx=0] run function gm4_standard_liquids:util/honey_casting/honey_cauldron +execute at @e[type=area_effect_cloud,tag=gm4_lt_util_block,tag=gm4_ltu_cauldron,dx=0,limit=4] positioned ^ ^-1 ^1 if block ~ ~ ~ minecraft:cauldron align xz unless entity @e[type=item_display,tag=gm4_lt_honey_display,dx=0] run function gm4_standard_liquids:util/honey_casting/honey_cauldron diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/scheduled_honey_rise.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/scheduled_honey_rise.mcfunction index 70dcad5a36..fcd266a3aa 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/scheduled_honey_rise.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/scheduled_honey_rise.mcfunction @@ -1,6 +1,6 @@ #@s = server #scheduled from standard_liquids:util/honey_casting/honey_cauldron and self -execute as @e[type=armor_stand,tag=gm4_lt_honey_display] at @s run function gm4_standard_liquids:util/honey_casting/honey_rise +execute as @e[type=item_display,tag=gm4_lt_honey_display] at @s run function gm4_standard_liquids:util/honey_casting/honey_rise schedule function gm4_standard_liquids:util/honey_casting/scheduled_honey_rise 4t diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/scheduled_deposit_exp.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/scheduled_deposit_exp.mcfunction deleted file mode 100644 index 2b55498ff2..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/scheduled_deposit_exp.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# scheduled from standard_liquids:util_above - -execute as @a[gamemode=!spectator,level=1..] at @s if block ~ ~-0.4 ~ hopper[enabled=true] positioned ~ ~-0.4 ~ align xyz positioned ~0.5 ~0.5 ~0.5 as @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5,tag=gm4_lt_empty] run function gm4_standard_liquids:liquid_init/experience -execute as @a[gamemode=!spectator] at @s if block ~ ~-0.4 ~ hopper[enabled=true] positioned ~ ~-0.4 ~ align xyz positioned ~0.5 ~0.5 ~0.5 if score @e[type=marker,tag=gm4_liquid_tank,limit=1,distance=..0.5,tag=gm4_lt_experience] gm4_lt_value matches ..1394 run function gm4_standard_liquids:util/deposit_experience -scoreboard players set $schedule_deposit_exp gm4_lt_util 2 - -schedule function gm4_standard_liquids:util/scheduled_deposit_exp 1t diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/scheduled_withdraw_exp.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/scheduled_withdraw_exp.mcfunction deleted file mode 100644 index d920f9f506..0000000000 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/scheduled_withdraw_exp.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -# scheduled from standard_liquids:util_below - -execute as @e[type=marker,tag=gm4_liquid_tank,tag=gm4_lt_experience] at @s if block ~ ~ ~ hopper[enabled=true] positioned ~ ~-2.5 ~ if entity @a[distance=..0.5,gamemode=!spectator] if score @s gm4_lt_value matches 1.. run function gm4_standard_liquids:util/withdraw_experience -scoreboard players set $schedule_withdraw_exp gm4_lt_util 2 - -schedule function gm4_standard_liquids:util/scheduled_withdraw_exp 1t diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util_above.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util_above.mcfunction index f7cda9b8ef..d0b307a164 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util_above.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util_above.mcfunction @@ -18,12 +18,12 @@ execute as @e[dx=0,type=glow_squid,tag=!smithed.entity] run function gm4_standar #experience orb execute positioned ~0.5 ~ ~0.5 if entity @e[distance=..0.5,type=experience_orb] if score @s[tag=gm4_lt_empty] gm4_lt_value matches 0 at @s run function gm4_standard_liquids:liquid_init/experience -execute positioned ~0.5 ~ ~0.5 if score @s[tag=gm4_lt_experience] gm4_lt_value matches ..1394 as @e[distance=..0.5,type=experience_orb] run function gm4_standard_liquids:util/experience_orb +execute positioned ~0.5 ~ ~0.5 if score @s[tag=gm4_lt_experience] gm4_lt_value matches ..5344 as @e[distance=..0.5,type=experience_orb] run function gm4_standard_liquids:util/experience_orb #player depositing experience -execute if score $schedule_deposit_exp gm4_lt_util matches 2.. run schedule clear gm4_standard_liquids:util/scheduled_deposit_exp +execute if score $schedule_deposit_exp gm4_lt_util matches 2.. run schedule clear gm4_standard_liquids:util/experience/scheduled_deposit execute positioned ~0.5 ~ ~0.5 if entity @a[distance=..0.5,gamemode=!spectator] run scoreboard players set $schedule_deposit_exp gm4_lt_util 1 -execute positioned ~0.5 ~ ~0.5 if entity @a[distance=..0.5,gamemode=!spectator] run schedule function gm4_standard_liquids:util/scheduled_deposit_exp 1t +execute positioned ~0.5 ~ ~0.5 if entity @a[distance=..0.5,gamemode=!spectator] run schedule function gm4_standard_liquids:util/experience/scheduled_deposit 1t #dripstone cauldron execute if entity @e[dx=0,type=area_effect_cloud,tag=gm4_ltu_dripstone_cauldron] run function gm4_standard_liquids:util/drain_cauldron diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util_below.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util_below.mcfunction index 5b9d85561f..2f1e09b2fb 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util_below.mcfunction +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util_below.mcfunction @@ -24,8 +24,8 @@ execute if score @s[tag=gm4_lt_ink] gm4_lt_value matches 1.. as @e[team=!invalid execute if score @s[tag=gm4_lt_glow_ink] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:glowing'}]}] run function gm4_standard_liquids:util/liquid_dispensing/glow_ink #player withdrawing experience -execute if score $schedule_withdraw_exp gm4_lt_util matches 2.. run schedule clear gm4_standard_liquids:util/scheduled_withdraw_exp +execute if score $schedule_withdraw_exp gm4_lt_util matches 2.. run schedule clear gm4_standard_liquids:util/experience/scheduled_withdraw execute if entity @s[tag=gm4_lt_experience] positioned ~0.5 ~-1 ~0.5 if entity @a[distance=..0.5,gamemode=!spectator] run scoreboard players set $schedule_withdraw_exp gm4_lt_util 1 -execute if entity @s[tag=gm4_lt_experience] positioned ~0.5 ~-1 ~0.5 if entity @a[distance=..0.5,gamemode=!spectator] run schedule function gm4_standard_liquids:util/scheduled_withdraw_exp 1t +execute if entity @s[tag=gm4_lt_experience] positioned ~0.5 ~-1 ~0.5 if entity @a[distance=..0.5,gamemode=!spectator] run schedule function gm4_standard_liquids:util/experience/scheduled_withdraw 1t -tag @s remove gm4_processing_tank +# tag @s remove gm4_processing_tank # this line is now added by main.bolt diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/loot_table/glow_ink_bottle.json b/gm4_liquid_tanks/data/gm4_standard_liquids/loot_table/glow_ink_bottle.json index a0336936c9..943d0f496c 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/loot_table/glow_ink_bottle.json +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/loot_table/glow_ink_bottle.json @@ -39,7 +39,8 @@ "translate": "item.gm4.glow_ink_bottle", "fallback": "Glow Ink Bottle", "italic": false - } + }, + "target": "item_name" } ] } diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/loot_table/ink_bottle.json b/gm4_liquid_tanks/data/gm4_standard_liquids/loot_table/ink_bottle.json index 55b057295e..a213675c11 100644 --- a/gm4_liquid_tanks/data/gm4_standard_liquids/loot_table/ink_bottle.json +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/loot_table/ink_bottle.json @@ -34,7 +34,8 @@ "translate": "item.gm4.ink_bottle", "fallback": "Ink Bottle", "italic": false - } + }, + "target": "item_name" } ] } diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/modules/main.bolt b/gm4_liquid_tanks/data/gm4_standard_liquids/modules/main.bolt new file mode 100644 index 0000000000..e062a9fee7 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/modules/main.bolt @@ -0,0 +1,165 @@ +import re +from gm4_liquid_tanks:liquid_wrappers import liquid + +bucket = liquid.standard_unit('bucket', 3) +bowl = liquid.standard_unit('bowl', 1) +bottle = liquid.standard_unit('glass_bottle', 1) + +@liquid +class Lava: + id = 'lava' + name = 'Lava' + capacity = 300 + + liquid.init() + bucket('lava_bucket') # item_fill on a standard unit + +@liquid +class Water: + id = 'water' + name = 'Water' + capacity = 300 + + liquid.init() + bucket('water_bucket') + bottle('minecraft:potion[potion_contents={potion:"water"}]') + +@liquid +class Milk: + id = 'milk' + name = 'Milk' + capacity = 300 + + liquid.init() + bucket('milk_bucket') + +@liquid +class PowderSnow: + id = 'powder_snow' + name = 'Powder Snow' + capacity = 300 + + liquid.init() + bucket('powder_snow_bucket') + +@liquid +class MushroomStew: + id = 'mushroom_stew' + name = 'Mushroom Stew' + capacity = 300 + + liquid.init() + bowl('mushroom_stew') + +@liquid +class RabbitStew: + id = 'rabbit_stew' + name = 'Rabbit Stew' + capacity = 300 + + liquid.init() + bowl('rabbit_stew') + +@liquid +class BeetrootSoup: + id = 'beetroot_soup' + name = 'Beetroot Soup' + capacity = 300 + + liquid.init() + bowl('beetroot_soup') + liquid.item_drain('beetroot', 'air', 1) + +@liquid +class Honey: + id = 'honey' + name = 'Honey' + capacity = 400 + + liquid.init() + bottle('honey_bottle') + liquid.item_drain('honey_block', 'air', 4) + +@liquid +class Experience: + id = 'experience' + name = 'Experience' + capacity = 5345 + + liquid.init() + @liquid.item_fill('glass_bottle', 'experience_bottle', 9) + def experience_bottle(): + item replace entity 344d47-4-4-4-f04ce104d weapon.mainhand with minecraft:experience_bottle + yield + execute if score $smart_success gm4_lt_value matches 1 run advancement grant @a[distance=..4,gamemode=!spectator] only gm4:standard_liquids + liquid.item_drain('enchanted_book', 'book', 7) + liquid.item_drain('paper[custom_data~{gm4_book_binders:{item:"enchanted_page"}}]', 'paper', 5) + + #TODO I could add a custom naming rule here - more as an example than necessary - for enchanted_page + +@liquid +class Ink: + id = 'ink' + name = 'Ink' + capacity = 300 + + liquid.init() + liquid.item_drain('ink_sac', 'air', 1) + @bottle('minecraft:potion[custom_data~{gm4_standard_liquids:{potion:"blindness"}}]') + def ink_bottle(): + loot replace entity 344d47-4-4-4-f04ce104d weapon.mainhand loot gm4_standard_liquids:ink_bottle + + @liquid.util_below + def dispense_ink(): + execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:blindness'}]}] run function gm4_standard_liquids:util/liquid_dispensing/ink + +@liquid +class GlowInk: + id = 'glow_ink' + name = 'Glow Ink' + capacity = 300 + + liquid.init() + liquid.item_drain('glow_ink_sac', 'air', 1) + @bottle('minecraft:potion[custom_data~{gm4_standard_liquids:{potion:"glowing"}}]') + def glow_ink_bottle(): + loot replace entity 344d47-4-4-4-f04ce104d weapon.mainhand loot gm4_standard_liquids:glow_ink_bottle + + liquid.item_fill('item_frame', 'glow_item_frame', 1, reversable=False) + + @liquid.util_below + def dispense_ink(): + execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:glowing'}]}] run function gm4_standard_liquids:util/liquid_dispensing/glow_ink + +# tell bolt how to name different ominous bottles - they have the same item id so this is a special case +def omnious_naming_scheme(input_name: str, output_name: str) -> str | bool: + m = re.match(r'ominous_bottle\[ominous_bottle_amplifier=(\d+)\]', output_name) + if m: + return f"ominous_bottle_{m.group(1)}" + return False +liquid.naming_schemes.schemes.insert(0, omnious_naming_scheme) + +for lvl, numeral_lvl in zip((0,1,2,3,4), ("I", "II", "III", "IV", "V")): + @liquid + class OminousBottle: + id = f'ominous_bottle_{lvl}' + name = f'Ominous {numeral_lvl}' + capacity = 300 + skin = 'liquids/ominous_bottle' + + liquid.init() + bottle(f"ominous_bottle[ominous_bottle_amplifier={lvl}]") + + @liquid.util_below + def dispense_omen(): + execute + as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] + unless entity @s[gamemode=spectator] + if entity @s[nbt=!{active_effects:[{id:'minecraft:bad_omen'}]}] + run function f"gm4_standard_liquids:util/liquid_dispensing/ominous_bottle_{lvl}": + effect give @s bad_omen 6000 (0+lvl) + scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 + playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 + + + diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/predicate/sneaking.json b/gm4_liquid_tanks/data/gm4_standard_liquids/predicate/sneaking.json new file mode 100644 index 0000000000..3c8a7e1e95 --- /dev/null +++ b/gm4_liquid_tanks/data/gm4_standard_liquids/predicate/sneaking.json @@ -0,0 +1,9 @@ +{ + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_sneaking": true + } + } +} diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/beetroot_soup.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/beetroot_soup.png index ed3e7d10b2..ed5318dea2 100644 Binary files a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/beetroot_soup.png and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/beetroot_soup.png differ diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/experience.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/experience.png index b0bc275a7e..d1154af618 100644 Binary files a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/experience.png and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/experience.png differ diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/honey.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/honey.png index 7213c9a3aa..39149ec75c 100644 Binary files a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/honey.png and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/honey.png differ diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/lava.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/lava.png index 180aba1d12..b04a80bffb 100644 Binary files a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/lava.png and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/lava.png differ diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/milk.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/milk.png index 5114efa78b..aa26aa08f6 100644 Binary files a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/milk.png and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/milk.png differ diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/mushroom_stew.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/mushroom_stew.png index 5ff6fc8d2b..51122ff13e 100644 Binary files a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/mushroom_stew.png and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/mushroom_stew.png differ diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/ominous_bottle.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/ominous_bottle.png new file mode 100644 index 0000000000..1746e8dee2 Binary files /dev/null and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/ominous_bottle.png differ diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/powder_snow.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/powder_snow.png index d548770e29..1cd5a45beb 100644 Binary files a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/powder_snow.png and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/powder_snow.png differ diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/rabbit_stew.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/rabbit_stew.png index 835bc7529d..5ccc5a143e 100644 Binary files a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/rabbit_stew.png and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/rabbit_stew.png differ diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/water.png b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/water.png index 1d750635f3..fed596106b 100644 Binary files a/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/water.png and b/gm4_liquid_tanks/data/gm4_standard_liquids/skins/liquids/water.png differ diff --git a/gm4_liquid_tanks/override_formatting.py b/gm4_liquid_tanks/override_formatting.py new file mode 100644 index 0000000000..4a55fef441 --- /dev/null +++ b/gm4_liquid_tanks/override_formatting.py @@ -0,0 +1,5 @@ +from beet import Context +from mecha import Mecha + +def beet_default(ctx: Context): + ctx.inject(Mecha).serialize.formatting.layout = 'dense' \ No newline at end of file diff --git a/gm4_mending_tanks/beet.yaml b/gm4_mending_tanks/beet.yaml index 4977ddd762..07d466087a 100644 --- a/gm4_mending_tanks/beet.yaml +++ b/gm4_mending_tanks/beet.yaml @@ -12,7 +12,7 @@ meta: gm4: versioning: required: - gm4_liquid_tanks: 2.3.0 + gm4_liquid_tanks: 2.7.0 website: description: Enables Liquid Tanks filled with Experience to repair tools with the mending enchant on them. recommended: [] diff --git a/gm4_mending_tanks/data/gm4_mending_tanks/function/check_item.mcfunction b/gm4_mending_tanks/data/gm4_mending_tanks/function/check_item.mcfunction index 04660e8d2f..ebcea8940e 100644 --- a/gm4_mending_tanks/data/gm4_mending_tanks/function/check_item.mcfunction +++ b/gm4_mending_tanks/data/gm4_mending_tanks/function/check_item.mcfunction @@ -1,7 +1,7 @@ #@s = experience liquid tank with item in first slot #run from mending_tanks:item_fill -execute store result score $damage gm4_lt_util run data get storage gm4_liquid_tanks:temp/tank input_slot.components."minecraft:damage" +execute store result score $damage gm4_lt_util run data get block ~ ~ ~ Items[0].components."minecraft:damage" execute if score $damage gm4_lt_util matches 1.. run function gm4_mending_tanks:repair # smart storage is bypassed within repair, which merges the data back to the tool itself. diff --git a/gm4_mending_tanks/data/gm4_mending_tanks/function/item_fill.mcfunction b/gm4_mending_tanks/data/gm4_mending_tanks/function/item_fill.mcfunction index a7308b1ada..e69e07023c 100644 --- a/gm4_mending_tanks/data/gm4_mending_tanks/function/item_fill.mcfunction +++ b/gm4_mending_tanks/data/gm4_mending_tanks/function/item_fill.mcfunction @@ -2,4 +2,4 @@ #run from liquid_tanks:item_process #experience tank -execute if entity @s[tag=gm4_lt_experience] if data storage gm4_liquid_tanks:temp/tank {input_slot:{components:{"minecraft:enchantments":{levels:{"minecraft:mending":1}}}}} run function gm4_mending_tanks:check_item +execute if entity @s[tag=gm4_lt_experience] if items block ~ ~ ~ container.0 *[minecraft:enchantments~[{enchantments:["minecraft:mending"]}]] run function gm4_mending_tanks:check_item diff --git a/gm4_potion_liquids/beet.yaml b/gm4_potion_liquids/beet.yaml index 168b552e09..9adb58b699 100644 --- a/gm4_potion_liquids/beet.yaml +++ b/gm4_potion_liquids/beet.yaml @@ -5,15 +5,23 @@ version: 1.7.X data_pack: load: . +require: + - bolt + pipeline: + - gm4_liquid_tanks.override_formatting + - gm4_liquid_tanks.bolt_liquid_wrappers - gm4.plugins.extend.module - gm4.plugins.include.lib_brewing meta: + bolt: + entrypoint: + - gm4_potion_liquids:main gm4: versioning: required: - gm4_liquid_tanks: 2.3.0 + gm4_liquid_tanks: 2.7.0 lib_brewing: 1.2.0 model_data: - item: potion diff --git a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/item_drain.json b/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/item_drain.json deleted file mode 100644 index ea8e4638b4..0000000000 --- a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/item_drain.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values":[ - "gm4_potion_liquids:item_drain" - ] - -} diff --git a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/item_fill.json b/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/item_fill.json deleted file mode 100644 index 59f9ab2296..0000000000 --- a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/item_fill.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values":[ - "gm4_potion_liquids:item_fill" - ] - -} diff --git a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/remove_liquid_tags.json b/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/remove_liquid_tags.json deleted file mode 100644 index 8bc03cd31b..0000000000 --- a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/remove_liquid_tags.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values":[ - "gm4_potion_liquids:remove_liquid_tags" - ] - -} diff --git a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/tank_init.json b/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/tank_init.json deleted file mode 100644 index 42a671fa08..0000000000 --- a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/tank_init.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values":[ - "gm4_potion_liquids:tank_init" - ] - -} diff --git a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/util_below.json b/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/util_below.json deleted file mode 100644 index b593637464..0000000000 --- a/gm4_potion_liquids/data/gm4_liquid_tanks/tags/function/util_below.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values":[ - "gm4_potion_liquids:util_below" - ] - -} diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_drain.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_drain.mcfunction deleted file mode 100644 index 78eb793aac..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_drain.mcfunction +++ /dev/null @@ -1,93 +0,0 @@ -#@s = liquid tank with item in first slot -#run from liquid_tanks:item_process - -#night_vision -execute if entity @s[tag=gm4_lt_night_vision] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:night_vision"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_night_vision] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_night_vision"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#invisibility -execute if entity @s[tag=gm4_lt_invisibility] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:invisibility"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_invisibility] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_invisibility"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#leaping -execute if entity @s[tag=gm4_lt_leaping] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:leaping"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_leaping] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_leaping"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#strong leaping -execute if entity @s[tag=gm4_lt_strong_leaping] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_leaping"}}}} run function gm4_potion_liquids:item_drain/potion - -#fire resistance -execute if entity @s[tag=gm4_lt_fire_resistance] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:fire_resistance"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_fire_resistance] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_fire_resistance"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#swiftness -execute if entity @s[tag=gm4_lt_swiftness] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:swiftness"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_swiftness] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_swiftness"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#strong swiftness -execute if entity @s[tag=gm4_lt_strong_swiftness] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_swiftness"}}}} run function gm4_potion_liquids:item_drain/potion - -#slowness -execute if entity @s[tag=gm4_lt_slowness] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:slowness"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_slowness] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_slowness"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#strong slowness -execute if entity @s[tag=gm4_lt_strong_slowness] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_slowness"}}}} run function gm4_potion_liquids:item_drain/potion - -#turtle master -execute if entity @s[tag=gm4_lt_turtle_master] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:turtle_master"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_turtle_master] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_turtle_master"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#strong turtle master -execute if entity @s[tag=gm4_lt_strong_turtle_master] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_turtle_master"}}}} run function gm4_potion_liquids:item_drain/potion - -#water breathing -execute if entity @s[tag=gm4_lt_water_breathing] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:water_breathing"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_water_breathing] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_water_breathing"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#healing -execute if entity @s[tag=gm4_lt_healing] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:healing"}}}} run function gm4_potion_liquids:item_drain/potion - -#strong healing -execute if entity @s[tag=gm4_lt_strong_healing] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_healing"}}}} run function gm4_potion_liquids:item_drain/potion - -#harming -execute if entity @s[tag=gm4_lt_harming] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:harming"}}}} run function gm4_potion_liquids:item_drain/potion - -#strong harming -execute if entity @s[tag=gm4_lt_strong_harming] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_harming"}}}} run function gm4_potion_liquids:item_drain/potion - -#poison -execute if entity @s[tag=gm4_lt_poison] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:poison"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_poison] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_poison"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#strong poison -execute if entity @s[tag=gm4_lt_strong_poison] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_poison"}}}} run function gm4_potion_liquids:item_drain/potion - -#regeneration -execute if entity @s[tag=gm4_lt_regeneration] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:regeneration"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_regeneration] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_regeneration"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#strong regeneration -execute if entity @s[tag=gm4_lt_strong_regeneration] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_regeneration"}}}} run function gm4_potion_liquids:item_drain/potion - -#strength -execute if entity @s[tag=gm4_lt_strength] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strength"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_strength] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_strength"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#strong strength -execute if entity @s[tag=gm4_lt_strong_strength] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_strength"}}}} run function gm4_potion_liquids:item_drain/potion - -#weakness -execute if entity @s[tag=gm4_lt_weakness] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:weakness"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_weakness] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_weakness"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#luck -execute if entity @s[tag=gm4_lt_luck] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:luck"}}}} run function gm4_potion_liquids:item_drain/potion - -#slow falling -execute if entity @s[tag=gm4_lt_slow_falling] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:slow_falling"}}}} run function gm4_potion_liquids:item_drain/potion -execute if entity @s[tag=gm4_lt_slow_falling] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_slow_falling"}}}} run function gm4_potion_liquids:item_drain/long_potion - -#floating - added by module -execute if entity @s[tag=gm4_lt_floating] if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:custom_data":{gm4_potion_liquids:{potion:"floating"}}}}} run function gm4_potion_liquids:item_drain/potion diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_drain/long_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_drain/long_potion.mcfunction deleted file mode 100644 index 4e30019591..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_drain/long_potion.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -# run from gm4_potion_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 3 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"glass_bottle"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain - diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_drain/potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_drain/potion.mcfunction deleted file mode 100644 index e098f77aad..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_drain/potion.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -# run from gm4_potion_liquids:item_drain -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value 1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"glass_bottle"}} -function gm4_liquid_tanks:smart_item_drain -tag @s add gm4_lt_drain - diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill.mcfunction deleted file mode 100644 index c0518a60cb..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill.mcfunction +++ /dev/null @@ -1,80 +0,0 @@ -#@s = liquid tank with item in first slot -#run from liquid_tanks:item_process - -#night_vision -execute if entity @s[tag=gm4_lt_night_vision] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/night_vision_potion - -#invisibility -execute if entity @s[tag=gm4_lt_invisibility] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/invisibility_potion - -#leaping -execute if entity @s[tag=gm4_lt_leaping] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/leaping_potion - -#strong leaping -execute if entity @s[tag=gm4_lt_strong_leaping] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strong_leaping_potion - -#fire resistance -execute if entity @s[tag=gm4_lt_fire_resistance] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/fire_resistance_potion - -#swiftness -execute if entity @s[tag=gm4_lt_swiftness] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/swiftness_potion - -#strong swiftness -execute if entity @s[tag=gm4_lt_strong_swiftness] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strong_swiftness_potion - -#slowness -execute if entity @s[tag=gm4_lt_slowness] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/slowness_potion - -#strong slowness -execute if entity @s[tag=gm4_lt_strong_slowness] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strong_slowness_potion - -#turtle master -execute if entity @s[tag=gm4_lt_turtle_master] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/turtle_master_potion - -#strong turtle master -execute if entity @s[tag=gm4_lt_strong_turtle_master] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strong_turtle_master_potion - -#water breathing -execute if entity @s[tag=gm4_lt_water_breathing] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/water_breathing_potion - -#healing -execute if entity @s[tag=gm4_lt_healing] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/healing_potion - -#strong healing -execute if entity @s[tag=gm4_lt_strong_healing] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strong_healing_potion - -#harming -execute if entity @s[tag=gm4_lt_harming] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/harming_potion - -#strong harming -execute if entity @s[tag=gm4_lt_strong_harming] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strong_harming_potion - -#poison -execute if entity @s[tag=gm4_lt_poison] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/poison_potion - -#strong poison -execute if entity @s[tag=gm4_lt_strong_poison] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strong_poison_potion - -#regeneration -execute if entity @s[tag=gm4_lt_regeneration] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/regeneration_potion - -#strong regeneration -execute if entity @s[tag=gm4_lt_strong_regeneration] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strong_regeneration_potion - -#strength -execute if entity @s[tag=gm4_lt_strength] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strength_potion - -#strong strength -execute if entity @s[tag=gm4_lt_strong_strength] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/strong_strength_potion - -#weakness -execute if entity @s[tag=gm4_lt_weakness] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/weakness_potion - -#luck -execute if entity @s[tag=gm4_lt_luck] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/luck_potion - -#slow falling -execute if entity @s[tag=gm4_lt_slow_falling] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/slow_falling_potion - -#floating -execute if entity @s[tag=gm4_lt_floating] if score $stack_size gm4_lt_value matches 1 if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:glass_bottle"}} run function gm4_potion_liquids:item_fill/floating_potion diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/fire_resistance_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/fire_resistance_potion.mcfunction deleted file mode 100644 index 0be2ea28e3..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/fire_resistance_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:fire_resistance"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/floating_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/floating_potion.mcfunction deleted file mode 100644 index 119624afc5..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/floating_potion.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -loot replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand loot gm4_potion_liquids:floating_potion -data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] HandItems[0] -item replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand with air -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/harming_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/harming_potion.mcfunction deleted file mode 100644 index 3a168405d8..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/harming_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:harming"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/healing_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/healing_potion.mcfunction deleted file mode 100644 index de5f72a60d..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/healing_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:healing"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/invisibility_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/invisibility_potion.mcfunction deleted file mode 100644 index c2689b52f3..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/invisibility_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:invisibility"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/leaping_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/leaping_potion.mcfunction deleted file mode 100644 index 5dc6036929..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/leaping_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:leaping"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/luck_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/luck_potion.mcfunction deleted file mode 100644 index b9ff59b317..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/luck_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:luck"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/night_vision_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/night_vision_potion.mcfunction deleted file mode 100644 index 2b1915080a..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/night_vision_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:night_vision"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/poison_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/poison_potion.mcfunction deleted file mode 100644 index cc9721c945..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/poison_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:poison"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/regeneration_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/regeneration_potion.mcfunction deleted file mode 100644 index 0eaab90a29..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/regeneration_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:regeneration"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/slow_falling_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/slow_falling_potion.mcfunction deleted file mode 100644 index 6e3a565f46..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/slow_falling_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:slow_falling"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/slowness_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/slowness_potion.mcfunction deleted file mode 100644 index 522c011620..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/slowness_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:slowness"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strength_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strength_potion.mcfunction deleted file mode 100644 index a6abf38a90..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strength_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strength"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_harming_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_harming_potion.mcfunction deleted file mode 100644 index 72af668a25..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_harming_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_harming"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_healing_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_healing_potion.mcfunction deleted file mode 100644 index 9fb7d7b7d3..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_healing_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_healing"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_leaping_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_leaping_potion.mcfunction deleted file mode 100644 index 41e35d5770..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_leaping_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_leaping"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_poison_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_poison_potion.mcfunction deleted file mode 100644 index ed4b4b82d1..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_poison_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_poison"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_regeneration_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_regeneration_potion.mcfunction deleted file mode 100644 index 140e117e56..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_regeneration_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_regeneration"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_slowness_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_slowness_potion.mcfunction deleted file mode 100644 index 1b7e728f52..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_slowness_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_slowness"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_strength_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_strength_potion.mcfunction deleted file mode 100644 index 6dc5c3ac18..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_strength_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_strength"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_swiftness_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_swiftness_potion.mcfunction deleted file mode 100644 index fe8981d569..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_swiftness_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_swiftness"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_turtle_master_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_turtle_master_potion.mcfunction deleted file mode 100644 index 2c7c32a8d4..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/strong_turtle_master_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_turtle_master"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/swiftness_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/swiftness_potion.mcfunction deleted file mode 100644 index 2353203986..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/swiftness_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:swiftness"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/turtle_master_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/turtle_master_potion.mcfunction deleted file mode 100644 index 719120e8eb..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/turtle_master_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:turtle_master"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/water_breathing_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/water_breathing_potion.mcfunction deleted file mode 100644 index de6c625117..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/water_breathing_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:water_breathing"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/weakness_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/weakness_potion.mcfunction deleted file mode 100644 index 8cd7c64d4c..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/weakness_potion.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# run from gm4_potion_liquids:item_fill -# @s = tank being processed - -scoreboard players set $item_value gm4_lt_value -1 -data merge storage gm4_liquid_tanks:temp/tank {output:{id:"potion",components:{"minecraft:potion_contents":{potion:"minecraft:weakness"}}}} -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/fire_resistance.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/fire_resistance.mcfunction deleted file mode 100644 index 08891d7982..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/fire_resistance.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.fire_resistance","fallback":"Fire Resistance Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.fire_resistance","fallback":"Fire Resistance Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/fire_resistance"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_fire_resistance" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_fire_resistance -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/floating.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/floating.mcfunction deleted file mode 100644 index 531c02d7ff..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/floating.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.floating","fallback":"Floating Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.floating","fallback":"Floating Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/floating"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_floating" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_floating -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/harming.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/harming.mcfunction deleted file mode 100644 index 8681e5a0e8..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/harming.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.harming","fallback":"Harming Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.harming","fallback":"Harming Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/harming"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_harming" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_harming -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/healing.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/healing.mcfunction deleted file mode 100644 index 2ca55bb340..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/healing.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.healing","fallback":"Healing Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.healing","fallback":"Healing Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/healing"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_healing" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_healing -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/invisibility.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/invisibility.mcfunction deleted file mode 100644 index afababa7a3..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/invisibility.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.invisibility","fallback":"Invisibility Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.invisibility","fallback":"Invisibility Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/invisibility"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_invisibility" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_invisibility -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/leaping.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/leaping.mcfunction deleted file mode 100644 index a3d6a5619d..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/leaping.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.leaping","fallback":"Leaping Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.leaping","fallback":"Leaping Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/leaping"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_leaping" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_leaping -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/luck.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/luck.mcfunction deleted file mode 100644 index ba3b601529..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/luck.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.luck","fallback":"Luck Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.luck","fallback":"Luck Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/luck"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_luck" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_luck -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/night_vision.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/night_vision.mcfunction deleted file mode 100644 index 347de6c088..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/night_vision.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.night_vision","fallback":"Night Vision Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.night_vision","fallback":"Night Vision Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/night_vision"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_night_vision" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_night_vision -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/poison.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/poison.mcfunction deleted file mode 100644 index 492272cb5d..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/poison.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.poison","fallback":"Poison Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.poison","fallback":"Poison Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/poison"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_poison" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_poison -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/regeneration.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/regeneration.mcfunction deleted file mode 100644 index ee33739139..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/regeneration.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.regeneration","fallback":"Regeneration Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.regeneration","fallback":"Regeneration Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/regeneration"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_regeneration" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_regeneration -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slow_falling.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slow_falling.mcfunction deleted file mode 100644 index 5ceb8573a2..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slow_falling.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.slow_falling","fallback":"Slow Falling Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.slow_falling","fallback":"Slow Falling Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/slow_falling"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_slow_falling" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_slow_falling -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slowness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slowness.mcfunction deleted file mode 100644 index 23debe97b5..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slowness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.slowness","fallback":"Slowness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.slowness","fallback":"Slowness Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/slowness"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_slowness" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_slowness -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strength.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strength.mcfunction deleted file mode 100644 index acb0db948a..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strength.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strength","fallback":"Strength Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strength","fallback":"Strength Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/strength"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strength" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strength -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_harming.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_harming.mcfunction deleted file mode 100644 index d897daf85f..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_harming.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_harming","fallback":"Strong Harming Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_harming","fallback":"Strong Harming Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/strength"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_harming" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strong_harming -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_healing.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_healing.mcfunction deleted file mode 100644 index f9868d74f6..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_healing.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_healing","fallback":"Strong Healing Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_healing","fallback":"Strong Healing Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/healing"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_healing" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strong_healing -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_leaping.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_leaping.mcfunction deleted file mode 100644 index e38608fe9f..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_leaping.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_leaping","fallback":"Strong Leaping Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_leaping","fallback":"Strong Leaping Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/leaping"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_leaping" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strong_leaping -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_poison.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_poison.mcfunction deleted file mode 100644 index d97c4d766d..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_poison.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_poison","fallback":"Strong Poison Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_poison","fallback":"Strong Poison Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/poison"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_poison" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strong_poison -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_regeneration.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_regeneration.mcfunction deleted file mode 100644 index a41f389bcd..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_regeneration.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_regeneration","fallback":"Strong Regeneration Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_regeneration","fallback":"Strong Regeneration Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/regeneration"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_regeneration" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strong_regeneration -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_slowness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_slowness.mcfunction deleted file mode 100644 index 68d09f079c..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_slowness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_slowness","fallback":"Strong Slowness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_slowness","fallback":"Strong Slowness Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/slowness"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_slowness" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strong_slowness -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_strength.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_strength.mcfunction deleted file mode 100644 index a23cfa6abd..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_strength.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_strength","fallback":"Strong Strength Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_strength","fallback":"Strong Strength Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/strength"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_strength" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strong_strength -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_swiftness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_swiftness.mcfunction deleted file mode 100644 index 451d1add31..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_swiftness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_swiftness","fallback":"Strong Swiftness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_swiftness","fallback":"Strong Swiftness Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/swiftness"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_swiftness" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strong_swiftness -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_turtle_master.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_turtle_master.mcfunction deleted file mode 100644 index 2d4efb5f20..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_turtle_master.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_turtle_master","fallback":"Strong Turtle Master Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_turtle_master","fallback":"Strong Turtle Master Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/turtle_master"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_turtle_master" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_strong_turtle_master -tag @s remove gm4_lt_empty - - -#TEXTURE NOT COMPLETE diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/swiftness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/swiftness.mcfunction deleted file mode 100644 index 53920f82db..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/swiftness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.swiftness","fallback":"Swiftness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.swiftness","fallback":"Swiftness Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/swiftness"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_swiftness" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_swiftness -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/turtle_master.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/turtle_master.mcfunction deleted file mode 100644 index c2693fdcdf..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/turtle_master.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.turtle_master","fallback":"Turtle Master Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.turtle_master","fallback":"Turtle Master Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/turtle_master"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_turtle_master" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_turtle_master -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/water_breathing.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/water_breathing.mcfunction deleted file mode 100644 index 46cabce540..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/water_breathing.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.water_breathing","fallback":"Water Breathing Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.water_breathing","fallback":"Water Breathing Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/water_breathing"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_water_breathing" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_water_breathing -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/weakness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/weakness.mcfunction deleted file mode 100644 index f44c53f578..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/weakness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.weakness","fallback":"Weakness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.weakness","fallback":"Weakness Potion Tank","font":"gm4:default","color":"#404040"}]]}'} -summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/weakness"}}]} -data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_weakness" -scoreboard players set @s gm4_lt_max 300 -tag @s add gm4_lt_weakness -tag @s remove gm4_lt_empty diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/remove_liquid_tags.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/remove_liquid_tags.mcfunction deleted file mode 100644 index 3c1ac4cf93..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/remove_liquid_tags.mcfunction +++ /dev/null @@ -1,29 +0,0 @@ -#@s = liquid tank stand -# removes all liquid tags from the stand. Used for emptying tank and reassigning liquid type - -tag @s remove gm4_lt_night_vision -tag @s remove gm4_lt_invisibility -tag @s remove gm4_lt_leaping -tag @s remove gm4_lt_strong_leaping -tag @s remove gm4_lt_fire_resistance -tag @s remove gm4_lt_swiftness -tag @s remove gm4_lt_strong_swiftness -tag @s remove gm4_lt_slowness -tag @s remove gm4_lt_strong_slowness -tag @s remove gm4_lt_turtle_master -tag @s remove gm4_lt_strong_turtle_master -tag @s remove gm4_lt_water_breathing -tag @s remove gm4_lt_healing -tag @s remove gm4_lt_strong_healing -tag @s remove gm4_lt_harming -tag @s remove gm4_lt_strong_harming -tag @s remove gm4_lt_poison -tag @s remove gm4_lt_strong_poison -tag @s remove gm4_lt_regeneration -tag @s remove gm4_lt_strong_regeneration -tag @s remove gm4_lt_strength -tag @s remove gm4_lt_strong_strength -tag @s remove gm4_lt_weakness -tag @s remove gm4_lt_luck -tag @s remove gm4_lt_slow_falling -tag @s remove gm4_lt_floating diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/tank_init.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/tank_init.mcfunction deleted file mode 100644 index ae58fa0484..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/tank_init.mcfunction +++ /dev/null @@ -1,93 +0,0 @@ -#@s = empty liquid tank with item in first slot or entity on top -#run from liquid_tanks:item_process - -#night vision -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:night_vision"}}}} run function gm4_potion_liquids:liquid_init/night_vision -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_night_vision"}}}} run function gm4_potion_liquids:liquid_init/night_vision - -#invisibility -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:invisibility"}}}} run function gm4_potion_liquids:liquid_init/invisibility -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_invisibility"}}}} run function gm4_potion_liquids:liquid_init/invisibility - -#leaping -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:leaping"}}}} run function gm4_potion_liquids:liquid_init/leaping -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_leaping"}}}} run function gm4_potion_liquids:liquid_init/leaping - -#strong leaping -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_leaping"}}}} run function gm4_potion_liquids:liquid_init/strong_leaping - -#fire resistance -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:fire_resistance"}}}} run function gm4_potion_liquids:liquid_init/fire_resistance -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_fire_resistance"}}}} run function gm4_potion_liquids:liquid_init/fire_resistance - -#swiftness -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:swiftness"}}}} run function gm4_potion_liquids:liquid_init/swiftness -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_swiftness"}}}} run function gm4_potion_liquids:liquid_init/swiftness - -#strong swiftness -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_swiftness"}}}} run function gm4_potion_liquids:liquid_init/strong_swiftness - -#slowness -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:slowness"}}}} run function gm4_potion_liquids:liquid_init/slowness -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_slowness"}}}} run function gm4_potion_liquids:liquid_init/slowness - -#strong slowness -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_slowness"}}}} run function gm4_potion_liquids:liquid_init/strong_slowness - -#turtle master -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:turtle_master"}}}} run function gm4_potion_liquids:liquid_init/turtle_master -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_turtle_master"}}}} run function gm4_potion_liquids:liquid_init/turtle_master - -#strong turtle master -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_turtle_master"}}}} run function gm4_potion_liquids:liquid_init/strong_turtle_master - -#water breathing -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:water_breathing"}}}} run function gm4_potion_liquids:liquid_init/water_breathing -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_water_breathing"}}}} run function gm4_potion_liquids:liquid_init/water_breathing - -#healing -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:healing"}}}} run function gm4_potion_liquids:liquid_init/healing - -#strong healing -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_healing"}}}} run function gm4_potion_liquids:liquid_init/strong_healing - -#harming -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:harming"}}}} run function gm4_potion_liquids:liquid_init/harming - -#strong harming -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_harming"}}}} run function gm4_potion_liquids:liquid_init/strong_harming - -#poison -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:poison"}}}} run function gm4_potion_liquids:liquid_init/poison -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_poison"}}}} run function gm4_potion_liquids:liquid_init/poison - -#strong poison -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_poison"}}}} run function gm4_potion_liquids:liquid_init/strong_poison - -#regeneration -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:regeneration"}}}} run function gm4_potion_liquids:liquid_init/regeneration -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_regeneration"}}}} run function gm4_potion_liquids:liquid_init/regeneration - -#strong regeneration -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_regeneration"}}}} run function gm4_potion_liquids:liquid_init/strong_regeneration - -#strength -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strength"}}}} run function gm4_potion_liquids:liquid_init/strength -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_strength"}}}} run function gm4_potion_liquids:liquid_init/strength - -#strong strength -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_strength"}}}} run function gm4_potion_liquids:liquid_init/strong_strength - -#weakness -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:weakness"}}}} run function gm4_potion_liquids:liquid_init/weakness -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_weakness"}}}} run function gm4_potion_liquids:liquid_init/weakness - -#luck -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:luck"}}}} run function gm4_potion_liquids:liquid_init/luck - -#slow falling -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:slow_falling"}}}} run function gm4_potion_liquids:liquid_init/slow_falling -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_slow_falling"}}}} run function gm4_potion_liquids:liquid_init/slow_falling - -#floating - added by module -execute if data storage gm4_liquid_tanks:temp/tank {input_slot:{id:"minecraft:potion",components:{"minecraft:custom_data":{gm4_potion_liquids:{potion:"floating"}}}}} run function gm4_potion_liquids:liquid_init/floating diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/fire_resistance.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/fire_resistance.mcfunction deleted file mode 100644 index 90bd4d3d34..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/fire_resistance.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below fire_resistance potion tank -#run from potion_liquids:util_below - -effect give @s fire_resistance 180 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/floating.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/floating.mcfunction deleted file mode 100644 index d6185b7859..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/floating.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below floating potion tank -#run from potion_liquids:util_below - -effect give @s levitation 45 2 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/harming.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/harming.mcfunction deleted file mode 100644 index 37898c67f2..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/harming.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below harming potion tank -#run from potion_liquids:util_below - -effect give @s instant_damage 1 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/healing.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/healing.mcfunction deleted file mode 100644 index 8708c8021a..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/healing.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below healing potion tank -#run from potion_liquids:util_below - -effect give @s instant_health 1 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/invisibility.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/invisibility.mcfunction deleted file mode 100644 index c038ba1488..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/invisibility.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below invisibility potion tank -#run from potion_liquids:util_below - -effect give @s invisibility 180 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/leaping.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/leaping.mcfunction deleted file mode 100644 index 7e2feb6d65..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/leaping.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below leaping potion tank -#run from potion_liquids:util_below - -effect give @s jump_boost 180 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/luck.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/luck.mcfunction deleted file mode 100644 index 6e3c4fb9c1..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/luck.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below luck potion tank -#run from potion_liquids:util_below - -effect give @s luck 300 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/night_vision.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/night_vision.mcfunction deleted file mode 100644 index 7b591ae592..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/night_vision.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below night_vision potion tank -#run from potion_liquids:util_below - -effect give @s night_vision 180 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/poison.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/poison.mcfunction deleted file mode 100644 index 7fc4db1562..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/poison.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below poison potion tank -#run from potion_liquids:util_below - -effect give @s poison 45 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/random_witch_init.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/random_witch_init.mcfunction index 01cc1dbc3e..1fc400488b 100644 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/random_witch_init.mcfunction +++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/random_witch_init.mcfunction @@ -1,16 +1,9 @@ #@s = liquid tank to be initialized to random potion #run from potion_liquids:util/witch -summon area_effect_cloud ~ ~ ~ {CustomName:"\"gm4_pl_random_witch_init\"",Tags:["gm4_pl_random_witch_init","gm4_lt_random_regeneration"]} -summon area_effect_cloud ~ ~ ~ {CustomName:"\"gm4_pl_random_witch_init\"",Tags:["gm4_pl_random_witch_init","gm4_lt_random_swiftness"]} -summon area_effect_cloud ~ ~ ~ {CustomName:"\"gm4_pl_random_witch_init\"",Tags:["gm4_pl_random_witch_init","gm4_lt_random_fire_resistance"]} -summon area_effect_cloud ~ ~ ~ {CustomName:"\"gm4_pl_random_witch_init\"",Tags:["gm4_pl_random_witch_init","gm4_lt_random_harming"]} +execute store result score $random_witch_init gm4_lt_util run random value 0..3 -kill @e[type=area_effect_cloud,limit=3,distance=..1,tag=gm4_pl_random_witch_init,sort=random] - -execute if entity @e[type=area_effect_cloud,tag=gm4_pl_random_witch_init,tag=gm4_lt_random_regeneration] run function gm4_potion_liquids:liquid_init/regeneration -execute if entity @e[type=area_effect_cloud,tag=gm4_pl_random_witch_init,tag=gm4_lt_random_swiftness] run function gm4_potion_liquids:liquid_init/swiftness -execute if entity @e[type=area_effect_cloud,tag=gm4_pl_random_witch_init,tag=gm4_lt_random_fire_resistance] run function gm4_potion_liquids:liquid_init/fire_resistance -execute if entity @e[type=area_effect_cloud,tag=gm4_pl_random_witch_init,tag=gm4_lt_random_harming] run function gm4_potion_liquids:liquid_init/harming - -kill @e[type=area_effect_cloud,tag=gm4_pl_random_witch_init] +execute if score $random_witch_init gm4_lt_util matches 0 run function gm4_potion_liquids:liquid_init/regeneration +execute if score $random_witch_init gm4_lt_util matches 1 run function gm4_potion_liquids:liquid_init/swiftness +execute if score $random_witch_init gm4_lt_util matches 2 run function gm4_potion_liquids:liquid_init/fire_resistance +execute if score $random_witch_init gm4_lt_util matches 3 run function gm4_potion_liquids:liquid_init/harming diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/regeneration.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/regeneration.mcfunction deleted file mode 100644 index b1a025bb22..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/regeneration.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below regeneration potion tank -#run from potion_liquids:util_below - -effect give @s regeneration 45 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/slow_falling.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/slow_falling.mcfunction deleted file mode 100644 index eaf667a98f..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/slow_falling.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below slow_falling potion tank -#run from potion_liquids:util_below - -effect give @s slow_falling 180 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/slowness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/slowness.mcfunction deleted file mode 100644 index 91bf1b7527..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/slowness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below slowness potion tank -#run from potion_liquids:util_below - -effect give @s slowness 90 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strength.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strength.mcfunction deleted file mode 100644 index ed0235617d..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strength.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below strength potion tank -#run from potion_liquids:util_below - -effect give @s strength 180 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_harming.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_harming.mcfunction deleted file mode 100644 index 458df4ec27..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_harming.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below strong_harming potion tank -#run from potion_liquids:util_below - -effect give @s instant_damage 1 1 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_healing.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_healing.mcfunction deleted file mode 100644 index 94bc572b94..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_healing.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below strong_healing potion tank -#run from potion_liquids:util_below - -effect give @s instant_health 1 1 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_leaping.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_leaping.mcfunction deleted file mode 100644 index 5eaadd51d4..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_leaping.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below strong_leaping potion tank -#run from potion_liquids:util_below - -effect give @s jump_boost 90 1 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_poison.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_poison.mcfunction deleted file mode 100644 index 9bfbb24821..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_poison.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below strong poison potion tank -#run from potion_liquids:util_below - -effect give @s poison 21 1 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_regeneration.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_regeneration.mcfunction deleted file mode 100644 index 1b45618d79..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_regeneration.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below strong regeneration potion tank -#run from potion_liquids:util_below - -effect give @s regeneration 22 1 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_slowness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_slowness.mcfunction deleted file mode 100644 index 62e15cffe3..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_slowness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below strong_slowness potion tank -#run from potion_liquids:util_below - -effect give @s slowness 20 3 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_strength.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_strength.mcfunction deleted file mode 100644 index aa8d4670d8..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_strength.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below strong_strength potion tank -#run from potion_liquids:util_below - -effect give @s strength 90 1 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_swiftness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_swiftness.mcfunction deleted file mode 100644 index ea89d99a5a..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_swiftness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below strong_swiftness potion tank -#run from potion_liquids:util_below - -effect give @s speed 90 1 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_turtle_master.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_turtle_master.mcfunction deleted file mode 100644 index fac311d66f..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/strong_turtle_master.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -#@s = living-base entity below strong_turtle_master potion tank -#run from potion_liquids:util_below - -effect give @s slowness 20 5 -effect give @s resistance 20 3 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/swiftness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/swiftness.mcfunction deleted file mode 100644 index c27a6b610c..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/swiftness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below swiftness potion tank -#run from potion_liquids:util_below - -effect give @s speed 180 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/turtle_master.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/turtle_master.mcfunction deleted file mode 100644 index 025db9d383..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/turtle_master.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -#@s = living-base entity below turtle_master potion tank -#run from potion_liquids:util_below - -effect give @s slowness 20 3 -effect give @s resistance 20 2 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/water_breathing.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/water_breathing.mcfunction deleted file mode 100644 index 11b2b3a145..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/water_breathing.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below water_breathing potion tank -#run from potion_liquids:util_below - -effect give @s water_breathing 180 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/weakness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/weakness.mcfunction deleted file mode 100644 index a9d4cd354a..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/weakness.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#@s = living-base entity below weakness potion tank -#run from potion_liquids:util_below - -effect give @s weakness 180 0 -scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 -playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util_below.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util_below.mcfunction deleted file mode 100644 index 414c54435a..0000000000 --- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util_below.mcfunction +++ /dev/null @@ -1,84 +0,0 @@ -#@s = tank with entity above it positioned ~ ~-1 ~ -#run from liquid_tanks:process via #gm4_liquid_tanks:util_below - -tag @s add gm4_processing_tank - -#night_vision -execute if score @s[tag=gm4_lt_night_vision] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:night_vision'}]}] run function gm4_potion_liquids:util/night_vision - -#invisibility -execute if score @s[tag=gm4_lt_invisibility] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:invisibility'}]}] run function gm4_potion_liquids:util/invisibility - -#leaping -execute if score @s[tag=gm4_lt_leaping] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:jump_boost'}]}] run function gm4_potion_liquids:util/leaping - -#strong_leaping -execute if score @s[tag=gm4_lt_strong_leaping] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:jump_boost',amplifier:1b}]}] run function gm4_potion_liquids:util/strong_leaping - -#fire_resistance -execute if score @s[tag=gm4_lt_fire_resistance] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:fire_resistance'}]}] run function gm4_potion_liquids:util/fire_resistance - -#swiftness -execute if score @s[tag=gm4_lt_swiftness] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:speed'}]}] run function gm4_potion_liquids:util/swiftness - -#strong_swiftness -execute if score @s[tag=gm4_lt_strong_swiftness] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:speed',amplifier:1b}]}] run function gm4_potion_liquids:util/strong_swiftness - -#slowness -execute if score @s[tag=gm4_lt_slowness] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:slowness'}]}] run function gm4_potion_liquids:util/slowness - -#strong_slowness -execute if score @s[tag=gm4_lt_strong_slowness] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:slowness',amplifier:1b}]}] run function gm4_potion_liquids:util/strong_slowness - -#turtle_master -execute if score @s[tag=gm4_lt_turtle_master] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:slowness',amplifier:3b},{id:'minecraft:resistance',amplifier:2b}]}] run function gm4_potion_liquids:util/turtle_master - -#strong_turtle_master -execute if score @s[tag=gm4_lt_strong_turtle_master] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:slowness',amplifier:5b},{id:'minecraft:resistance',amplifier:3b}]}] run function gm4_potion_liquids:util/strong_turtle_master - -#water_breathing -execute if score @s[tag=gm4_lt_water_breathing] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:water_breathing'}]}] run function gm4_potion_liquids:util/water_breathing - -#healing -execute if score @s[tag=gm4_lt_healing] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] run function gm4_potion_liquids:util/healing - -#strong healing -execute if score @s[tag=gm4_lt_strong_healing] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] run function gm4_potion_liquids:util/strong_healing - -#harming -execute if score @s[tag=gm4_lt_harming] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] run function gm4_potion_liquids:util/harming - -#strong harming -execute if score @s[tag=gm4_lt_strong_harming] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] run function gm4_potion_liquids:util/strong_harming - -#poison -execute if score @s[tag=gm4_lt_poison] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:poison'}]}] run function gm4_potion_liquids:util/poison - -#strong poison -execute if score @s[tag=gm4_lt_strong_poison] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:poison',amplifier:1b}]}] run function gm4_potion_liquids:util/strong_poison - -#regeneration -execute if score @s[tag=gm4_lt_regeneration] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:regeneration'}]}] run function gm4_potion_liquids:util/regeneration - -#strong regeneration -execute if score @s[tag=gm4_lt_strong_regeneration] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:regeneration',amplifier:1b}]}] run function gm4_potion_liquids:util/strong_regeneration - -#strength -execute if score @s[tag=gm4_lt_strength] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:strength'}]}] run function gm4_potion_liquids:util/strength - -#strong strength -execute if score @s[tag=gm4_lt_strong_strength] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:strength',amplifier:1b}]}] run function gm4_potion_liquids:util/strong_strength - -#weakness -execute if score @s[tag=gm4_lt_weakness] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:weakness'}]}] run function gm4_potion_liquids:util/weakness - -#luck -execute if score @s[tag=gm4_lt_luck] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:luck'}]}] run function gm4_potion_liquids:util/luck - -#slow falling -execute if score @s[tag=gm4_lt_slow_falling] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:slow_falling'}]}] run function gm4_potion_liquids:util/slow_falling - -#floating -execute if score @s[tag=gm4_lt_floating] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:levitation'}]}] run function gm4_potion_liquids:util/floating - -tag @s remove gm4_processing_tank diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/floating_potion.json b/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/floating_potion.json index b4a03ca63b..3912309868 100644 --- a/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/floating_potion.json +++ b/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/floating_potion.json @@ -31,9 +31,9 @@ "function": "set_name", "name": { "translate": "item.gm4.floating_potion", - "fallback": "Potion of Floating", - "italic": false - } + "fallback": "Potion of Floating" + }, + "target": "item_name" } ] } diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/lingering_floating_potion.json b/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/lingering_floating_potion.json index 84dd67c2f0..2e51c92e86 100644 --- a/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/lingering_floating_potion.json +++ b/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/lingering_floating_potion.json @@ -32,9 +32,9 @@ "function": "set_name", "name": { "translate": "item.gm4.lingering_floating_potion", - "fallback": "Lingering Potion of Floating", - "italic": false - } + "fallback": "Lingering Potion of Floating" + }, + "target": "item_name" }, { "function": "minecraft:set_lore", diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/splash_floating_potion.json b/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/splash_floating_potion.json index d75f170881..2a8a31cb9d 100644 --- a/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/splash_floating_potion.json +++ b/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/splash_floating_potion.json @@ -31,9 +31,9 @@ "function": "set_name", "name": { "translate": "item.gm4.splash_floating_potion", - "fallback": "Splash Potion of Floating", - "italic": false - } + "fallback": "Splash Potion of Floating" + }, + "target": "item_name" } ] } diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/modules/main.bolt b/gm4_potion_liquids/data/gm4_potion_liquids/modules/main.bolt new file mode 100644 index 0000000000..36fe7e74d5 --- /dev/null +++ b/gm4_potion_liquids/data/gm4_potion_liquids/modules/main.bolt @@ -0,0 +1,128 @@ +from gm4_liquid_tanks:liquid_wrappers import Liquid +from functools import partial +from gm4.plugins.player_heads import Skin +import numpy as np +from PIL import Image, ImageChops, ImageColor + +potion_liquid = Liquid(capacity=300) +base_potion = potion_liquid.standard_unit('glass_bottle', 1, f_name="base_potion") +potion_liquid.standard_unit('glass_bottle', 3, f_name="long_potion") # register standard unit +long_potion = partial(potion_liquid.item_drain, output='glass_bottle', value=3) # long potions cannot be filled + +from beet import JsonFile +effect_colors = JsonFile(source_path="gm4_potion_liquids/effect_colors.json").data + +class_defs = {} + +untinted_skin = Skin(source_path="gm4_potion_liquids/untint_skin.png") + +from csv import DictReader +with open("gm4_potion_liquids/potion_definitions.csv", "r") as csvfile: + potion_def_reader = DictReader(csvfile) + for row in potion_def_reader: + if row["potion_id"] in ("water"): + continue # skip this potion type + + class_key = (row["effect_id"], row["effect_amplifier"]) + if row["effect_id"]=="": # effect-less potions each get their own tank type + class_key = (row["potion_id"]) + # setup new liquid type if necessary and add to the dict + if class_key not in class_defs: + # @potion_liquid # we execute the class decorator later after setting up all the bolt stuff + class PotionLiquidClass: + id = row["potion_id"].removeprefix("long_") + name = row["potion_id"].removeprefix("long_").replace("_"," ").title()+" Potion" + + _generators = [] + if row["potion_id"].startswith("strong"): + PotionLiquidClass.skin = "liquids/"+row["potion_id"].removeprefix("strong_") + + potion_liquid.struc = PotionLiquidClass # programatically going around the decorators is odd, + # so we manually set this here so the handler + # knows the right classdef to put mcfunction into + potion_liquid.init() + + class_defs[class_key] = PotionLiquidClass + this_potion_class = class_defs[class_key] + potion_liquid.struc = this_potion_class + + # add this potion to the liquid type + if row["potion_id"].startswith("long"): + this_potion_unit = long_potion + else: + this_potion_unit = base_potion + this_potion_unit(f"minecraft:potion[potion_contents={{potion:\"{row['potion_id']}\"}}]") + + # add this potion's util_below feature + if not row["potion_id"].startswith("long") and not row["effect_id"]=="": + def dispense_potion(row): + effects = row["effect_id"].split("+") + amplifiers = map(int, row["effect_amplifier"].split("+")) + inline_predicate = { + "condition":"minecraft:entity_properties", + "entity":"this", + "predicate":{ + "effects":{} + # { e:{} for e in effects } # dict comprehension not supported by bolt + } + } + for e in effects: + inline_predicate["predicate"]["effects"][e] = {} + + m, s = row["effect_duration"].split(":") + duration = max(int(m)*60 + round(float(s)), 1) + execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] + unless entity @s[gamemode=spectator] + unless predicate inline_predicate + run function f"gm4_potion_liquids:util/dispense/{row["potion_id"]}": + for e, a in zip(effects, amplifiers): + effect give @s e duration (a-1) + scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 + playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 + potion_liquid.util_below(partial(dispense_potion, row)) + + # create this potion's skin texture if needed + skin_id = this_potion_class.id.removeprefix("strong_").removeprefix("long_") + if skin_id not in ctx.data["gm4_potion_liquids"][Skin].generate_tree()["liquids"]: + # compute the potion color for any mixed potions (a weighted average of their colors) + tint_colors = np.empty(shape=(3,0)) + for effect_id in row["effect_id"].split("+"): + rgb = np.array(ImageColor.getrgb(effect_colors[effect_id][0])).reshape((-1,1)) + tint_colors = np.append(tint_colors, rgb, axis=1) + tint_weights = list(map(int, row["effect_amplifier"].split("+"))) + tint_color = tuple(map(int, np.average(tint_colors, weights=tint_weights, axis=1))) + # print('#%02x%02x%02x' % tint_color) + + tint_image = Image.new("RGBA", untinted_skin.image.size, tint_color) + ctx.data[f"gm4_potion_liquids:liquids/{skin_id}"] = Skin(ImageChops.multiply(tint_image, untinted_skin.image)) + +# apply the liquid tanks decorator wrapper +for liquid_class in class_defs.values(): + potion_liquid(liquid_class) + + +# Potions added by this module +potion_liquid.struc = Liquid # return decorator to normal operation +@potion_liquid +class FloatingPotion: + id = "floating" + name = "Floating Potion" + + potion_liquid.init() + @base_potion("minecraft:potion[custom_data~{gm4_potion_liquids:{potion:'floating'}}]") + def floating_potion(): + loot replace entity 344d47-4-4-4-f04ce104d weapon.mainhand loot gm4_potion_liquids:floating_potion + + @potion_liquid.util_below + def dispense_float_potion(): + execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] + unless entity @s[gamemode=spectator] + unless predicate { + "condition":"minecraft:entity_properties", + "entity":"this", + "predicate":{"effects":{"levitation":{}}} + } + run function gm4_potion_liquids:util/dispense/floating: + effect give @s levitation 45 2 + scoreboard players remove @e[type=marker,tag=gm4_liquid_tank,tag=gm4_processing_tank,distance=..8] gm4_lt_value 1 + playsound entity.player.swim block @a[distance=..8] ~ ~ ~ .5 1.5 diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/fire_resistance.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/fire_resistance.png index 3d9328b11e..533181d918 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/fire_resistance.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/fire_resistance.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/floating.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/floating.png index 6d63f6e5ff..f3f70e3d1c 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/floating.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/floating.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/harming.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/harming.png index 9efe21946f..1b4c378fa2 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/harming.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/harming.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/healing.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/healing.png index 14beefcbae..cfc1fa2ea0 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/healing.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/healing.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/invisibility.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/invisibility.png index 57b41befd0..bbc71fd5fe 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/invisibility.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/invisibility.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/leaping.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/leaping.png index 29d22dce2b..7e5473a580 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/leaping.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/leaping.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/luck.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/luck.png deleted file mode 100644 index 2aa399e667..0000000000 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/luck.png and /dev/null differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/night_vision.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/night_vision.png index 408d01395e..26edc7bc78 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/night_vision.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/night_vision.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/poison.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/poison.png index a52290d62f..2e1801c38b 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/poison.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/poison.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/regeneration.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/regeneration.png index 666fda641b..e8f51ca9db 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/regeneration.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/regeneration.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/slow_falling.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/slow_falling.png deleted file mode 100644 index 483ed1c8a1..0000000000 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/slow_falling.png and /dev/null differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/slowness.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/slowness.png index 4aae2b682e..b7ab57d369 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/slowness.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/slowness.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/strength.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/strength.png index d415ecb93a..4e15f439cf 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/strength.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/strength.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/swiftness.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/swiftness.png index c01893a79d..355d6386ad 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/swiftness.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/swiftness.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/turtle_master.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/turtle_master.png deleted file mode 100644 index 06db257b80..0000000000 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/turtle_master.png and /dev/null differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/water_breathing.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/water_breathing.png index 768cbf24cf..3ad30a05bf 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/water_breathing.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/water_breathing.png differ diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/weakness.png b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/weakness.png index 46223dc926..a4ad39a4cc 100644 Binary files a/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/weakness.png and b/gm4_potion_liquids/data/gm4_potion_liquids/skins/liquids/weakness.png differ diff --git a/gm4_potion_liquids/effect_colors.json b/gm4_potion_liquids/effect_colors.json new file mode 100644 index 0000000000..cc50ecf633 --- /dev/null +++ b/gm4_potion_liquids/effect_colors.json @@ -0,0 +1,43 @@ +{ + "": ["#385DC6", 3694022], + "absorption": ["#2552A5", 2445989], + "bad_omen": ["#0B6138", 745784], + "blindness": ["#1F1F23", 2039587], + "conduit_power": ["#1DC2D1", 1950417], + "darkness": ["#292721", 2696993], + "dolphins_grace": ["#88A3BE", 8954814], + "fire_resistance": ["#FF9900", 16750848], + "glowing": ["#94A061", 9740385], + "haste": ["#D9C043", 14270531], + "health_boost": ["#F87D23", 16284963], + "hero_of_the_village": ["#44FF44", 4521796], + "hunger": ["#587653", 5797459], + "infested": ["#8C9B8C", 9214860], + "instant_damage": ["#A9656A", 11101546], + "instant_health": ["#F82423", 16262179], + "invisibility": ["#F6F6F6", 16185078], + "jump_boost": ["#FDFF84", 16646020], + "levitation": ["#CEFFFF", 13565951], + "luck": ["#59C106", 5882118], + "mining_fatigue": ["#4A4217", 4866583], + "nausea": ["#551D4A", 5578058], + "night_vision": ["#C2FF66", 12779366], + "oozing": ["#99FFA3", 10092451], + "poison": ["#87A363" ,8889187], + "raid_omen": ["#DE4058", 14565464], + "regeneration": ["#CD5CAB", 13458603], + "resistance": ["#9146F0", 9520880], + "saturation": ["#F82423", 16262179], + "slow_falling": ["#F3CFB9", 15978425], + "slowness": ["#8BAFE0", 9154528], + "speed": ["#33EBFF", 3402751], + "strength": ["#FFC700", 16762624], + "trial_omen": ["#16A6A6", 1484454], + "unluck": ["#C0A44D", 12624973], + "water_breathing": ["#98DAC0", 10017472], + "weakness": ["#484D48", 4738376], + "weaving": ["#78695A", 7891290], + "wind_charged": ["#BDC9FF", 12438015], + "wither": ["#736156", 7561558] +} + diff --git a/gm4_potion_liquids/potion_definitions.csv b/gm4_potion_liquids/potion_definitions.csv new file mode 100644 index 0000000000..6c0b2c758e --- /dev/null +++ b/gm4_potion_liquids/potion_definitions.csv @@ -0,0 +1,47 @@ +potion_id,"effect_id","effect_amplifier","effect_duration" +awkward,,1, +fire_resistance,fire_resistance,1,3:00 +harming,instant_damage,1,0:00 +healing,instant_health,1,0:00 +infested,infested,1,3:00 +invisibility,invisibility,1,3:00 +leaping,jump_boost,1,3:00 +long_fire_resistance,fire_resistance,1,8:00 +long_invisibility,invisibility,1,8:00 +long_leaping,jump_boost,1,8:00 +long_night_vision,night_vision,1,8:00 +long_poison,poison,1,1:30 +long_regeneration,regeneration,1,1:30 +long_slow_falling,slow_falling,1,4:00 +long_slowness,slowness,1,4:00 +long_strength,strength,1,8:00 +long_swiftness,speed,1,8:00 +long_turtle_master,slowness+resistance,4+3,0:40 +long_water_breathing,water_breathing,1,8:00 +long_weakness,weakness,1,4:00 +luck,luck,1,5:00 +mundane,,1, +night_vision,night_vision,1,3:00 +oozing,oozing,1,3:00 +poison,poison,1,0:45 +regeneration,regeneration,1,0:45 +slow_falling,slow_falling,1,1:30 +slowness,slowness,1,1:30 +strength,strength,1,3:00 +strong_harming,instant_damage,2,0:00 +strong_healing,instant_health,2,0:00 +strong_leaping,jump_boost,2,1:30 +strong_poison,poison,2,0:21.6 +strong_regeneration,regeneration,2,0:22.5 +strong_slowness,slowness,4,0:20 +strong_strength,strength,2,1:30 +strong_swiftness,speed,2,1:30 +strong_turtle_master,slowness+resistance,5+4,0:20 +swiftness,speed,1,3:00 +thick,,1, +turtle_master,slowness+resistance,4+3,0:20 +water,,1, +water_breathing,water_breathing,1,3:00 +weakness,weakness,1,1:30 +weaving,weaving,1,1:30 +wind_charged,wind_charged,1,1:20 diff --git a/gm4_potion_liquids/translations.csv b/gm4_potion_liquids/translations.csv index d4fa763656..156a63cf5e 100644 --- a/gm4_potion_liquids/translations.csv +++ b/gm4_potion_liquids/translations.csv @@ -34,3 +34,10 @@ text.gm4.guidebook.module_desc.potion_liquids,Adds the ability to store potions text.gm4.guidebook.potion_liquids.description,"Potions can be stored in liquid tanks; extended potions count as a three potions.\n\nPotions can be taken out by putting a bottle in the tank, but tanks will not output extended potions." text.gm4.guidebook.potion_liquids.mob_effects_and_shulkers,Mobs under a potion tank will gain the potion effect from that tank.\n\nShulkers on an empty or levitation potion tank will fill it with Levitation potion liquid. text.gm4.guidebook.potion_liquids.witches,"Witches on an empty tank will fill it with Regeneration, Fire Resistance, Speed, or Instant Damage potion liquid.\n\nThey will also fill pre-existing potion tanks with those four potions." +container.gm4.liquid_tank.awkward,Awkward Potion Tank +container.gm4.liquid_tank.infested,Infested Potion Tank +container.gm4.liquid_tank.mundane,Mundane Potion Tank +container.gm4.liquid_tank.oozing,Oozing Potion Tank +container.gm4.liquid_tank.thick,Thick Potion Tank +container.gm4.liquid_tank.weaving,Weaving Potion Tank +container.gm4.liquid_tank.wind_charged,Wind Charged Potion Tank diff --git a/gm4_potion_liquids/untint_skin.png b/gm4_potion_liquids/untint_skin.png new file mode 100644 index 0000000000..542da907eb Binary files /dev/null and b/gm4_potion_liquids/untint_skin.png differ diff --git a/gm4_washing_tanks/beet.yaml b/gm4_washing_tanks/beet.yaml index 889a657412..8cbc6b611d 100644 --- a/gm4_washing_tanks/beet.yaml +++ b/gm4_washing_tanks/beet.yaml @@ -5,6 +5,9 @@ version: 1.4.X data_pack: load: . +require: + - bolt + pipeline: - gm4.plugins.extend.module @@ -12,7 +15,7 @@ meta: gm4: versioning: required: - gm4_liquid_tanks: 2.3.0 + gm4_liquid_tanks: 2.7.0 website: description: Die! Dye! Remove die from items in a Liquid Tank filled with Water, at the cost of ⅓ of a bucket. recommended: [] diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/item_fill.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/item_fill.mcfunction index c425bcb7e5..c3633e84fa 100644 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/item_fill.mcfunction +++ b/gm4_washing_tanks/data/gm4_washing_tanks/function/item_fill.mcfunction @@ -1,4 +1,4 @@ #@s = liquid tank with item in first slot #run from liquid_tanks:item_process -execute if entity @s[tag=gm4_lt_water] as @e[type=armor_stand,tag=gm4_liquid_tank_stand,distance=..0.6,limit=1] run function gm4_washing_tanks:wash +execute if entity @s[tag=gm4_lt_water] run function gm4_washing_tanks:wash diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/wash.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/wash.mcfunction index 43735f4602..4663b8de68 100644 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/wash.mcfunction +++ b/gm4_washing_tanks/data/gm4_washing_tanks/function/wash.mcfunction @@ -1,18 +1,27 @@ #@s = water tank liquid_tank_stand with item in first slot #run from item_fill -# Copy item to armor stand offhand -data modify entity @s HandItems[1] merge value {id:"minecraft:stick",count:1} -data modify entity @s HandItems[1].id set from storage gm4_liquid_tanks:temp/tank input_slot.id +conversions = { + "glass": "glass", + "glass_pane": "glass_pane", + "terracotta": "terracotta", + "wool": "white_wool", + "bed": "white_bed", + "carpet": "white_carpet", + "shulker_box": "shulker_box" +} -execute if predicate gm4_washing_tanks:glass as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/glass -execute if predicate gm4_washing_tanks:glass_pane as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/glass_pane -execute if predicate gm4_washing_tanks:terracotta as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/terracotta -execute if predicate gm4_washing_tanks:wool as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/wool -execute if predicate gm4_washing_tanks:bed as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/bed -execute if predicate gm4_washing_tanks:carpet as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/carpet -execute if predicate gm4_washing_tanks:armour if data storage gm4_liquid_tanks:temp/tank input_slot.components."minecraft:dyed_color" as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/armour -execute if predicate gm4_washing_tanks:shulker_box as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/shulker_box +for from_id, to_id in conversions.items(): + execute if items block ~ ~ ~ container.0 f"#gm4_washing_tanks:{from_id}" run function f"gm4_washing_tanks:washing_recipes/{from_id}": + scoreboard players set $item_value gm4_lt_value -1 + item replace entity 00344d47-0004-0004-0004-000f04ce104d weapon.mainhand from block ~ ~ ~ container.0 + item modify entity 00344d47-0004-0004-0004-000f04ce104d weapon.mainhand {"function":"minecraft:set_item", "item":f"minecraft:{to_id}"} + function gm4_liquid_tanks:smart_item_fill + tag @s add gm4_lt_fill -# Clear armor stand offhand -data modify entity @s HandItems[1] set value {} +execute if items block ~ ~ ~ container.0 #gm4_washing_tanks:armour[dyed_color] run function gm4_washing_tanks:washing_recipes/armour: + scoreboard players set $item_value gm4_lt_value -1 + item replace entity 00344d47-0004-0004-0004-000f04ce104d weapon.mainhand from block ~ ~ ~ container.0 + item modify entity 00344d47-0004-0004-0004-000f04ce104d weapon.mainhand {"function":"minecraft:set_components", "components":{"!minecraft:dyed_color":{}}} + function gm4_liquid_tanks:smart_item_fill + tag @s add gm4_lt_fill diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/armour.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/armour.mcfunction deleted file mode 100644 index b90ce8014d..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/armour.mcfunction +++ /dev/null @@ -1,11 +0,0 @@ -#@s = water tank with one leather armour in the first slot -#run from wash - -scoreboard players set $item_value gm4_lt_value -1 - -data modify storage gm4_liquid_tanks:temp/tank output set from storage gm4_liquid_tanks:temp/tank input_slot - -data remove storage gm4_liquid_tanks:temp/tank output.components."minecraft:dyed_color" - -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/bed.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/bed.mcfunction deleted file mode 100644 index c0f240ba91..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/bed.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#@s = water tank with one coloured bed in the first slot -#run from wash - -scoreboard players set $item_value gm4_lt_value -1 -data modify storage gm4_liquid_tanks:temp/tank output set from storage gm4_liquid_tanks:temp/tank input_slot -data modify storage gm4_liquid_tanks:temp/tank output.id set value white_bed -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/carpet.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/carpet.mcfunction deleted file mode 100644 index b54749b1d9..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/carpet.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#@s = water tank with one coloured carpet in the first slot -#run from wash - -scoreboard players set $item_value gm4_lt_value -1 -data modify storage gm4_liquid_tanks:temp/tank output set from storage gm4_liquid_tanks:temp/tank input_slot -data modify storage gm4_liquid_tanks:temp/tank output.id set value white_carpet -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/glass.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/glass.mcfunction deleted file mode 100644 index 5e75d03749..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/glass.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#@s = water tank with one stained glass in the first slot -#run from wash - -scoreboard players set $item_value gm4_lt_value -1 -data modify storage gm4_liquid_tanks:temp/tank output set from storage gm4_liquid_tanks:temp/tank input_slot -data modify storage gm4_liquid_tanks:temp/tank output.id set value glass -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/glass_pane.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/glass_pane.mcfunction deleted file mode 100644 index d0eb013cd0..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/glass_pane.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#@s = water tank with one stained glass pane in the first slot -#run from wash - -scoreboard players set $item_value gm4_lt_value -1 -data modify storage gm4_liquid_tanks:temp/tank output set from storage gm4_liquid_tanks:temp/tank input_slot -data modify storage gm4_liquid_tanks:temp/tank output.id set value glass_pane -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/shulker_box.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/shulker_box.mcfunction deleted file mode 100644 index be606d088e..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/shulker_box.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#@s = water tank with one coloured shulker box in the first slot -#run from wash - -scoreboard players set $item_value gm4_lt_value -1 -data modify storage gm4_liquid_tanks:temp/tank output set from storage gm4_liquid_tanks:temp/tank input_slot -data modify storage gm4_liquid_tanks:temp/tank output.id set value shulker_box -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/terracotta.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/terracotta.mcfunction deleted file mode 100644 index 28680d4c50..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/terracotta.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#@s = water tank with one coloured terracotta in the first slot -#run from wash - -scoreboard players set $item_value gm4_lt_value -1 -data modify storage gm4_liquid_tanks:temp/tank output set from storage gm4_liquid_tanks:temp/tank input_slot -data modify storage gm4_liquid_tanks:temp/tank output.id set value terracotta -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/wool.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/wool.mcfunction deleted file mode 100644 index f2fe49cc93..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/function/washing_recipes/wool.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#@s = water tank with one coloured wool in the first slot -#run from wash - -scoreboard players set $item_value gm4_lt_value -1 -data modify storage gm4_liquid_tanks:temp/tank output set from storage gm4_liquid_tanks:temp/tank input_slot -data modify storage gm4_liquid_tanks:temp/tank output.id set value white_wool -function gm4_liquid_tanks:smart_item_fill -tag @s add gm4_lt_fill diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/armour.json b/gm4_washing_tanks/data/gm4_washing_tanks/predicate/armour.json deleted file mode 100644 index ef34c2d59d..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/armour.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "items": "#gm4_washing_tanks:armour" - } - } - } -} diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/bed.json b/gm4_washing_tanks/data/gm4_washing_tanks/predicate/bed.json deleted file mode 100644 index 944059c92a..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/bed.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "items": "#gm4_washing_tanks:bed" - } - } - } -} diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/carpet.json b/gm4_washing_tanks/data/gm4_washing_tanks/predicate/carpet.json deleted file mode 100644 index 18f9926ab9..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/carpet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "items": "#gm4_washing_tanks:carpet" - } - } - } -} diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/glass.json b/gm4_washing_tanks/data/gm4_washing_tanks/predicate/glass.json deleted file mode 100644 index 853b049d97..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/glass.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "items": "#gm4_washing_tanks:glass" - } - } - } -} diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/glass_pane.json b/gm4_washing_tanks/data/gm4_washing_tanks/predicate/glass_pane.json deleted file mode 100644 index 08705b7145..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/glass_pane.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "items": "#gm4_washing_tanks:glass_pane" - } - } - } -} diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/shulker_box.json b/gm4_washing_tanks/data/gm4_washing_tanks/predicate/shulker_box.json deleted file mode 100644 index 97b7f37176..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/shulker_box.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "items": "#gm4_washing_tanks:shulker_box" - } - } - } -} diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/terracotta.json b/gm4_washing_tanks/data/gm4_washing_tanks/predicate/terracotta.json deleted file mode 100644 index c7cf2b6ee2..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/terracotta.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "items": "#gm4_washing_tanks:terracotta" - } - } - } -} diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/wool.json b/gm4_washing_tanks/data/gm4_washing_tanks/predicate/wool.json deleted file mode 100644 index be3e5966e2..0000000000 --- a/gm4_washing_tanks/data/gm4_washing_tanks/predicate/wool.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "items": "#gm4_washing_tanks:wool" - } - } - } -} diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/tags/item/armour.json b/gm4_washing_tanks/data/gm4_washing_tanks/tags/item/armour.json index b4d980c6b8..8b0e6a0e1f 100644 --- a/gm4_washing_tanks/data/gm4_washing_tanks/tags/item/armour.json +++ b/gm4_washing_tanks/data/gm4_washing_tanks/tags/item/armour.json @@ -4,6 +4,7 @@ "minecraft:leather_leggings", "minecraft:leather_chestplate", "minecraft:leather_helmet", + "minecraft:leather_horse_armor", "minecraft:wolf_armor" ] }