From 79b92c30f4728fc60ba5d07ecf79bc00169cf1fe Mon Sep 17 00:00:00 2001 From: Thanathor Date: Fri, 25 Aug 2023 16:10:51 +0200 Subject: [PATCH 01/34] add furniture datapack --- gm4_furniture/README.md | 6 ++ gm4_furniture/beet.yaml | 30 +++++++ .../tags/functions/check_recipes.json | 5 ++ .../advancements/hit_furniture.json | 37 +++++++++ .../advancements/interact_with_furniture.json | 23 ++++++ .../advancements/place_furniture.json | 49 ++++++++++++ .../advancements/use_paintbrush_on_horse.json | 29 +++++++ .../functions/break/destroy.mcfunction | 5 ++ .../functions/break/detect_hit.mcfunction | 6 ++ .../functions/break/drop_item.mcfunction | 2 + .../functions/break/find_main.mcfunction | 5 ++ .../functions/break/process_hit.mcfunction | 10 +++ .../functions/break/remove_block.mcfunction | 4 + .../functions/check_recipe.mcfunction | 4 + .../gm4_furniture/functions/init.mcfunction | 13 +++ .../functions/interact/detect.mcfunction | 13 +++ .../interact/paint/detect.mcfunction | 4 + .../interact/paint/process.mcfunction | 8 ++ .../functions/interact/sit/detect.mcfunction | 4 + .../functions/interact/sit/process.mcfunction | 4 + .../gm4_furniture/functions/main.mcfunction | 4 + .../functions/place/check_layer.mcfunction | 68 ++++++++++++++++ .../place/check_size/depth_loop.mcfunction | 12 +++ .../place/check_size/depth_offset.mcfunction | 9 +++ .../place/check_size/depth_prep.mcfunction | 9 +++ .../place/check_size/height_loop.mcfunction | 12 +++ .../place/check_size/height_offset.mcfunction | 9 +++ .../place/check_size/height_prep.mcfunction | 10 +++ .../place/check_size/length_loop.mcfunction | 12 +++ .../place/check_size/length_offset.mcfunction | 10 +++ .../place/check_size/length_prep.mcfunction | 8 ++ .../place/count_heads/east.mcfunction | 27 +++++++ .../place/count_heads/north.mcfunction | 27 +++++++ .../place/count_heads/south.mcfunction | 27 +++++++ .../place/count_heads/west.mcfunction | 27 +++++++ .../place/place_furniture.mcfunction | 29 +++++++ .../functions/place/prep_place.mcfunction | 19 +++++ .../functions/place/resolve_id.mcfunction | 5 ++ .../paintbrush/remove_from_horse.mcfunction | 3 + .../paintbrush/used_on_horse.mcfunction | 9 +++ .../loot_tables/crafting/paintbrush.json | 29 +++++++ .../loot_tables/furniture/base.json | 20 +++++ .../loot_tables/items/paintbrush.json | 28 +++++++ .../predicates/holding_paintbrush.json | 14 ++++ .../tags/blocks/player_heads.json | 6 ++ .../templates/functions/template.mcfunction | 69 ++++++++++++++++ .../templates/loot_tables/template.json | 31 +++++++ gm4_furniture/generate.py | 80 +++++++++++++++++++ 48 files changed, 874 insertions(+) create mode 100644 gm4_furniture/README.md create mode 100644 gm4_furniture/beet.yaml create mode 100644 gm4_furniture/data/gm4_custom_crafters/tags/functions/check_recipes.json create mode 100644 gm4_furniture/data/gm4_furniture/advancements/hit_furniture.json create mode 100644 gm4_furniture/data/gm4_furniture/advancements/interact_with_furniture.json create mode 100644 gm4_furniture/data/gm4_furniture/advancements/place_furniture.json create mode 100644 gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/check_recipe.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/init.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/detect.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/paint/detect.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/sit/detect.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/main.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_layer.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_size/length_prep.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/count_heads/east.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/count_heads/north.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/count_heads/south.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/count_heads/west.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/remove_from_horse.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/used_on_horse.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/loot_tables/crafting/paintbrush.json create mode 100644 gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json create mode 100644 gm4_furniture/data/gm4_furniture/loot_tables/items/paintbrush.json create mode 100644 gm4_furniture/data/gm4_furniture/predicates/holding_paintbrush.json create mode 100644 gm4_furniture/data/gm4_furniture/tags/blocks/player_heads.json create mode 100644 gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/templates/loot_tables/template.json create mode 100644 gm4_furniture/generate.py diff --git a/gm4_furniture/README.md b/gm4_furniture/README.md new file mode 100644 index 0000000000..7a86e8f4b7 --- /dev/null +++ b/gm4_furniture/README.md @@ -0,0 +1,6 @@ +# Furniture + +Add Furniture TODO: improve this readme! + +### Features +- Add Furniture diff --git a/gm4_furniture/beet.yaml b/gm4_furniture/beet.yaml new file mode 100644 index 0000000000..1fff13d64b --- /dev/null +++ b/gm4_furniture/beet.yaml @@ -0,0 +1,30 @@ +id: gm4_furniture +name: Furniture +version: 1.0.X + +data_pack: + load: . + +pipeline: + - gm4_furniture.generate + - gm4.plugins.extend.module + - gm4.plugins.include.lib_custom_crafters + +meta: + gm4: + versioning: + required: + - lib_custom_crafters: 3.0.0 + schedule_loops: [main] + website: + description: Furniture! + recommended: [] + notes: + - Resourcepack is required for this module to work. + video: null + wiki: https://wiki.gm4.co/wiki/Furniture + credits: + Creator: + - Thanathor + Textures: + - kyrkis diff --git a/gm4_furniture/data/gm4_custom_crafters/tags/functions/check_recipes.json b/gm4_furniture/data/gm4_custom_crafters/tags/functions/check_recipes.json new file mode 100644 index 0000000000..eb50d22499 --- /dev/null +++ b/gm4_furniture/data/gm4_custom_crafters/tags/functions/check_recipes.json @@ -0,0 +1,5 @@ +{ + "values": [ + "gm4_furniture:check_recipe" + ] +} diff --git a/gm4_furniture/data/gm4_furniture/advancements/hit_furniture.json b/gm4_furniture/data/gm4_furniture/advancements/hit_furniture.json new file mode 100644 index 0000000000..3069fa9e28 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/advancements/hit_furniture.json @@ -0,0 +1,37 @@ +{ + "criteria": { + "requirement": { + "trigger": "minecraft:player_hurt_entity", + "conditions": { + "player": [ + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "player", + "gamemode": "adventure" + } + } + } + } + ], + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:interaction", + "nbt": "{Tags:[\"gm4_furniture\"]}" + } + } + ] + } + } + }, + "rewards": { + "function": "gm4_furniture:break/detect_hit" + } +} diff --git a/gm4_furniture/data/gm4_furniture/advancements/interact_with_furniture.json b/gm4_furniture/data/gm4_furniture/advancements/interact_with_furniture.json new file mode 100644 index 0000000000..f171a1b3de --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/advancements/interact_with_furniture.json @@ -0,0 +1,23 @@ +{ + "criteria": { + "requirement": { + "trigger": "minecraft:player_interacted_with_entity", + "conditions": { + "player": [], + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:interaction", + "nbt": "{Tags:[\"gm4_furniture\"]}" + } + } + ] + } + } + }, + "rewards": { + "function": "gm4_furniture:interact/detect" + } +} diff --git a/gm4_furniture/data/gm4_furniture/advancements/place_furniture.json b/gm4_furniture/data/gm4_furniture/advancements/place_furniture.json new file mode 100644 index 0000000000..ab8a39e6c8 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/advancements/place_furniture.json @@ -0,0 +1,49 @@ +{ + "criteria": { + "placed_furniture": { + "trigger": "minecraft:placed_block", + "conditions": { + "location": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:player_head" + ], + "nbt": "{SkullOwner:{Properties:{textures:[{Signature:\"gm4_furniture\"}]}}}" + } + } + ], + "player": [ + { + "condition": "minecraft:value_check", + "value": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "gm4_furniture" + }, + "score": "load.status" + }, + "range": 1 + }, + { + "condition": "minecraft:value_check", + "value": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "gm4_furniture_minor" + }, + "score": "load.status" + }, + "range": 0 + } + ] + } + } + }, + "rewards": { + "function": "gm4_furniture:place/place_furniture" + } +} diff --git a/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json b/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json new file mode 100644 index 0000000000..907c746189 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json @@ -0,0 +1,29 @@ +{ + "criteria": { + "requirement": { + "trigger": "minecraft:player_interacted_with_entity", + "conditions": { + "player": [], + "item": { + "items": [ + "minecraft:leather_horse_armor" + ], + "nbt": "{gm4_furniture:paintbrush}" + }, + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:horse" + } + } + ] + } + } + }, + "rewards": { + "function": "gm4_furniture:technical/paintbrush/used_on_horse" + } + } + \ No newline at end of file diff --git a/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction new file mode 100644 index 0000000000..222b0c8a6f --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction @@ -0,0 +1,5 @@ + +execute if score $creative gm4_furniture_data matches 0 positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] run function gm4_furniture:break/drop_item with entity @s item.tag.data + +execute as @e[type=interaction,tag=gm4_furniture,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s run function gm4_furniture:break/remove_block +playsound minecraft:entity.armor_stand.break block @a[distance=..8] ~ ~ ~ 1 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction new file mode 100644 index 0000000000..b81602e0ce --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction @@ -0,0 +1,6 @@ + +advancement revoke @s only gm4_furniture:hit_furniture + +execute store success score $creative gm4_furniture_data if entity @s[gamemode=creative] + +execute as @e[type=interaction,tag=gm4_furniture,distance=..8] if data entity @s attack at @s run function gm4_furniture:break/find_main diff --git a/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction new file mode 100644 index 0000000000..1bc940ac4b --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction @@ -0,0 +1,2 @@ + +$loot spawn ~.5 ~.25 ~.5 loot $(loot_table) diff --git a/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction new file mode 100644 index 0000000000..82cdd51a74 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction @@ -0,0 +1,5 @@ + +execute store result score $hit gm4_furniture_last_hit run data get entity @s attack.timestamp +scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id +execute as @e[type=interaction,tag=gm4_furniture.main,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s run function gm4_furniture:break/process_hit +data remove entity @s attack diff --git a/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction new file mode 100644 index 0000000000..d0826bd81c --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction @@ -0,0 +1,10 @@ + +scoreboard players operation $check_break gm4_furniture_last_hit = $hit gm4_furniture_last_hit +scoreboard players operation $check_break gm4_furniture_last_hit -= @s gm4_furniture_last_hit +execute if score $creative gm4_furniture_data matches 1 run scoreboard players set $check_break gm4_furniture_last_hit 0 + +execute if score $check_break gm4_furniture_last_hit matches ..4 run function gm4_furniture:break/destroy +execute unless score $check_break gm4_furniture_last_hit matches ..4 run scoreboard players operation @s gm4_furniture_last_hit = $hit gm4_furniture_last_hit + +playsound minecraft:entity.armor_stand.hit block @a[distance=..8] ~ ~ ~ 1 1 +playsound minecraft:entity.player.attack.strong block @a[distance=..8] ~ ~ ~ 1 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction new file mode 100644 index 0000000000..5451e91190 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction @@ -0,0 +1,4 @@ + +execute positioned ~0.0001 ~0.5001 ~0.0001 run setblock ~ ~ ~ air +execute positioned ~-0.4999 ~0.0001 ~-0.4999 run kill @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] +kill @s diff --git a/gm4_furniture/data/gm4_furniture/functions/check_recipe.mcfunction b/gm4_furniture/data/gm4_furniture/functions/check_recipe.mcfunction new file mode 100644 index 0000000000..08f01b6c30 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/check_recipe.mcfunction @@ -0,0 +1,4 @@ +# @s = custom crafter running recipes +# run from #gm4_custom_crafters:check_recipes + +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 5 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:string"},{Slot:1b,id:"minecraft:string"},{Slot:2b,id:"minecraft:string"},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:7b,id:"minecraft:stick"}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/paintbrush diff --git a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction new file mode 100644 index 0000000000..8071506d61 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction @@ -0,0 +1,13 @@ +execute unless score furniture gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Furniture"} +execute unless score furniture gm4_earliest_version < furniture gm4_modules run scoreboard players operation furniture gm4_earliest_version = furniture gm4_modules +scoreboard players set furniture gm4_modules 1 + +scoreboard objectives add gm4_furniture_data dummy +scoreboard objectives add gm4_furniture_last_hit dummy +scoreboard objectives add gm4_furniture_id dummy + +scoreboard players set #2 gm4_furniture_data 2 + +schedule function gm4_furniture:main 1t + +#$moduleUpdateList diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/detect.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/detect.mcfunction new file mode 100644 index 0000000000..c004bf23d1 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/detect.mcfunction @@ -0,0 +1,13 @@ + +advancement revoke @s only gm4_furniture:interact_with_furniture + +scoreboard players set $interaction_processed gm4_furniture_data 0 + +# check for painting +execute if predicate gm4_furniture:holding_paintbrush run function gm4_furniture:interact/paint/detect + +# check for sitting +execute if score $interaction_processed gm4_furniture_data matches 0 unless predicate gm4_furniture:holding_paintbrush run function gm4_furniture:interact/sit/detect + +# cleanup if nothing else triggered +execute if score $interaction_processed gm4_furniture_data matches 0 as @e[type=interaction,tag=gm4_furniture,distance=..8] if data entity @s interaction run data remove entity @s interaction diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/paint/detect.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/paint/detect.mcfunction new file mode 100644 index 0000000000..0d1e010da4 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/paint/detect.mcfunction @@ -0,0 +1,4 @@ + +data modify storage gm4_furniture:temp color set from entity @s SelectedItem.tag.display.color +execute if data storage gm4_furniture:temp color as @e[type=interaction,tag=gm4_furniture.dyable,distance=..8] if data entity @s interaction at @s run function gm4_furniture:interact/paint/process +data remove storage gm4_furniture:temp color diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction new file mode 100644 index 0000000000..dff5b0ca93 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction @@ -0,0 +1,8 @@ + +scoreboard players set $interaction_processed gm4_furniture_data 1 + +scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id +execute as @e[type=interaction,tag=gm4_furniture.main,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] store success score $paint_changed gm4_furniture_data run data modify entity @s item.tag.display.color set from storage gm4_furniture:temp color +data remove entity @s interaction + +execute if score $paint_changed gm4_furniture_data matches 1 run playsound item.dye.use player @a[distance=..8] ~ ~ ~ 1 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sit/detect.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sit/detect.mcfunction new file mode 100644 index 0000000000..5c08c1d110 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/sit/detect.mcfunction @@ -0,0 +1,4 @@ + +tag @s add gm4_furniture_target +execute as @e[type=interaction,tag=gm4_furniture.sittable,distance=..8] if data entity @s interaction at @s positioned ~-0.4999 ~0.0001 ~-0.4999 run function gm4_furniture:interact/sit/process +tag @s remove gm4_furniture_target diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction new file mode 100644 index 0000000000..79357e0980 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction @@ -0,0 +1,4 @@ + +ride @p[tag=gm4_furniture_target] dismount +ride @p[tag=gm4_furniture_target] mount @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] +data remove entity @s interaction diff --git a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction new file mode 100644 index 0000000000..2309a28baa --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction @@ -0,0 +1,4 @@ +schedule function gm4_furniture:main 8t + +# check horses, remove paintbrushes that have been equipped +execute as @e[type=horse,nbt={ArmorItems:[{tag:{gm4_furniture:"paintbrush"}}]}] at @s run function gm4_furniture:technical/paintbrush/remove_from_horse diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_layer.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_layer.mcfunction new file mode 100644 index 0000000000..9a49ee6582 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_layer.mcfunction @@ -0,0 +1,68 @@ +# replaces any furniture player heads with their corresponding furniture +# @s = player that just placed a furniture player head +# at @s rotated positioned ^-4 ^X ^-1, X = layer number - 4 +# run from place/place_furniture + +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^ ^ ^ if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^1 ^ ^ if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^2 ^ ^ if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^3 ^ ^ if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^4 ^ ^ if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^5 ^ ^ if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^6 ^ ^ if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^7 ^ ^ if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^8 ^ ^ if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place + +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^ ^ ^1 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^1 ^ ^1 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^2 ^ ^1 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^3 ^ ^1 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^4 ^ ^1 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^5 ^ ^1 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^6 ^ ^1 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^7 ^ ^1 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^8 ^ ^1 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place + +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^ ^ ^2 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^1 ^ ^2 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^2 ^ ^2 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^3 ^ ^2 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^4 ^ ^2 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^5 ^ ^2 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^6 ^ ^2 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^7 ^ ^2 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^8 ^ ^2 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place + +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^ ^ ^3 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^1 ^ ^3 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^2 ^ ^3 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^3 ^ ^3 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^4 ^ ^3 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^5 ^ ^3 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^6 ^ ^3 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^7 ^ ^3 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^8 ^ ^3 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place + +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^ ^ ^4 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^1 ^ ^4 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^2 ^ ^4 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^3 ^ ^4 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^4 ^ ^4 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^5 ^ ^4 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^6 ^ ^4 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^7 ^ ^4 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^8 ^ ^4 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place + +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^ ^ ^5 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^1 ^ ^5 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^2 ^ ^5 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^3 ^ ^5 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^4 ^ ^5 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^5 ^ ^5 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^6 ^ ^5 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^7 ^ ^5 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place +execute if score $player_head_count gm4_furniture_data matches 1.. positioned ^8 ^ ^5 if block ~ ~ ~ #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} run function gm4_furniture:place/prep_place + + +scoreboard players add $layer_count gm4_furniture_data 1 +execute if score $player_head_count gm4_furniture_data matches 1.. if score $layer_count gm4_furniture_data matches ..10 positioned ~ ~1 ~ run function gm4_furniture:place/check_layer diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction new file mode 100644 index 0000000000..e2b95624ac --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction @@ -0,0 +1,12 @@ +# check if furniture fits here +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^ ^ ^x +# run from place/check_size/depth_prep +# run from here + +execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} + +scoreboard players remove $depth gm4_furniture_data 1 +execute if score $depth gm4_furniture_data matches 1.. positioned ^ ^ ^1 run function gm4_furniture:place/check_size/depth_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction new file mode 100644 index 0000000000..179465b445 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction @@ -0,0 +1,9 @@ +# check if furniture fits here +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^x ^ ^ +# run from place/check_size/depth_prep +# run from here + +execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction new file mode 100644 index 0000000000..233b64594d --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction @@ -0,0 +1,9 @@ +# check if furniture fits here +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall, or at any placed marker +# run from any in place/furniture/ + +execute if score $depth gm4_furniture_data matches 3.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^ ^-1 run function gm4_furniture:place/check_size/depth_offset +execute if score $depth gm4_furniture_data matches 3.. run scoreboard players remove $depth gm4_furniture_data 1 +scoreboard players remove $depth gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^ ^1 run function gm4_furniture:place/check_size/depth_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction new file mode 100644 index 0000000000..0999a555b2 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction @@ -0,0 +1,12 @@ +# check if furniture fits here +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^ ^ ^x +# run from place/check_size/height_prep +# run from here + +execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} + +scoreboard players remove $height gm4_furniture_data 1 +execute if score $height gm4_furniture_data matches 1.. positioned ^ ^ ^1 run function gm4_furniture:place/check_size/height_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction new file mode 100644 index 0000000000..64a412445f --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction @@ -0,0 +1,9 @@ +# check if furniture fits here +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^x ^ ^ +# run from place/check_size/height_prep +# run from here + +execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction new file mode 100644 index 0000000000..c0df450528 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction @@ -0,0 +1,10 @@ +# check if furniture fits here +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall, or at any placed marker +# run from any in place/furniture/ + +# height is only offset down if this is a wall placed furniture (painting) +execute if score $height gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 1 at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^-1 ^ run function gm4_furniture:place/check_size/height_offset +execute if score $height gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 1 run scoreboard players remove $height gm4_furniture_data 1 +scoreboard players remove $height gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^ ^1 run function gm4_furniture:place/check_size/height_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction new file mode 100644 index 0000000000..12107b826f --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction @@ -0,0 +1,12 @@ +# check if furniture fits here +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^x ^ ^ +# run from place/check_size/length_prep +# run from here + +execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} + +scoreboard players remove $length gm4_furniture_data 1 +execute if score $length gm4_furniture_data matches 1.. positioned ^-1 ^ ^ run function gm4_furniture:place/check_size/length_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction new file mode 100644 index 0000000000..87ced544fc --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction @@ -0,0 +1,10 @@ +# check if furniture fits here +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^x ^ ^ +# run from place/check_size/length_prep +# run from here + +execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} +scoreboard players remove $length gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_prep.mcfunction new file mode 100644 index 0000000000..9b178395af --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_prep.mcfunction @@ -0,0 +1,8 @@ +# check if furniture fits here +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall +# run from any in place/furniture/ + +execute if score $length gm4_furniture_data matches 3.. positioned ^1 ^ ^ run function gm4_furniture:place/check_size/length_offset +scoreboard players remove $length gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 0 positioned ^-1 ^ ^ run function gm4_furniture:place/check_size/length_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/count_heads/east.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/count_heads/east.mcfunction new file mode 100644 index 0000000000..2425a603fa --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/count_heads/east.mcfunction @@ -0,0 +1,27 @@ +# counts the number of players heads +# @s = player that just placed a furniture player head +# at @s +# run from place/place_furniture + +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~-4 ~-4 ~4 ~-4 ~4 ~-1 ~-4 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~-3 ~-4 ~4 ~-3 ~4 ~-1 ~-3 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~-2 ~-4 ~4 ~-2 ~4 ~-1 ~-2 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~-1 ~-4 ~4 ~-1 ~4 ~-1 ~-1 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~ ~-4 ~4 ~ ~4 ~-1 ~ ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~1 ~-4 ~4 ~1 ~4 ~-1 ~1 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~2 ~-4 ~4 ~2 ~4 ~-1 ~2 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~3 ~-4 ~4 ~3 ~4 ~-1 ~3 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~4 ~-4 ~4 ~4 ~4 ~-1 ~4 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~5 ~-4 ~4 ~5 ~4 ~-1 ~5 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-1 ~6 ~-4 ~4 ~6 ~4 ~-1 ~6 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/place/count_heads/north.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/count_heads/north.mcfunction new file mode 100644 index 0000000000..7803ff3c6a --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/count_heads/north.mcfunction @@ -0,0 +1,27 @@ +# counts the number of players heads +# @s = player that just placed a furniture player head +# at @s +# run from place/place_furniture + +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-4 ~-4 ~4 ~-4 ~1 ~-4 ~-4 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-3 ~-4 ~4 ~-3 ~1 ~-4 ~-3 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-2 ~-4 ~4 ~-2 ~1 ~-4 ~-2 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-1 ~-4 ~4 ~-1 ~1 ~-4 ~-1 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~ ~-4 ~4 ~ ~1 ~-4 ~ ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~1 ~-4 ~4 ~1 ~1 ~-4 ~1 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~2 ~-4 ~4 ~2 ~1 ~-4 ~2 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~3 ~-4 ~4 ~3 ~1 ~-4 ~3 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~4 ~-4 ~4 ~4 ~1 ~-4 ~4 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~5 ~-4 ~4 ~5 ~1 ~-4 ~5 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~6 ~-4 ~4 ~6 ~1 ~-4 ~6 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/place/count_heads/south.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/count_heads/south.mcfunction new file mode 100644 index 0000000000..079d88568c --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/count_heads/south.mcfunction @@ -0,0 +1,27 @@ +# counts the number of players heads +# @s = player that just placed a furniture player head +# at @s +# run from place/place_furniture + +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-4 ~-1 ~4 ~-4 ~4 ~-4 ~-4 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-3 ~-1 ~4 ~-3 ~4 ~-4 ~-3 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-2 ~-1 ~4 ~-2 ~4 ~-4 ~-2 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-1 ~-1 ~4 ~-1 ~4 ~-4 ~-1 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~ ~-1 ~4 ~ ~4 ~-4 ~ ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~1 ~-1 ~4 ~1 ~4 ~-4 ~1 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~2 ~-1 ~4 ~2 ~4 ~-4 ~2 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~3 ~-1 ~4 ~3 ~4 ~-4 ~3 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~4 ~-1 ~4 ~4 ~4 ~-4 ~4 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~5 ~-1 ~4 ~5 ~4 ~-4 ~5 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~6 ~-1 ~4 ~6 ~4 ~-4 ~6 ~-1 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/place/count_heads/west.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/count_heads/west.mcfunction new file mode 100644 index 0000000000..4cb670ccfc --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/count_heads/west.mcfunction @@ -0,0 +1,27 @@ +# counts the number of players heads +# @s = player that just placed a furniture player head +# at @s +# run from place/place_furniture + +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-4 ~-4 ~1 ~-4 ~4 ~-4 ~-4 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-3 ~-4 ~1 ~-3 ~4 ~-4 ~-3 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-2 ~-4 ~1 ~-2 ~4 ~-4 ~-2 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~-1 ~-4 ~1 ~-1 ~4 ~-4 ~-1 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~ ~-4 ~1 ~ ~4 ~-4 ~ ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~1 ~-4 ~1 ~1 ~4 ~-4 ~1 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~2 ~-4 ~1 ~2 ~4 ~-4 ~2 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~3 ~-4 ~1 ~3 ~4 ~-4 ~3 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~4 ~-4 ~1 ~4 ~4 ~-4 ~4 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~5 ~-4 ~1 ~5 ~4 ~-4 ~5 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data +execute store result score $player_head_add gm4_furniture_data run clone ~-4 ~6 ~-4 ~1 ~6 ~4 ~-4 ~6 ~-4 filtered #gm4_furniture:player_heads{SkullOwner:{Properties:{textures:[{Signature:"gm4_furniture"}]}}} force +scoreboard players operation $player_head_count gm4_furniture_data += $player_head_add gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction new file mode 100644 index 0000000000..7c75d161df --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction @@ -0,0 +1,29 @@ +# finds the player head that was placed by the player +# @s = player that just placed a furniture player head +# at @s +advancement revoke @s only gm4_furniture:place_furniture + +# get rotation of player +# key: direction of player +# 1: north, 2: east, 3: south, 4: west +execute store result score $y_rotation gm4_furniture_data run data get entity @s Rotation[0] +scoreboard players set $rotation gm4_furniture_data 0 + +execute if score $y_rotation gm4_furniture_data matches 45..135 run scoreboard players set $rotation gm4_furniture_data 4 +execute if score $rotation gm4_furniture_data matches 0 if score $y_rotation gm4_furniture_data matches -45..45 run scoreboard players set $rotation gm4_furniture_data 3 +execute if score $rotation gm4_furniture_data matches 0 if score $y_rotation gm4_furniture_data matches -135..-45 run scoreboard players set $rotation gm4_furniture_data 2 +execute if score $rotation gm4_furniture_data matches 0 run scoreboard players set $rotation gm4_furniture_data 1 + +# find player heads in the specific region +scoreboard players set $player_head_count gm4_furniture_data 0 +execute if score $rotation gm4_furniture_data matches 1 run function gm4_furniture:place/count_heads/north +execute if score $rotation gm4_furniture_data matches 2 run function gm4_furniture:place/count_heads/east +execute if score $rotation gm4_furniture_data matches 3 run function gm4_furniture:place/count_heads/south +execute if score $rotation gm4_furniture_data matches 4 run function gm4_furniture:place/count_heads/west + +# replace player heads with the corresponding block +scoreboard players set $layer_count gm4_furniture_data 0 +execute if score $player_head_count gm4_furniture_data matches 1.. if score $rotation gm4_furniture_data matches 1 align xyz positioned ~0.5 ~0.5 ~0.5 rotated 180 0 positioned ^-4 ^-4 ^-1 run function gm4_furniture:place/check_layer +execute if score $player_head_count gm4_furniture_data matches 1.. if score $rotation gm4_furniture_data matches 2 align xyz positioned ~0.5 ~0.5 ~0.5 rotated -90 0 positioned ^-4 ^-4 ^-1 run function gm4_furniture:place/check_layer +execute if score $player_head_count gm4_furniture_data matches 1.. if score $rotation gm4_furniture_data matches 3 align xyz positioned ~0.5 ~0.5 ~0.5 rotated 0 0 positioned ^-4 ^-4 ^-1 run function gm4_furniture:place/check_layer +execute if score $player_head_count gm4_furniture_data matches 1.. if score $rotation gm4_furniture_data matches 4 align xyz positioned ~0.5 ~0.5 ~0.5 rotated 90 0 positioned ^-4 ^-4 ^-1 run function gm4_furniture:place/check_layer diff --git a/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction new file mode 100644 index 0000000000..537be3652e --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction @@ -0,0 +1,19 @@ +# prepares the storage and scores for furniture placement +# @s = player that just placed a furniture player head +# at the center of the furniture player head that was placed +# run from place/check_layer + +# override rotation if furniture was placed against a wall (opposite of wall facing) +# 1: north, 2: east, 3: south, 4: west +execute store success score $wall_placement gm4_furniture_data if block ~ ~ ~ player_wall_head +execute if score $wall_placement gm4_furniture_data matches 1 run scoreboard players set $rotation gm4_furniture_data 3 +execute if score $wall_placement gm4_furniture_data matches 1 if block ~ ~ ~ player_wall_head[facing=east] run scoreboard players set $rotation gm4_furniture_data 4 +execute if score $wall_placement gm4_furniture_data matches 1 if block ~ ~ ~ player_wall_head[facing=south] run scoreboard players set $rotation gm4_furniture_data 1 +execute if score $wall_placement gm4_furniture_data matches 1 if block ~ ~ ~ player_wall_head[facing=west] run scoreboard players set $rotation gm4_furniture_data 2 + +scoreboard players set $placed_block gm4_furniture_data 0 +scoreboard players remove $player_head_count gm4_furniture_data 1 + +data modify storage gm4_furniture:temp command.function set from block ~ ~ ~ SkullOwner.Name +function gm4_furniture:place/resolve_id with storage gm4_furniture:temp command +data remove storage gm4_furniture:temp command diff --git a/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction new file mode 100644 index 0000000000..4b69b7f7f7 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction @@ -0,0 +1,5 @@ + +$execute if score $rotation gm4_furniture_data matches 1 rotated 0 0 run function $(function) +$execute if score $rotation gm4_furniture_data matches 2 rotated 90 0 run function $(function) +$execute if score $rotation gm4_furniture_data matches 3 rotated 180 0 run function $(function) +$execute if score $rotation gm4_furniture_data matches 4 rotated -90 0 run function $(function) diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/remove_from_horse.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/remove_from_horse.mcfunction new file mode 100644 index 0000000000..692f215e64 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/remove_from_horse.mcfunction @@ -0,0 +1,3 @@ + +item replace entity @s horse.armor with air +loot spawn ~ ~1.6 ~ loot gm4_furniture:items/paintbrush diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/used_on_horse.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/used_on_horse.mcfunction new file mode 100644 index 0000000000..2b82b3c8d4 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/used_on_horse.mcfunction @@ -0,0 +1,9 @@ + +advancement revoke @s only gm4_furniture:use_paintbrush_on_horse + +tag @s add gm4_furniture_target +execute as @e[type=horse,distance=..8] if data entity @s ArmorItems[2].tag{gm4_furniture:"paintbrush"} store success score $armor_replaced gm4_furniture_data run item replace entity @s horse.armor with air +execute if score $armor_replaced gm4_furniture_data matches 1 run item replace entity @s weapon.mainhand with air +execute if score $armor_replaced gm4_furniture_data matches 1 run loot replace entity @s weapon.mainhand loot gm4_furniture:items/paintbrush +scoreboard players reset $armor_replaced gm4_furniture_data +tag @s remove gm4_furniture_target diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/crafting/paintbrush.json b/gm4_furniture/data/gm4_furniture/loot_tables/crafting/paintbrush.json new file mode 100644 index 0000000000..d57b97a53c --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/loot_tables/crafting/paintbrush.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:generic", + "pools": [ + { + "rolls": 8, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:air" + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "name": "gm4_furniture:items/paintbrush", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] + } + ] + } + ] +} diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json b/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json new file mode 100644 index 0000000000..3578abd77b --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json @@ -0,0 +1,20 @@ +{ + "type": "block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "minecraft:player_head", + "functions": [ + { + "function": "set_nbt", + "tag": "{SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" + } + ] + } + ] + } + ] +} diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/items/paintbrush.json b/gm4_furniture/data/gm4_furniture/loot_tables/items/paintbrush.json new file mode 100644 index 0000000000..f5e5db18d7 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/loot_tables/items/paintbrush.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:leather_horse_armor", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:3420200,gm4_furniture:paintbrush}" + }, + { + "function": "minecraft:set_name", + "name": { + "translate": "item.gm4_furniture.paintbrush", + "fallback": "Paintbrush", + "color": "white", + "italic": false + } + } + ] + } + ] + } + ] +} diff --git a/gm4_furniture/data/gm4_furniture/predicates/holding_paintbrush.json b/gm4_furniture/data/gm4_furniture/predicates/holding_paintbrush.json new file mode 100644 index 0000000000..9d64e37052 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/predicates/holding_paintbrush.json @@ -0,0 +1,14 @@ +{ + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": [ + "minecraft:leather_horse_armor" + ], + "nbt": "{gm4_furniture:paintbrush}" + } + } + } +} diff --git a/gm4_furniture/data/gm4_furniture/tags/blocks/player_heads.json b/gm4_furniture/data/gm4_furniture/tags/blocks/player_heads.json new file mode 100644 index 0000000000..389c902b9d --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/tags/blocks/player_heads.json @@ -0,0 +1,6 @@ +{ + "values": [ + "minecraft:player_head", + "minecraft:player_wall_head" + ] +} diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction new file mode 100644 index 0000000000..0df85dbf77 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction @@ -0,0 +1,69 @@ +# try to place the furniture +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall +# run from place/resolve_id + +# first perform checks to see if furniture fits where it was placed +scoreboard players set $valid_placement gm4_furniture_data 1 + +# wall only furniture must be placed on a wall +scoreboard players set $wall_only gm4_furniture_data {{ wall_only }} +execute if score $wall_only gm4_furniture_data matches 1 unless score $wall_placement gm4_furniture_data matches 1 run scoreboard players set $valid_placement gm4_furniture_data 0 + +# wall placed furniture is not allowed to have depth, if any size is bigger than 1 check if there is space +scoreboard players set $length gm4_furniture_data {{ length }} +scoreboard players set $depth gm4_furniture_data {{ depth }} +scoreboard players set $heigth gm4_furniture_data {{ heigth }} +execute if score $wall_placement gm4_furniture_data matches 1 if score $depth gm4_furniture_data matches 2.. run scoreboard players set $valid_placement gm4_furniture_data 0 +scoreboard players set $placement_blocked gm4_furniture_data 0 +execute if score $valid_placement gm4_furniture_data matches 1 if score $length gm4_furniture_data matches 2.. run function gm4_furniture:place/check_size/length_prep +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block","gm4_furniture.middle"]} +setblock ~ ~ ~ air +execute if score $valid_placement gm4_furniture_data matches 1 if score $depth gm4_furniture_data matches 2.. run function gm4_furniture:place/check_size/depth_prep +execute if score $valid_placement gm4_furniture_data matches 1 if score $heigth gm4_furniture_data matches 2.. run function gm4_furniture:place/check_size/heigth_prep +kill @e[type=marker,tag=gm4_furniture.middle,distance=..2,limit=1,sort=nearest] +execute if score $placement_blocked gm4_furniture_data matches 1 run scoreboard players set $valid_placement gm4_furniture_data 0 +execute if score $placement_blocked gm4_furniture_data matches 1 run kill @e[type=marker,tag=gm4_furniture.marked_block] + +# if placement is not valid cancel placement +execute if score $valid_placement gm4_furniture_data matches 0 run loot spawn ~ ~ ~ loot gm4_furniture:furniture/{{ technical_id }} +execute if score $valid_placement gm4_furniture_data matches 0 run return 0 + +# set variables +scoreboard players set $sittable gm4_furniture_data {{ sittable }} +scoreboard players set $dyable gm4_furniture_data {{ dyable }} +scoreboard players set $table gm4_furniture_data {{ table }} + +# spawn the furniture +execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{loot_table:"gm4_furniture:furniture/{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} +summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} +setblock ~ ~ ~ {{ block_id }} + +# spawn extensions if they exist and set id +execute at @e[type=marker,tag=gm4_furniture.marked_block] run summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} +execute at @e[type=marker,tag=gm4_furniture.marked_block] run setblock ~ ~ ~ {{ block_id }} +execute store result score @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 + +# if furniture is a table reduce interaction height +execute if score $table gm4_furniture_data matches 1 as @e[type=interaction,tag=gm4_new_furniture,distance=..8] run data modify entity @s height set value 1f + +# if furniture is dyable set to basic white +execute if score $dyable gm4_furniture_data matches 1 run data modify entity @e[type=item_display,distance=..2,tag=gm4_new_furniture,limit=1,sort=nearest] item.tag.display.color set value 16777215 +execute if score $dyable gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.dyable + +# if furniture is sittable spawn sitting item_displays at appropiate locations and add tag +execute if score $sittable gm4_furniture_data matches 1.. run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.sittable +scoreboard players set $sit_height gm4_furniture_data 50 +execute if score $sittable gm4_furniture_data matches 1.. store result entity @e[type=item_display,tag=gm4_new_furniture,distance=..2,limit=1,sort=nearest] transformation.translation[1] float 0.01 run scoreboard players operation $sit_height gm4_furniture_data -= $sittable gm4_furniture_data +execute if score $sittable gm4_furniture_data matches 1.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ~ ~-4.999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.seat","gm4_furniture.sittable","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}_seat"',item:{id:"air",Count:1},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]}} + +# rotate furniture depending on rotation set by player (if rotation is 1 default rotation can be kept) +execute if score $rotation gm4_furniture_data matches 2 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ 90 0 +execute if score $rotation gm4_furniture_data matches 3 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ 180 0 +execute if score $rotation gm4_furniture_data matches 4 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ -90 0 + +# mark block as placed +playsound minecraft:block.barrel.close block @a[distance=..6] ~ ~ ~ 1 1.6 +scoreboard players set $placed_block gm4_furniture_data 1 +tag @e[distance=..2] remove gm4_new_furniture +kill @e[type=marker,tag=gm4_furniture.marked_block] diff --git a/gm4_furniture/data/gm4_furniture/templates/loot_tables/template.json b/gm4_furniture/data/gm4_furniture/templates/loot_tables/template.json new file mode 100644 index 0000000000..d26b92b766 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/templates/loot_tables/template.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "name": "gm4_furniture:furniture/base", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:{{ cmd }},gm4_furniture:{id:\"gm4.{{ technical_id }}\"},SkullOwner:{Name:\"gm4_furniture:place/furniture/{{ technical_id }}\"}}" + }, + { + "function": "minecraft:set_name", + "name": [ + { + "translate": "block.gm4_furniture.gm4_{{ technical_id }}", + "fallback": "{{ display_name }}", + "color": "white", + "italic": false + } + ] + } + ] + } + ] + } + ] +} diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py new file mode 100644 index 0000000000..fdc5407ac3 --- /dev/null +++ b/gm4_furniture/generate.py @@ -0,0 +1,80 @@ +from beet import Context, subproject + + +class furnitures: + def __init__(self, technical_id, display_name, cmd, block_id="barrier", sittable=0, dyable=0, wall_only=0, length=1, depth=1, height=1, table=0): + self.technical_id = technical_id + self.display_name = display_name + self.cmd = cmd + self.block_id = block_id + self.sittable = sittable + self.wall_only = wall_only + self.dyable = dyable + self.length = length + self.depth = depth + self.height = height + self.table = table + + +def beet_default(ctx: Context): + + furniture_list = [] + furniture_list.append(furnitures( + 'wooden_stool_1', 'Wooden Stool', 3420201, sittable=50)) + furniture_list.append(furnitures( + 'wooden_stool_2', 'Wooden Stool', 3420202, sittable=50)) + furniture_list.append(furnitures( + 'wooden_chair_1', 'Wooden Chair', 3420203, sittable=50)) + furniture_list.append(furnitures( + 'wooden_chair_2', 'Wooden Chair', 3420204, sittable=50)) + furniture_list.append(furnitures( + 'wooden_bench_1', 'Wooden Bench', 3420205, sittable=50, length=3)) + furniture_list.append(furnitures( + 'wooden_bench_2', 'Wooden Bench', 3420206, sittable=50, length=3)) + furniture_list.append(furnitures( + 'dyable_armchair_1', 'Cloth Armchair', 3420207, sittable=1, dyable=1)) + furniture_list.append(furnitures( + 'wooden_candelabra_1', 'Candelabra', 3420208, block_id="light[level=15]", dyable=1)) + furniture_list.append(furnitures( + 'wooden_candelabra_2', 'Candelabra', 3420209, block_id="light[level=15]", dyable=1)) + furniture_list.append(furnitures( + 'dyable_stool_1', 'Ottoman', 3420210, sittable=50, dyable=1)) + furniture_list.append(furnitures( + 'wooden_table_1', 'Wooden Table', 3420211, table=1)) + furniture_list.append(furnitures( + 'wooden_table_2', 'Wooden Table', 3420212, table=1)) + furniture_list.append(furnitures( + 'dyable_wooden_table_1', 'Wooden Table with Cloth', 3420213, dyable=1, table=1)) + + + for furniture_data in furniture_list: + subproject_config = { + "data_pack": { + "load": [ + { + f"data/gm4_furniture/loot_tables/furniture/{furniture_data.technical_id}.json": "data/gm4_furniture/templates/loot_tables/template.json", + f"data/gm4_furniture/functions/place/furniture/{furniture_data.technical_id}.mcfunction": "data/gm4_furniture/templates/functions/template.mcfunction", + } + ], + "render": { + "loot_tables": "*", + "functions": "*" + } + }, + "meta": { + "technical_id": furniture_data.technical_id, + "display_name": furniture_data.display_name, + "cmd": furniture_data.cmd, + "block_id": furniture_data.block_id, + "sittable": furniture_data.sittable, + "wall_only": furniture_data.wall_only, + "dyable": furniture_data.dyable, + "length": furniture_data.length, + "depth": furniture_data.depth, + "height": furniture_data.height, + "table": furniture_data.table, + + } + } + + ctx.require(subproject(subproject_config)) From a22c161fc67845b6dd259a5dc4331062be46e356 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Fri, 25 Aug 2023 21:19:48 +0200 Subject: [PATCH 02/34] add furniture table for crafting --- .../tags/functions/check_recipes.json | 2 +- .../advancements/hit_furniture_station.json | 37 +++++++++++++++++++ .../functions/break/destroy.mcfunction | 1 + .../functions/break/find_main.mcfunction | 2 +- .../break/remove_furniture_station.mcfunction | 3 ++ .../functions/check_recipe.mcfunction | 4 -- .../functions/check_recipes.mcfunction | 5 +++ .../gm4_furniture/functions/init.mcfunction | 9 +++++ .../functions/interact/sawmill/hit.mcfunction | 4 ++ .../place/check_size/depth_loop.mcfunction | 1 + .../place/check_size/depth_offset.mcfunction | 1 + .../place/check_size/height_loop.mcfunction | 1 + .../place/check_size/height_offset.mcfunction | 1 + .../place/check_size/length_loop.mcfunction | 1 + .../place/check_size/length_offset.mcfunction | 1 + .../furniture/furniture_station.mcfunction | 37 +++++++++++++++++++ .../functions/place/prep_place.mcfunction | 1 - .../crafting/furniture_station.json | 29 +++++++++++++++ .../loot_tables/items/furniture_station.json | 29 +++++++++++++++ .../templates/functions/template.mcfunction | 5 +-- gm4_furniture/generate.py | 9 +++-- 21 files changed, 169 insertions(+), 14 deletions(-) create mode 100644 gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction delete mode 100644 gm4_furniture/data/gm4_furniture/functions/check_recipe.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/sawmill/hit.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/loot_tables/crafting/furniture_station.json create mode 100644 gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json diff --git a/gm4_furniture/data/gm4_custom_crafters/tags/functions/check_recipes.json b/gm4_furniture/data/gm4_custom_crafters/tags/functions/check_recipes.json index eb50d22499..42a5c540cd 100644 --- a/gm4_furniture/data/gm4_custom_crafters/tags/functions/check_recipes.json +++ b/gm4_furniture/data/gm4_custom_crafters/tags/functions/check_recipes.json @@ -1,5 +1,5 @@ { "values": [ - "gm4_furniture:check_recipe" + "gm4_furniture:check_recipes" ] } diff --git a/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json b/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json new file mode 100644 index 0000000000..79082986d9 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json @@ -0,0 +1,37 @@ +{ + "criteria": { + "requirement": { + "trigger": "minecraft:player_hurt_entity", + "conditions": { + "player": [ + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "player", + "gamemode": "adventure" + } + } + } + } + ], + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:wandering_trader", + "nbt": "{Tags:[\"gm4_furniture.furniture_station\"]}" + } + } + ] + } + } + }, + "rewards": { + "function": "gm4_furniture:interact/furniture_station/hit" + } +} diff --git a/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction index 222b0c8a6f..5e8dacea58 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction @@ -2,4 +2,5 @@ execute if score $creative gm4_furniture_data matches 0 positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] run function gm4_furniture:break/drop_item with entity @s item.tag.data execute as @e[type=interaction,tag=gm4_furniture,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s run function gm4_furniture:break/remove_block +execute if entity @s[tag=gm4_furniture.furniture_station] run function gm4_furniture:break/remove_furniture_station playsound minecraft:entity.armor_stand.break block @a[distance=..8] ~ ~ ~ 1 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction index 82cdd51a74..66fda88303 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction @@ -1,5 +1,5 @@ -execute store result score $hit gm4_furniture_last_hit run data get entity @s attack.timestamp +execute store result score $hit gm4_furniture_last_hit run time query gametime scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id execute as @e[type=interaction,tag=gm4_furniture.main,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s run function gm4_furniture:break/process_hit data remove entity @s attack diff --git a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction new file mode 100644 index 0000000000..318b91d687 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction @@ -0,0 +1,3 @@ + +setblock ~ ~2 ~ air +execute as @e[type=wandering_trader,tag=gm4_furniture,distance=..4] if score @s gm4_furniture_id = $check_id gm4_furniture_id run tp @s ~ -100000 ~ diff --git a/gm4_furniture/data/gm4_furniture/functions/check_recipe.mcfunction b/gm4_furniture/data/gm4_furniture/functions/check_recipe.mcfunction deleted file mode 100644 index 08f01b6c30..0000000000 --- a/gm4_furniture/data/gm4_furniture/functions/check_recipe.mcfunction +++ /dev/null @@ -1,4 +0,0 @@ -# @s = custom crafter running recipes -# run from #gm4_custom_crafters:check_recipes - -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 5 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:string"},{Slot:1b,id:"minecraft:string"},{Slot:2b,id:"minecraft:string"},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:7b,id:"minecraft:stick"}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/paintbrush diff --git a/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction b/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction new file mode 100644 index 0000000000..58aa5a9e64 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction @@ -0,0 +1,5 @@ +# @s = custom crafter running recipes +# run from #gm4_custom_crafters:check_recipes + +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 5 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:string"},{Slot:1b,id:"minecraft:string"},{Slot:2b,id:"minecraft:string"},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:7b,id:"minecraft:stick"}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/paintbrush +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 8 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:oak_planks"},{Slot:1b,id:"minecraft:crafting_table"},{Slot:2b,id:"minecraft:oak_planks"},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:5b,id:"minecraft:oak_planks"},{Slot:6b,id:"minecraft:oak_planks"},{Slot:8b,id:"minecraft:oak_planks"}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/furniture_station diff --git a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction index 8071506d61..b613670272 100644 --- a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction @@ -8,6 +8,15 @@ scoreboard objectives add gm4_furniture_id dummy scoreboard players set #2 gm4_furniture_data 2 +team add gm4_furniture_nocol +team modify gm4_furniture_nocol collisionRule never + +data modify storage gm4_furniture:furniture_station categories set value [] +data modify storage gm4_furniture:furniture_station categories append value {test:1} +data modify storage gm4_furniture:furniture_station categories append value {test:2} +data modify storage gm4_furniture:furniture_station categories append value {test:3} +function #gm4_furniture:add_categories + schedule function gm4_furniture:main 1t #$moduleUpdateList diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sawmill/hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sawmill/hit.mcfunction new file mode 100644 index 0000000000..eff59e554b --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/sawmill/hit.mcfunction @@ -0,0 +1,4 @@ + +advancement revoke @s only gm4_furniture:hit_furniture_station + +execute as @e[type=wandering_trader,tag=gm4_furniture.furniture_station,distance=..8,nbt={HurtTime:10s}] at @s run say hit diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction index e2b95624ac..970119114e 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction @@ -5,6 +5,7 @@ # run from here execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 0 align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction index 179465b445..f5208954db 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction @@ -5,5 +5,6 @@ # run from here execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 0 align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction index 0999a555b2..3583e0d548 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction @@ -5,6 +5,7 @@ # run from here execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 0 align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction index 64a412445f..7abdf623e8 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction @@ -5,5 +5,6 @@ # run from here execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 0 align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction index 12107b826f..6c204395bd 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction @@ -5,6 +5,7 @@ # run from here execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 0 align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction index 87ced544fc..cfa6d0b0b6 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction @@ -5,6 +5,7 @@ # run from here execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 +execute if score $placement_blocked gm4_furniture_data matches 0 align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} scoreboard players remove $length gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction new file mode 100644 index 0000000000..6e955ec6fc --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction @@ -0,0 +1,37 @@ +# try to place the furniture_station +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall +# run from place/resolve_id + +# first perform checks to see if furniture fits where it was placed +scoreboard players set $valid_placement gm4_furniture_data 1 +execute unless block ~ ~1 ~ #gm4:replaceable run scoreboard players set $valid_placement gm4_furniture_data 0 +execute positioned ~ ~1 ~ align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $valid_placement gm4_furniture_data 0 + +execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 + +# if placement is not valid cancel placement +execute if score $valid_placement gm4_furniture_data matches 0 run loot spawn ~ ~ ~ loot gm4_furniture:items/furniture_station +execute if score $valid_placement gm4_furniture_data matches 0 run setblock ~ ~ ~ air +execute if score $valid_placement gm4_furniture_data matches 0 run return 0 + +# spawn the furniture_station +execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{loot_table:"gm4_furniture:items/furniture_station"},CustomModelData:3420150}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} +summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1.0002f,width:1.0002f,response:1b} +setblock ~ ~ ~ barrier + +# spawn trader and set ids +summon wandering_trader ~ ~1000 ~ {Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"text":"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBA","font":"gm4_furniture","color":"white"}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} +tp @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] ~ ~-0.4999 ~ +setblock ~ ~1 ~ flower_pot +execute store result score @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 +execute store result score @e[type=wandering_trader,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players get $next_id gm4_furniture_id + +# rotate furniture_station depending on rotation set by player (if rotation is 1 default rotation can be kept) +execute if score $rotation gm4_furniture_data matches 2 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ 90 0 +execute if score $rotation gm4_furniture_data matches 3 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ 180 0 +execute if score $rotation gm4_furniture_data matches 4 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ -90 0 + +# mark block as placed +playsound minecraft:block.barrel.close block @a[distance=..6] ~ ~ ~ 1 1.6 +tag @e[distance=..2] remove gm4_new_furniture diff --git a/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction index 537be3652e..1c3872c789 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction @@ -11,7 +11,6 @@ execute if score $wall_placement gm4_furniture_data matches 1 if block ~ ~ ~ pla execute if score $wall_placement gm4_furniture_data matches 1 if block ~ ~ ~ player_wall_head[facing=south] run scoreboard players set $rotation gm4_furniture_data 1 execute if score $wall_placement gm4_furniture_data matches 1 if block ~ ~ ~ player_wall_head[facing=west] run scoreboard players set $rotation gm4_furniture_data 2 -scoreboard players set $placed_block gm4_furniture_data 0 scoreboard players remove $player_head_count gm4_furniture_data 1 data modify storage gm4_furniture:temp command.function set from block ~ ~ ~ SkullOwner.Name diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/crafting/furniture_station.json b/gm4_furniture/data/gm4_furniture/loot_tables/crafting/furniture_station.json new file mode 100644 index 0000000000..3c954a0edf --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/loot_tables/crafting/furniture_station.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:generic", + "pools": [ + { + "rolls": 8, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:air" + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "name": "gm4_furniture:items/furniture_station", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] + } + ] + } + ] +} diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json new file mode 100644 index 0000000000..9ce5b4f34b --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json @@ -0,0 +1,29 @@ +{ + "type": "block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "minecraft:player_head", + "functions": [ + { + "function": "set_nbt", + "tag": "{CustomModelData:3420150,gm4_furniture:{id:\"gm4.furniture_station\"},SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Name:\"gm4_furniture:place/furniture/furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" + }, + { + "function": "minecraft:set_name", + "name": { + "translate": "item.gm4_furniture.furniture_station", + "fallback": "Furniture Station", + "color": "white", + "italic": false + } + } + ] + } + ] + } + ] +} diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction index 0df85dbf77..3e0421d3b4 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction @@ -35,7 +35,7 @@ scoreboard players set $dyable gm4_furniture_data {{ dyable }} scoreboard players set $table gm4_furniture_data {{ table }} # spawn the furniture -execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{loot_table:"gm4_furniture:furniture/{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} +execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{loot_table:"gm4_furniture:furniture/{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} setblock ~ ~ ~ {{ block_id }} @@ -55,7 +55,7 @@ execute if score $dyable gm4_furniture_data matches 1 run tag @e[type=interactio execute if score $sittable gm4_furniture_data matches 1.. run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.sittable scoreboard players set $sit_height gm4_furniture_data 50 execute if score $sittable gm4_furniture_data matches 1.. store result entity @e[type=item_display,tag=gm4_new_furniture,distance=..2,limit=1,sort=nearest] transformation.translation[1] float 0.01 run scoreboard players operation $sit_height gm4_furniture_data -= $sittable gm4_furniture_data -execute if score $sittable gm4_furniture_data matches 1.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ~ ~-4.999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.seat","gm4_furniture.sittable","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}_seat"',item:{id:"air",Count:1},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]}} +execute if score $sittable gm4_furniture_data matches 1.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.seat","gm4_furniture.sittable","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}_seat"',item:{id:"air",Count:1},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]}} # rotate furniture depending on rotation set by player (if rotation is 1 default rotation can be kept) execute if score $rotation gm4_furniture_data matches 2 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ 90 0 @@ -64,6 +64,5 @@ execute if score $rotation gm4_furniture_data matches 4 as @e[tag=gm4_new_furnit # mark block as placed playsound minecraft:block.barrel.close block @a[distance=..6] ~ ~ ~ 1 1.6 -scoreboard players set $placed_block gm4_furniture_data 1 tag @e[distance=..2] remove gm4_new_furniture kill @e[type=marker,tag=gm4_furniture.marked_block] diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index fdc5407ac3..4c6c8b034d 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -2,7 +2,7 @@ class furnitures: - def __init__(self, technical_id, display_name, cmd, block_id="barrier", sittable=0, dyable=0, wall_only=0, length=1, depth=1, height=1, table=0): + def __init__(self, technical_id, display_name, cmd, block_id="barrier", sittable=0, dyable=0, wall_only=0, length=1, depth=1, heigth=1, table=0, scale=1): self.technical_id = technical_id self.display_name = display_name self.cmd = cmd @@ -12,8 +12,9 @@ def __init__(self, technical_id, display_name, cmd, block_id="barrier", sittable self.dyable = dyable self.length = length self.depth = depth - self.height = height + self.heigth = heigth self.table = table + self.scale = scale def beet_default(ctx: Context): @@ -71,9 +72,9 @@ def beet_default(ctx: Context): "dyable": furniture_data.dyable, "length": furniture_data.length, "depth": furniture_data.depth, - "height": furniture_data.height, + "heigth": furniture_data.heigth, "table": furniture_data.table, - + "scale": furniture_data.scale, } } From 3d61925e5982f28ad9e7048aeb98b4d02b8b4727 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Wed, 30 Aug 2023 21:13:15 +0200 Subject: [PATCH 03/34] fix EVERYTHING --- .../advancements/hit_furniture.json | 7 +++- .../advancements/hit_furniture_station.json | 7 +++- .../advancements/interact_with_furniture.json | 7 +++- .../advancements/place_furniture.json | 27 +++++++++------ .../advancements/use_paintbrush_on_horse.json | 7 +++- .../functions/break/destroy.mcfunction | 10 ++++++ .../functions/break/detect_hit.mcfunction | 6 +++- .../functions/break/drop_item.mcfunction | 5 +++ .../functions/break/find_main.mcfunction | 8 ++++- .../functions/break/process_hit.mcfunction | 11 +++++- .../functions/break/remove_block.mcfunction | 6 +++- .../break/remove_furniture_station.mcfunction | 4 +++ .../functions/interact/detect.mcfunction | 18 ++++------ .../interact/paint/detect.mcfunction | 9 +++-- .../interact/paint/process.mcfunction | 10 ++++-- .../functions/interact/process.mcfunction | 19 +++++++++++ .../functions/interact/sit/detect.mcfunction | 4 --- .../functions/interact/sit/process.mcfunction | 10 +++++- .../place/check_size/depth_loop.mcfunction | 5 +-- .../place/check_size/depth_offset.mcfunction | 2 +- .../place/check_size/depth_prep.mcfunction | 5 +-- .../place/check_size/height_loop.mcfunction | 5 +-- .../place/check_size/height_offset.mcfunction | 2 +- .../place/check_size/height_prep.mcfunction | 3 +- .../place/check_size/length_loop.mcfunction | 2 +- .../place/check_size/length_offset.mcfunction | 2 +- .../place/check_size/length_prep.mcfunction | 4 +-- .../functions/place/resolve_id.mcfunction | 5 +++ .../furniture_station}/hit.mcfunction | 4 ++- .../paintbrush/remove_from_horse.mcfunction | 8 ++++- .../paintbrush/return_from_horse.mcfunction | 8 +++++ .../paintbrush/used_on_horse.mcfunction | 9 +++-- .../technical/drop_horse_paintbrush.json | 29 ++++++++++++++++ .../tags/blocks/furniture_blocks.json | 6 ++++ .../templates/functions/template.mcfunction | 15 +++++--- gm4_furniture/generate.py | 34 +++++++++++++++---- 36 files changed, 252 insertions(+), 71 deletions(-) create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction delete mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/sit/detect.mcfunction rename gm4_furniture/data/gm4_furniture/functions/{interact/sawmill => technical/furniture_station}/hit.mcfunction (55%) create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/return_from_horse.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/loot_tables/technical/drop_horse_paintbrush.json create mode 100644 gm4_furniture/data/gm4_furniture/tags/blocks/furniture_blocks.json diff --git a/gm4_furniture/data/gm4_furniture/advancements/hit_furniture.json b/gm4_furniture/data/gm4_furniture/advancements/hit_furniture.json index 3069fa9e28..3ee944c227 100644 --- a/gm4_furniture/data/gm4_furniture/advancements/hit_furniture.json +++ b/gm4_furniture/data/gm4_furniture/advancements/hit_furniture.json @@ -1,6 +1,6 @@ { "criteria": { - "requirement": { + "hit_furniture": { "trigger": "minecraft:player_hurt_entity", "conditions": { "player": [ @@ -31,6 +31,11 @@ } } }, + "requirements": [ + [ + "hit_furniture" + ] + ], "rewards": { "function": "gm4_furniture:break/detect_hit" } diff --git a/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json b/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json index 79082986d9..78384f632f 100644 --- a/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json +++ b/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json @@ -1,6 +1,6 @@ { "criteria": { - "requirement": { + "hit_furniture_station": { "trigger": "minecraft:player_hurt_entity", "conditions": { "player": [ @@ -31,6 +31,11 @@ } } }, + "requirements": [ + [ + "hit_furniture_station" + ] + ], "rewards": { "function": "gm4_furniture:interact/furniture_station/hit" } diff --git a/gm4_furniture/data/gm4_furniture/advancements/interact_with_furniture.json b/gm4_furniture/data/gm4_furniture/advancements/interact_with_furniture.json index f171a1b3de..6e4cb5a113 100644 --- a/gm4_furniture/data/gm4_furniture/advancements/interact_with_furniture.json +++ b/gm4_furniture/data/gm4_furniture/advancements/interact_with_furniture.json @@ -1,6 +1,6 @@ { "criteria": { - "requirement": { + "interact_with_furniture": { "trigger": "minecraft:player_interacted_with_entity", "conditions": { "player": [], @@ -17,6 +17,11 @@ } } }, + "requirements": [ + [ + "interact_with_furniture" + ] + ], "rewards": { "function": "gm4_furniture:interact/detect" } diff --git a/gm4_furniture/data/gm4_furniture/advancements/place_furniture.json b/gm4_furniture/data/gm4_furniture/advancements/place_furniture.json index ab8a39e6c8..9c9cfb9ad8 100644 --- a/gm4_furniture/data/gm4_furniture/advancements/place_furniture.json +++ b/gm4_furniture/data/gm4_furniture/advancements/place_furniture.json @@ -3,17 +3,6 @@ "placed_furniture": { "trigger": "minecraft:placed_block", "conditions": { - "location": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "items": [ - "minecraft:player_head" - ], - "nbt": "{SkullOwner:{Properties:{textures:[{Signature:\"gm4_furniture\"}]}}}" - } - } - ], "player": [ { "condition": "minecraft:value_check", @@ -39,10 +28,26 @@ }, "range": 0 } + ], + "location": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:player_head" + ], + "nbt": "{SkullOwner:{Properties:{textures:[{Signature:\"gm4_furniture\"}]}}}" + } + } ] } } }, + "requirements": [ + [ + "placed_furniture" + ] + ], "rewards": { "function": "gm4_furniture:place/place_furniture" } diff --git a/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json b/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json index 907c746189..48e4d2417f 100644 --- a/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json +++ b/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json @@ -1,6 +1,6 @@ { "criteria": { - "requirement": { + "used_paintbrush": { "trigger": "minecraft:player_interacted_with_entity", "conditions": { "player": [], @@ -22,6 +22,11 @@ } } }, + "requirements": [ + [ + "used_paintbrush" + ] + ], "rewards": { "function": "gm4_furniture:technical/paintbrush/used_on_horse" } diff --git a/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction index 5e8dacea58..a30b1082d3 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction @@ -1,6 +1,16 @@ +# destroy this furniture +# @s = furniture main interaction entity +# at @s +# run from break/process_hit +# unless breaking player was in creative drop the item execute if score $creative gm4_furniture_data matches 0 positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] run function gm4_furniture:break/drop_item with entity @s item.tag.data +# remove any furniture blocks that match the id execute as @e[type=interaction,tag=gm4_furniture,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s run function gm4_furniture:break/remove_block + +# if the broken furniture was a furniture station run some extra code execute if entity @s[tag=gm4_furniture.furniture_station] run function gm4_furniture:break/remove_furniture_station + +# destroy sound playsound minecraft:entity.armor_stand.break block @a[distance=..8] ~ ~ ~ 1 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction index b81602e0ce..bef75ea63a 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction @@ -1,6 +1,10 @@ - +# detect hitting a furniture +# @s = player punching furniture +# at @s advancement revoke @s only gm4_furniture:hit_furniture +# mark if the player is in creative mode execute store success score $creative gm4_furniture_data if entity @s[gamemode=creative] +# locate the hit furniture execute as @e[type=interaction,tag=gm4_furniture,distance=..8] if data entity @s attack at @s run function gm4_furniture:break/find_main diff --git a/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction index 1bc940ac4b..451d0698e8 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction @@ -1,2 +1,7 @@ +# drop destroyed furniture's item +# @s = furniture item display +# at @s +# run from break/destroy with @s item.tag.data +# $(loot_table) = loot table path for this furniture item $loot spawn ~.5 ~.25 ~.5 loot $(loot_table) diff --git a/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction index 66fda88303..d57294c941 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/find_main.mcfunction @@ -1,5 +1,11 @@ +# locate the main/central interaction for the hit furniture +# @s = furniture interaction that was hit +# at @s +# run from break/detect_hit -execute store result score $hit gm4_furniture_last_hit run time query gametime +# find a main furniture interaction entity matching the hit id scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id execute as @e[type=interaction,tag=gm4_furniture.main,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s run function gm4_furniture:break/process_hit + +# cleanup data remove entity @s attack diff --git a/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction index d0826bd81c..64acc9ca8c 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction @@ -1,10 +1,19 @@ +# process hit furniture +# @s = furniture main interaction entity +# at @s +# run from break/find_main +# check how much time has passed since the last hit (or ignore that if the player was in creative) +execute store result score $hit gm4_furniture_last_hit run time query gametime scoreboard players operation $check_break gm4_furniture_last_hit = $hit gm4_furniture_last_hit scoreboard players operation $check_break gm4_furniture_last_hit -= @s gm4_furniture_last_hit -execute if score $creative gm4_furniture_data matches 1 run scoreboard players set $check_break gm4_furniture_last_hit 0 +# if >=4 ticks have passed or player is in creative destroy furniture +execute if score $creative gm4_furniture_data matches 1 run scoreboard players set $check_break gm4_furniture_last_hit 0 execute if score $check_break gm4_furniture_last_hit matches ..4 run function gm4_furniture:break/destroy +# otherwise store this hit time in furniture's score for the next check execute unless score $check_break gm4_furniture_last_hit matches ..4 run scoreboard players operation @s gm4_furniture_last_hit = $hit gm4_furniture_last_hit +# hit sounds playsound minecraft:entity.armor_stand.hit block @a[distance=..8] ~ ~ ~ 1 1 playsound minecraft:entity.player.attack.strong block @a[distance=..8] ~ ~ ~ 1 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction index 5451e91190..b9cc28bbd9 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction @@ -1,4 +1,8 @@ +# remove this furniture block +# @s = furniture interaction entity +# at @s +# run from break/destroy -execute positioned ~0.0001 ~0.5001 ~0.0001 run setblock ~ ~ ~ air +execute positioned ~0.0001 ~0.5001 ~0.0001 run fill ~ ~ ~ ~ ~ ~ air replace #gm4_furniture:furniture_blocks execute positioned ~-0.4999 ~0.0001 ~-0.4999 run kill @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] kill @s diff --git a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction index 318b91d687..a3ee35e5d4 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction @@ -1,3 +1,7 @@ +# remove the flower pot and wandering trader when a furniture station is destroyed +# furniture station interaction entity +# at @s +# run from break/destroy setblock ~ ~2 ~ air execute as @e[type=wandering_trader,tag=gm4_furniture,distance=..4] if score @s gm4_furniture_id = $check_id gm4_furniture_id run tp @s ~ -100000 ~ diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/detect.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/detect.mcfunction index c004bf23d1..2da973538f 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/detect.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/detect.mcfunction @@ -1,13 +1,9 @@ - +# detect interacting (right-click) on furniture +# @s = player interacting with furniture +# at @s advancement revoke @s only gm4_furniture:interact_with_furniture -scoreboard players set $interaction_processed gm4_furniture_data 0 - -# check for painting -execute if predicate gm4_furniture:holding_paintbrush run function gm4_furniture:interact/paint/detect - -# check for sitting -execute if score $interaction_processed gm4_furniture_data matches 0 unless predicate gm4_furniture:holding_paintbrush run function gm4_furniture:interact/sit/detect - -# cleanup if nothing else triggered -execute if score $interaction_processed gm4_furniture_data matches 0 as @e[type=interaction,tag=gm4_furniture,distance=..8] if data entity @s interaction run data remove entity @s interaction +# find interaction entity that was interacted with +tag @s add gm4_furniture_target +execute as @e[type=interaction,tag=gm4_furniture,distance=..8] if data entity @s interaction at @s run function gm4_furniture:interact/process +tag @s remove gm4_furniture_target diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/paint/detect.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/paint/detect.mcfunction index 0d1e010da4..e97b82c11c 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/paint/detect.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/paint/detect.mcfunction @@ -1,4 +1,9 @@ +# detect interaction on paintable furniture by a player holding a paintbrush +# @s = furniture's interacted interaction entity +# at @s +# run from interact/process -data modify storage gm4_furniture:temp color set from entity @s SelectedItem.tag.display.color -execute if data storage gm4_furniture:temp color as @e[type=interaction,tag=gm4_furniture.dyable,distance=..8] if data entity @s interaction at @s run function gm4_furniture:interact/paint/process +# store color from paintbrush and process application if there is some +data modify storage gm4_furniture:temp color set from entity @p[tag=gm4_furniture_target] SelectedItem.tag.display.color +execute if data storage gm4_furniture:temp color run function gm4_furniture:interact/paint/process data remove storage gm4_furniture:temp color diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction index dff5b0ca93..3692d4a962 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction @@ -1,8 +1,12 @@ +# check if this furniture should be painted +# @s = furniture's interacted interaction entity +# at @s +# run from interact/paint/detect -scoreboard players set $interaction_processed gm4_furniture_data 1 - +# find this furniture's main interaction entity and try to paint its linked item display scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id execute as @e[type=interaction,tag=gm4_furniture.main,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] store success score $paint_changed gm4_furniture_data run data modify entity @s item.tag.display.color set from storage gm4_furniture:temp color -data remove entity @s interaction +# if furniture was painted mark interaction as resolved and play paint sound execute if score $paint_changed gm4_furniture_data matches 1 run playsound item.dye.use player @a[distance=..8] ~ ~ ~ 1 1 +execute if score $paint_changed gm4_furniture_data matches 1 run scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction new file mode 100644 index 0000000000..f48226a47f --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction @@ -0,0 +1,19 @@ +# process interacting (right-click) on furniture +# @s = furniture's interacted interaction entity +# at @s +# run from itneract/detect + +# first successful interaction will be used, any lower down this list will be ignored +scoreboard players set $interaction_processed gm4_furniture_data 0 + +# check for custom interactions +# TODO + +# check for painting +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.dyable] if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_paintbrush] run function gm4_furniture:interact/paint/detect + +# check for sitting +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.sittable] positioned ~-0.4999 ~0.0001 ~-0.4999 run function gm4_furniture:interact/sit/process + +# cleanup +data remove entity @s interaction diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sit/detect.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sit/detect.mcfunction deleted file mode 100644 index 5c08c1d110..0000000000 --- a/gm4_furniture/data/gm4_furniture/functions/interact/sit/detect.mcfunction +++ /dev/null @@ -1,4 +0,0 @@ - -tag @s add gm4_furniture_target -execute as @e[type=interaction,tag=gm4_furniture.sittable,distance=..8] if data entity @s interaction at @s positioned ~-0.4999 ~0.0001 ~-0.4999 run function gm4_furniture:interact/sit/process -tag @s remove gm4_furniture_target diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction index 79357e0980..ac6d735ab5 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction @@ -1,4 +1,12 @@ +# get interacting player to sit at this furniture block +# @s = furniture's interacted interaction entity +# at @s +# run from interact/process +# make player ride the linked item_display (if this is not the main interaction entity item_display will be invisible) +# the item_display is offset from the ground to dictate sit height ride @p[tag=gm4_furniture_target] dismount ride @p[tag=gm4_furniture_target] mount @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] -data remove entity @s interaction + +# mark interaction as resolved +scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction index 970119114e..634337b879 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction @@ -9,5 +9,6 @@ execute if score $placement_blocked gm4_furniture_data matches 0 align y if enti execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} -scoreboard players remove $depth gm4_furniture_data 1 -execute if score $depth gm4_furniture_data matches 1.. positioned ^ ^ ^1 run function gm4_furniture:place/check_size/depth_loop +scoreboard players add $depth_done gm4_furniture_data 1 +execute if score $depth_done gm4_furniture_data = $depth gm4_furniture_data run scoreboard players reset $depth_done gm4_furniture_data +execute if score $depth_done gm4_furniture_data < $depth gm4_furniture_data positioned ^ ^ ^-1 run function gm4_furniture:place/check_size/depth_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction index f5208954db..4a1672d2c4 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction @@ -7,4 +7,4 @@ execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 0 align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 -summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block","gm4_furniture.depth_marker"]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction index 233b64594d..40c789043b 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction @@ -3,7 +3,8 @@ # at the center of the placed block rotated along axis to face towards player or away from the wall, or at any placed marker # run from any in place/furniture/ -execute if score $depth gm4_furniture_data matches 3.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^ ^-1 run function gm4_furniture:place/check_size/depth_offset +execute as @e[type=marker,tag=gm4_furniture.marked_block] run data modify entity @s Rotation set from storage gm4_furniture:data Rotation +execute if score $depth gm4_furniture_data matches 3.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^ ^1 run function gm4_furniture:place/check_size/depth_offset execute if score $depth gm4_furniture_data matches 3.. run scoreboard players remove $depth gm4_furniture_data 1 scoreboard players remove $depth gm4_furniture_data 1 -execute if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^ ^1 run function gm4_furniture:place/check_size/depth_loop +execute if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block,tag=!gm4_furniture.depth_marker] positioned ^ ^ ^-1 run function gm4_furniture:place/check_size/depth_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction index 3583e0d548..db332140a0 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction @@ -9,5 +9,6 @@ execute if score $placement_blocked gm4_furniture_data matches 0 align y if enti execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} -scoreboard players remove $height gm4_furniture_data 1 -execute if score $height gm4_furniture_data matches 1.. positioned ^ ^ ^1 run function gm4_furniture:place/check_size/height_loop +scoreboard players add $height_done gm4_furniture_data 1 +execute if score $height_done gm4_furniture_data = $height gm4_furniture_data run scoreboard players reset $height_done gm4_furniture_data +execute if score $height_done gm4_furniture_data < $height gm4_furniture_data positioned ^ ^1 ^ run function gm4_furniture:place/check_size/height_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction index 7abdf623e8..60508397b7 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction @@ -7,4 +7,4 @@ execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 0 align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 -summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block","gm4_furniture.height_marker"]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction index c0df450528..ef1961bf4a 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction @@ -4,7 +4,8 @@ # run from any in place/furniture/ # height is only offset down if this is a wall placed furniture (painting) +execute as @e[type=marker,tag=gm4_furniture.marked_block] run data modify entity @s Rotation set from storage gm4_furniture:data Rotation execute if score $height gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 1 at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^-1 ^ run function gm4_furniture:place/check_size/height_offset execute if score $height gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 1 run scoreboard players remove $height gm4_furniture_data 1 scoreboard players remove $height gm4_furniture_data 1 -execute if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^ ^1 run function gm4_furniture:place/check_size/height_loop +execute if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block,tag=!gm4_furniture.height_marker] positioned ^ ^1 ^ run function gm4_furniture:place/check_size/height_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction index 6c204395bd..a795f21f7d 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_loop.mcfunction @@ -10,4 +10,4 @@ execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} scoreboard players remove $length gm4_furniture_data 1 -execute if score $length gm4_furniture_data matches 1.. positioned ^-1 ^ ^ run function gm4_furniture:place/check_size/length_loop +execute if score $length gm4_furniture_data matches 1.. positioned ^1 ^ ^ run function gm4_furniture:place/check_size/length_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction index cfa6d0b0b6..88193d1a8a 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_offset.mcfunction @@ -7,5 +7,5 @@ execute unless block ~ ~ ~ #gm4:replaceable run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 0 align y if entity @e[type=interaction,tag=gm4_furniture,tag=!gm4_new_furniture,distance=..0.1] run scoreboard players set $placement_blocked gm4_furniture_data 1 execute if score $placement_blocked gm4_furniture_data matches 1 run return 0 -summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} +summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block","gm4_furniture.length_marker"]} scoreboard players remove $length gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_prep.mcfunction index 9b178395af..3743a392ab 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_prep.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/length_prep.mcfunction @@ -3,6 +3,6 @@ # at the center of the placed block rotated along axis to face towards player or away from the wall # run from any in place/furniture/ -execute if score $length gm4_furniture_data matches 3.. positioned ^1 ^ ^ run function gm4_furniture:place/check_size/length_offset +execute if score $length gm4_furniture_data matches 3.. positioned ^-1 ^ ^ run function gm4_furniture:place/check_size/length_offset scoreboard players remove $length gm4_furniture_data 1 -execute if score $placement_blocked gm4_furniture_data matches 0 positioned ^-1 ^ ^ run function gm4_furniture:place/check_size/length_loop +execute if score $placement_blocked gm4_furniture_data matches 0 positioned ^1 ^ ^ run function gm4_furniture:place/check_size/length_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction index 4b69b7f7f7..51bde6ff45 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction @@ -1,3 +1,8 @@ +# run the function belonging to the placed furniture +# @s = player that just placed a furniture player head +# at the center of the furniture player head that was placed +# run from place/prep_place +# $(function) = function path (gm4_furniture:place/furniture/) $execute if score $rotation gm4_furniture_data matches 1 rotated 0 0 run function $(function) $execute if score $rotation gm4_furniture_data matches 2 rotated 90 0 run function $(function) diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sawmill/hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/hit.mcfunction similarity index 55% rename from gm4_furniture/data/gm4_furniture/functions/interact/sawmill/hit.mcfunction rename to gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/hit.mcfunction index eff59e554b..52e4af20ab 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/sawmill/hit.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/hit.mcfunction @@ -1,4 +1,6 @@ - +# when a player punches the top block of a furniture station swap the category +# @s = player hitting the furniture station wandering trader +# at @s advancement revoke @s only gm4_furniture:hit_furniture_station execute as @e[type=wandering_trader,tag=gm4_furniture.furniture_station,distance=..8,nbt={HurtTime:10s}] at @s run say hit diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/remove_from_horse.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/remove_from_horse.mcfunction index 692f215e64..a479ed1b05 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/remove_from_horse.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/remove_from_horse.mcfunction @@ -1,3 +1,9 @@ +# remove paintbrush from horse if it is found +# @s = horse wearing a paintbrush as horse armor +# at unspecified +# run from main +data modify storage gm4_furniture:temp paintbrush_data set from entity @s ArmorItems[2].tag +loot spawn ~ ~1.6 ~ loot gm4_furniture:technical/drop_horse_paintbrush item replace entity @s horse.armor with air -loot spawn ~ ~1.6 ~ loot gm4_furniture:items/paintbrush +data remove storage gm4_furniture:temp paintbrush_data diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/return_from_horse.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/return_from_horse.mcfunction new file mode 100644 index 0000000000..cb2c9a7c24 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/return_from_horse.mcfunction @@ -0,0 +1,8 @@ +# return paintbrush from horse to player +# @s = horse equipped with paintbrush +# at @s +# run from technical/paintbrush/used_on_horse + +item replace entity @p[tag=gm4_furniture_target] weapon.mainhand with air +item replace entity @p[tag=gm4_furniture_target] weapon.mainhand from entity @s horse.armor +item replace entity @s horse.armor with air diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/used_on_horse.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/used_on_horse.mcfunction index 2b82b3c8d4..98f055b7ae 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/used_on_horse.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/paintbrush/used_on_horse.mcfunction @@ -1,9 +1,8 @@ - +# resolve paintbrush being equpped on a horse by right clicking +# @s = player that right clicked a horse with a paintbrush +# at @s advancement revoke @s only gm4_furniture:use_paintbrush_on_horse tag @s add gm4_furniture_target -execute as @e[type=horse,distance=..8] if data entity @s ArmorItems[2].tag{gm4_furniture:"paintbrush"} store success score $armor_replaced gm4_furniture_data run item replace entity @s horse.armor with air -execute if score $armor_replaced gm4_furniture_data matches 1 run item replace entity @s weapon.mainhand with air -execute if score $armor_replaced gm4_furniture_data matches 1 run loot replace entity @s weapon.mainhand loot gm4_furniture:items/paintbrush -scoreboard players reset $armor_replaced gm4_furniture_data +execute as @e[type=horse,distance=..8] if data entity @s ArmorItems[2].tag{gm4_furniture:"paintbrush"} run function gm4_furniture:technical/paintbrush/return_from_horse tag @s remove gm4_furniture_target diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/technical/drop_horse_paintbrush.json b/gm4_furniture/data/gm4_furniture/loot_tables/technical/drop_horse_paintbrush.json new file mode 100644 index 0000000000..210273d024 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/loot_tables/technical/drop_horse_paintbrush.json @@ -0,0 +1,29 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "name": "gm4_furniture:items/paintbrush", + "functions": [ + { + "function": "minecraft:copy_nbt", + "source": { + "type": "minecraft:storage", + "source": "gm4_furniture:temp" + }, + "ops": [ + { + "source": "paintbrush_data", + "target": "{}", + "op": "merge" + } + ] + } + ] + } + ] + } + ] +} diff --git a/gm4_furniture/data/gm4_furniture/tags/blocks/furniture_blocks.json b/gm4_furniture/data/gm4_furniture/tags/blocks/furniture_blocks.json new file mode 100644 index 0000000000..b9c4edb442 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/tags/blocks/furniture_blocks.json @@ -0,0 +1,6 @@ +{ + "values": [ + "minecraft:barrier", + "minecraft:light" + ] +} diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction index 3e0421d3b4..32b9245fdb 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction @@ -2,10 +2,17 @@ # @s = player who placed the furniture player head # at the center of the placed block rotated along axis to face towards player or away from the wall # run from place/resolve_id +# this function was generated by generate.py # first perform checks to see if furniture fits where it was placed scoreboard players set $valid_placement gm4_furniture_data 1 +# store rotation in storage +execute if score $rotation gm4_furniture_data matches 1 run data modify storage gm4_furniture:data Rotation set value [0F,0F] +execute if score $rotation gm4_furniture_data matches 2 run data modify storage gm4_furniture:data Rotation set value [90F,0F] +execute if score $rotation gm4_furniture_data matches 3 run data modify storage gm4_furniture:data Rotation set value [180F,0F] +execute if score $rotation gm4_furniture_data matches 4 run data modify storage gm4_furniture:data Rotation set value [-90F,0F] + # wall only furniture must be placed on a wall scoreboard players set $wall_only gm4_furniture_data {{ wall_only }} execute if score $wall_only gm4_furniture_data matches 1 unless score $wall_placement gm4_furniture_data matches 1 run scoreboard players set $valid_placement gm4_furniture_data 0 @@ -13,14 +20,14 @@ execute if score $wall_only gm4_furniture_data matches 1 unless score $wall_plac # wall placed furniture is not allowed to have depth, if any size is bigger than 1 check if there is space scoreboard players set $length gm4_furniture_data {{ length }} scoreboard players set $depth gm4_furniture_data {{ depth }} -scoreboard players set $heigth gm4_furniture_data {{ heigth }} +scoreboard players set $height gm4_furniture_data {{ height }} execute if score $wall_placement gm4_furniture_data matches 1 if score $depth gm4_furniture_data matches 2.. run scoreboard players set $valid_placement gm4_furniture_data 0 scoreboard players set $placement_blocked gm4_furniture_data 0 execute if score $valid_placement gm4_furniture_data matches 1 if score $length gm4_furniture_data matches 2.. run function gm4_furniture:place/check_size/length_prep summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block","gm4_furniture.middle"]} setblock ~ ~ ~ air execute if score $valid_placement gm4_furniture_data matches 1 if score $depth gm4_furniture_data matches 2.. run function gm4_furniture:place/check_size/depth_prep -execute if score $valid_placement gm4_furniture_data matches 1 if score $heigth gm4_furniture_data matches 2.. run function gm4_furniture:place/check_size/heigth_prep +execute if score $valid_placement gm4_furniture_data matches 1 if score $height gm4_furniture_data matches 2.. run function gm4_furniture:place/check_size/height_prep kill @e[type=marker,tag=gm4_furniture.middle,distance=..2,limit=1,sort=nearest] execute if score $placement_blocked gm4_furniture_data matches 1 run scoreboard players set $valid_placement gm4_furniture_data 0 execute if score $placement_blocked gm4_furniture_data matches 1 run kill @e[type=marker,tag=gm4_furniture.marked_block] @@ -58,9 +65,7 @@ execute if score $sittable gm4_furniture_data matches 1.. store result entity @e execute if score $sittable gm4_furniture_data matches 1.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.seat","gm4_furniture.sittable","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}_seat"',item:{id:"air",Count:1},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]}} # rotate furniture depending on rotation set by player (if rotation is 1 default rotation can be kept) -execute if score $rotation gm4_furniture_data matches 2 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ 90 0 -execute if score $rotation gm4_furniture_data matches 3 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ 180 0 -execute if score $rotation gm4_furniture_data matches 4 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ -90 0 +execute if score $rotation gm4_furniture_data matches 2.. as @e[tag=gm4_new_furniture,distance=..8] run data modify entity @s Rotation set from storage gm4_furniture:data Rotation # mark block as placed playsound minecraft:block.barrel.close block @a[distance=..6] ~ ~ ~ 1 1.6 diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index 4c6c8b034d..5e663db1e1 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -2,7 +2,7 @@ class furnitures: - def __init__(self, technical_id, display_name, cmd, block_id="barrier", sittable=0, dyable=0, wall_only=0, length=1, depth=1, heigth=1, table=0, scale=1): + def __init__(self, technical_id, display_name, cmd, block_id="barrier", sittable=0, dyable=0, wall_only=0, length=1, depth=1, height=1, table=0, scale=1): self.technical_id = technical_id self.display_name = display_name self.cmd = cmd @@ -12,7 +12,7 @@ def __init__(self, technical_id, display_name, cmd, block_id="barrier", sittable self.dyable = dyable self.length = length self.depth = depth - self.heigth = heigth + self.height = height self.table = table self.scale = scale @@ -33,11 +33,11 @@ def beet_default(ctx: Context): furniture_list.append(furnitures( 'wooden_bench_2', 'Wooden Bench', 3420206, sittable=50, length=3)) furniture_list.append(furnitures( - 'dyable_armchair_1', 'Cloth Armchair', 3420207, sittable=1, dyable=1)) + 'dyable_armchair_1', 'Cloth Armchair', 3420207, sittable=50, dyable=1)) furniture_list.append(furnitures( - 'wooden_candelabra_1', 'Candelabra', 3420208, block_id="light[level=15]", dyable=1)) + 'wooden_3_candle_holder_1', 'Candelabra', 3420208, block_id="light[level=15]", dyable=1)) furniture_list.append(furnitures( - 'wooden_candelabra_2', 'Candelabra', 3420209, block_id="light[level=15]", dyable=1)) + 'wooden_5_candle_holder_1', 'Candelabra', 3420209, block_id="light[level=15]", dyable=1)) furniture_list.append(furnitures( 'dyable_stool_1', 'Ottoman', 3420210, sittable=50, dyable=1)) furniture_list.append(furnitures( @@ -46,6 +46,28 @@ def beet_default(ctx: Context): 'wooden_table_2', 'Wooden Table', 3420212, table=1)) furniture_list.append(furnitures( 'dyable_wooden_table_1', 'Wooden Table with Cloth', 3420213, dyable=1, table=1)) + furniture_list.append(furnitures( + 'dyable_wooden_sofa_1', 'Wooden Sofa with Cushions', 3420214, sittable=50, dyable=1, length=3)) + furniture_list.append(furnitures( + '2x1_log_seat_1', 'Log Bench', 3420215, sittable=50, length=2)) + furniture_list.append(furnitures( + '1x1_log_seat_1', 'Log Seat', 3420216, sittable=50)) + furniture_list.append(furnitures( + 'stone_frog_statue', 'Frog Statue', 3420217)) + furniture_list.append(furnitures( + 'wooden_wall_candle_holder_1', 'Wall Candle', 3420218, block_id="light[level=15]", dyable=1, wall_only=1)) + furniture_list.append(furnitures( + 'dyable_wooden_chair_1', 'Wooden Chair with Cushions', 3420219, sittable=50, dyable=1)) + furniture_list.append(furnitures( + 'gold_5_candle_holder_1', 'Gold Candelabra', 3420220, block_id="light[level=15]", dyable=1)) + furniture_list.append(furnitures( + 'gold_3_candle_holder_1', 'Gold Candelabra', 3420221, block_id="light[level=15]", dyable=1)) + furniture_list.append(furnitures( + 'iron_5_candle_holder_1', 'Iron Candelabra', 3420222, block_id="light[level=15]", dyable=1)) + furniture_list.append(furnitures( + 'iron_3_candle_holder_1', 'Iron Candelabra', 3420223, block_id="light[level=15]", dyable=1)) + furniture_list.append(furnitures( + '2x2_wooden_table_2', 'Wooden Table', 3420224, length=2, depth=2, table=1)) for furniture_data in furniture_list: @@ -72,7 +94,7 @@ def beet_default(ctx: Context): "dyable": furniture_data.dyable, "length": furniture_data.length, "depth": furniture_data.depth, - "heigth": furniture_data.heigth, + "height": furniture_data.height, "table": furniture_data.table, "scale": furniture_data.scale, } From 9466202eddf424a97ef1ea45d097b16f4fd7db55 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Thu, 31 Aug 2023 23:54:36 +0200 Subject: [PATCH 04/34] add colourability --- gm4_furniture/beet.yaml | 2 + .../advancements/hit_furniture_station.json | 42 ------ .../functions/break/decimal_to_hex.mcfunction | 60 +++++++++ .../functions/break/destroy.mcfunction | 11 +- .../functions/break/drop_item.mcfunction | 5 +- .../break/lost_connection.mcfunction | 8 ++ .../break/remove_furniture_station.mcfunction | 1 + .../gm4_furniture/functions/init.mcfunction | 13 +- .../furniture/stone_frog_statue.mcfunction | 7 + .../interact/custom/process.mcfunction | 8 ++ .../custom/resolve_function.mcfunction | 7 + .../furniture_station/swap_tool.mcfunction | 12 ++ .../interact/paint/process.mcfunction | 1 + .../functions/interact/process.mcfunction | 7 +- .../gm4_furniture/functions/main.mcfunction | 4 + .../place/check_size/depth_loop.mcfunction | 3 +- .../place/check_size/depth_offset.mcfunction | 2 +- .../place/check_size/depth_prep.mcfunction | 7 +- .../place/check_size/height_loop.mcfunction | 5 +- .../place/check_size/height_offset.mcfunction | 2 +- .../place/check_size/height_prep.mcfunction | 7 +- .../furniture/furniture_station.mcfunction | 16 ++- .../place/place_furniture.mcfunction | 7 + .../functions/place/prep_place.mcfunction | 4 +- .../functions/place/resolve_id.mcfunction | 12 +- .../build_trades/build_trade.mcfunction | 20 +++ .../build_trades/get_trade_data.mcfunction | 10 ++ .../build_trades/prep.mcfunction | 34 +++++ .../build_trades/resolve_trade.mcfunction | 7 + .../furniture_station/hit.mcfunction | 6 - .../furniture/furniture_station.json | 13 ++ .../loot_tables/items/furniture_station.json | 2 +- .../predicates/chance/frog_statue_sound.json | 4 + .../gm4_furniture/predicates/is_sneaking.json | 9 ++ .../functions/crafting_template.mcfunction | 13 ++ ...on => furniture_place_template.mcfunction} | 19 ++- .../loot_tables/furniture_item_template.json | 125 ++++++++++++++++++ .../templates/loot_tables/template.json | 31 ----- gm4_furniture/generate.py | 73 +++++----- 39 files changed, 473 insertions(+), 146 deletions(-) delete mode 100644 gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/lost_connection.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_frog_statue.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/custom/process.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/custom/resolve_function.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/get_trade_data.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction delete mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/hit.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/loot_tables/furniture/furniture_station.json create mode 100644 gm4_furniture/data/gm4_furniture/predicates/chance/frog_statue_sound.json create mode 100644 gm4_furniture/data/gm4_furniture/predicates/is_sneaking.json create mode 100644 gm4_furniture/data/gm4_furniture/templates/functions/crafting_template.mcfunction rename gm4_furniture/data/gm4_furniture/templates/functions/{template.mcfunction => furniture_place_template.mcfunction} (83%) create mode 100644 gm4_furniture/data/gm4_furniture/templates/loot_tables/furniture_item_template.json delete mode 100644 gm4_furniture/data/gm4_furniture/templates/loot_tables/template.json diff --git a/gm4_furniture/beet.yaml b/gm4_furniture/beet.yaml index 1fff13d64b..cd588a5fed 100644 --- a/gm4_furniture/beet.yaml +++ b/gm4_furniture/beet.yaml @@ -9,11 +9,13 @@ pipeline: - gm4_furniture.generate - gm4.plugins.extend.module - gm4.plugins.include.lib_custom_crafters + - gm4.plugins.include.lib_forceload meta: gm4: versioning: required: + - lib_forceload: 1.1.0 - lib_custom_crafters: 3.0.0 schedule_loops: [main] website: diff --git a/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json b/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json deleted file mode 100644 index 78384f632f..0000000000 --- a/gm4_furniture/data/gm4_furniture/advancements/hit_furniture_station.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "criteria": { - "hit_furniture_station": { - "trigger": "minecraft:player_hurt_entity", - "conditions": { - "player": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "type_specific": { - "type": "player", - "gamemode": "adventure" - } - } - } - } - ], - "entity": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "type": "minecraft:wandering_trader", - "nbt": "{Tags:[\"gm4_furniture.furniture_station\"]}" - } - } - ] - } - } - }, - "requirements": [ - [ - "hit_furniture_station" - ] - ], - "rewards": { - "function": "gm4_furniture:interact/furniture_station/hit" - } -} diff --git a/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction new file mode 100644 index 0000000000..02e2cee720 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction @@ -0,0 +1,60 @@ + +data modify storage gm4_furniture:temp color_hex set value {} + +scoreboard players operation $red gm4_furniture_data = $furniture_color gm4_furniture_data +scoreboard players operation $red gm4_furniture_data /= #65536 gm4_furniture_data +scoreboard players operation $add_digit gm4_furniture_data = $red gm4_furniture_data +scoreboard players operation $add_digit gm4_furniture_data /= #16 gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.red_1 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.red_1 set value "B" +execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.red_1 set value "C" +execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.red_1 set value "D" +execute if score $add_digit gm4_furniture_data matches 14 run data modify storage gm4_furniture:temp color_hex.red_1 set value "E" +execute if score $add_digit gm4_furniture_data matches 15 run data modify storage gm4_furniture:temp color_hex.red_1 set value "F" +scoreboard players operation $add_digit gm4_furniture_data = $red gm4_furniture_data +scoreboard players operation $add_digit gm4_furniture_data %= #16 gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.red_2 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.red_2 set value "B" +execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.red_2 set value "C" +execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.red_2 set value "D" +execute if score $add_digit gm4_furniture_data matches 14 run data modify storage gm4_furniture:temp color_hex.red_2 set value "E" +execute if score $add_digit gm4_furniture_data matches 15 run data modify storage gm4_furniture:temp color_hex.red_2 set value "F" + +scoreboard players operation $green gm4_furniture_data = $furniture_color gm4_furniture_data +scoreboard players operation $green gm4_furniture_data /= #256 gm4_furniture_data +scoreboard players operation $green gm4_furniture_data %= #256 gm4_furniture_data +scoreboard players operation $add_digit gm4_furniture_data = $green gm4_furniture_data +scoreboard players operation $add_digit gm4_furniture_data /= #16 gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.green_1 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.green_1 set value "B" +execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.green_1 set value "C" +execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.green_1 set value "D" +execute if score $add_digit gm4_furniture_data matches 14 run data modify storage gm4_furniture:temp color_hex.green_1 set value "E" +execute if score $add_digit gm4_furniture_data matches 15 run data modify storage gm4_furniture:temp color_hex.green_1 set value "F" +scoreboard players operation $add_digit gm4_furniture_data = $green gm4_furniture_data +scoreboard players operation $add_digit gm4_furniture_data %= #16 gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.green_2 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.green_2 set value "B" +execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.green_2 set value "C" +execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.green_2 set value "D" +execute if score $add_digit gm4_furniture_data matches 14 run data modify storage gm4_furniture:temp color_hex.green_2 set value "E" +execute if score $add_digit gm4_furniture_data matches 15 run data modify storage gm4_furniture:temp color_hex.green_2 set value "F" + +scoreboard players operation $blue gm4_furniture_data = $furniture_color gm4_furniture_data +scoreboard players operation $blue gm4_furniture_data %= #256 gm4_furniture_data +scoreboard players operation $add_digit gm4_furniture_data = $blue gm4_furniture_data +scoreboard players operation $add_digit gm4_furniture_data /= #16 gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.blue_1 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.blue_1 set value "B" +execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.blue_1 set value "C" +execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.blue_1 set value "D" +execute if score $add_digit gm4_furniture_data matches 14 run data modify storage gm4_furniture:temp color_hex.blue_1 set value "E" +execute if score $add_digit gm4_furniture_data matches 15 run data modify storage gm4_furniture:temp color_hex.blue_1 set value "F" +scoreboard players operation $add_digit gm4_furniture_data = $blue gm4_furniture_data +scoreboard players operation $add_digit gm4_furniture_data %= #16 gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.blue_2 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.blue_2 set value "B" +execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.blue_2 set value "C" +execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.blue_2 set value "D" +execute if score $add_digit gm4_furniture_data matches 14 run data modify storage gm4_furniture:temp color_hex.blue_2 set value "E" +execute if score $add_digit gm4_furniture_data matches 15 run data modify storage gm4_furniture:temp color_hex.blue_2 set value "F" diff --git a/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction index a30b1082d3..8dadf0bedd 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction @@ -2,9 +2,15 @@ # @s = furniture main interaction entity # at @s # run from break/process_hit +# run from break/lost_connection + +# check if furniture had color data +execute store result score $furniture_color gm4_furniture_data positioned ~-0.4999 ~0.0001 ~-0.4999 run data get entity @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] item.tag.display.color +execute if score $furniture_color gm4_furniture_data matches 16383998 run scoreboard players reset $furniture_color gm4_furniture_data +execute if score $furniture_color gm4_furniture_data matches 1.. run function gm4_furniture:break/decimal_to_hex # unless breaking player was in creative drop the item -execute if score $creative gm4_furniture_data matches 0 positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] run function gm4_furniture:break/drop_item with entity @s item.tag.data +execute unless score $creative gm4_furniture_data matches 1 positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] run function gm4_furniture:break/drop_item with entity @s item.tag.data # remove any furniture blocks that match the id execute as @e[type=interaction,tag=gm4_furniture,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s run function gm4_furniture:break/remove_block @@ -14,3 +20,6 @@ execute if entity @s[tag=gm4_furniture.furniture_station] run function gm4_furni # destroy sound playsound minecraft:entity.armor_stand.break block @a[distance=..8] ~ ~ ~ 1 1 + +# cleanup +scoreboard players reset $furniture_color gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction index 451d0698e8..3a314fbdd1 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction @@ -2,6 +2,7 @@ # @s = furniture item display # at @s # run from break/destroy with @s item.tag.data -# $(loot_table) = loot table path for this furniture item +# $(technical_id) = furniture's technical_id -$loot spawn ~.5 ~.25 ~.5 loot $(loot_table) +$loot spawn ~.5 ~.25 ~.5 loot gm4_furniture:furniture/$(technical_id) +execute if score $furniture_color gm4_furniture_data matches 1.. positioned ~.5 ~.25 ~.5 store result entity @e[type=item,limit=1,sort=nearest] Item.tag.gm4_furniture.color int 1 run scoreboard players get $furniture_color gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/break/lost_connection.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/lost_connection.mcfunction new file mode 100644 index 0000000000..a892acfa2b --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/lost_connection.mcfunction @@ -0,0 +1,8 @@ +# destroy furniture if it loses its required connection to the wall / ceiling +# @s = furniture's main interaction entity +# at @s +# run from main + +scoreboard players set $creative gm4_furniture_data 0 +scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id +function gm4_furniture:break/destroy diff --git a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction index a3ee35e5d4..9827ec0e9b 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction @@ -5,3 +5,4 @@ setblock ~ ~2 ~ air execute as @e[type=wandering_trader,tag=gm4_furniture,distance=..4] if score @s gm4_furniture_id = $check_id gm4_furniture_id run tp @s ~ -100000 ~ +execute positioned ~-0.4999 ~0.0001 ~-0.4999 run kill @e[type=item_display,tag=gm4_furniture.tool,dx=0,dy=0,dz=0] diff --git a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction index b613670272..ab4494f601 100644 --- a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction @@ -5,17 +5,22 @@ scoreboard players set furniture gm4_modules 1 scoreboard objectives add gm4_furniture_data dummy scoreboard objectives add gm4_furniture_last_hit dummy scoreboard objectives add gm4_furniture_id dummy +scoreboard objectives add gm4_furniture_index dummy scoreboard players set #2 gm4_furniture_data 2 +scoreboard players set #16 gm4_furniture_data 16 +scoreboard players set #256 gm4_furniture_data 256 +scoreboard players set #65536 gm4_furniture_data 65536 team add gm4_furniture_nocol team modify gm4_furniture_nocol collisionRule never -data modify storage gm4_furniture:furniture_station categories set value [] -data modify storage gm4_furniture:furniture_station categories append value {test:1} -data modify storage gm4_furniture:furniture_station categories append value {test:2} -data modify storage gm4_furniture:furniture_station categories append value {test:3} +# build furniture station trade data +data modify storage gm4_furniture:data furniture_station set value [] +function gm4_furniture:generate_trades function #gm4_furniture:add_categories +execute store result score $max_index gm4_furniture_index run data get storage gm4_furniture:data furniture_station +scoreboard players remove $max_index gm4_furniture_index 1 schedule function gm4_furniture:main 1t diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_frog_statue.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_frog_statue.mcfunction new file mode 100644 index 0000000000..ff538a11c5 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_frog_statue.mcfunction @@ -0,0 +1,7 @@ +# 2% chance to play a frog sound +# @s = furniture's interacted interaction entity +# at @s +# run from interact/custom/resolve_function + +execute if predicate gm4_furniture:chance/frog_statue_sound run playsound entity.frog.ambient block @a[distance=..16] ~ ~ ~ 1 0.95 +scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/process.mcfunction new file mode 100644 index 0000000000..d67caca0f1 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/process.mcfunction @@ -0,0 +1,8 @@ +# process custom furniture interactions +# @s = furniture's interacted interaction entity +# at @s +# run from interact/process + +data modify storage gm4_furniture:temp technical_id set string entity @s CustomName 23 -2 +function gm4_furniture:interact/custom/resolve_function with storage gm4_furniture:temp +data remove storage gm4_furniture:temp technical_id diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/resolve_function.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/resolve_function.mcfunction new file mode 100644 index 0000000000..ca3e00203d --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/resolve_function.mcfunction @@ -0,0 +1,7 @@ +# resolve which furniture was interacted with +# @s = furniture's interacted interaction entity +# at @s +# run from interact/custom/process with storage gm4_furniture:temp +# $(techical_id) = technical_id + +$function gm4_furniture:interact/custom/furniture/$(technical_id) diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction new file mode 100644 index 0000000000..fd15fcc753 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction @@ -0,0 +1,12 @@ +# get interacting player to sit at this furniture block +# @s = furniture's interacted interaction entity +# at @s +# run from interact/process + +# move index up/down +execute if entity @s[tag=gm4_furniture.next] align xyz run scoreboard players add @e[type=wandering_trader,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 +execute if entity @s[tag=gm4_furniture.prev] align xyz run scoreboard players remove @e[type=wandering_trader,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 +execute align xyz as @e[type=wandering_trader,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep + +# mark interaction as resolved +scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction index 3692d4a962..d0f9a66c1f 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction @@ -10,3 +10,4 @@ execute as @e[type=interaction,tag=gm4_furniture.main,distance=..8] if score @s # if furniture was painted mark interaction as resolved and play paint sound execute if score $paint_changed gm4_furniture_data matches 1 run playsound item.dye.use player @a[distance=..8] ~ ~ ~ 1 1 execute if score $paint_changed gm4_furniture_data matches 1 run scoreboard players set $interaction_processed gm4_furniture_data 1 +execute if score $paint_changed gm4_furniture_data matches 1 as @e[type=interaction,tag=gm4_furniture.main,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id run tag @s add gm4_furniture.painted diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction index f48226a47f..c9f519e5e9 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction @@ -6,14 +6,17 @@ # first successful interaction will be used, any lower down this list will be ignored scoreboard players set $interaction_processed gm4_furniture_data 0 +# check for furniture station interactions +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.swap_tool] run function gm4_furniture:interact/furniture_station/swap_tool + # check for custom interactions -# TODO +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.custom_interaction] run function gm4_furniture:interact/custom/process # check for painting execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.dyable] if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_paintbrush] run function gm4_furniture:interact/paint/detect # check for sitting -execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.sittable] positioned ~-0.4999 ~0.0001 ~-0.4999 run function gm4_furniture:interact/sit/process +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.sittable] if entity @p[tag=gm4_furniture_target,predicate=!gm4_furniture:is_sneaking] positioned ~-0.4999 ~0.0001 ~-0.4999 run function gm4_furniture:interact/sit/process # cleanup data remove entity @s interaction diff --git a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction index 2309a28baa..0014f1e3b5 100644 --- a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction @@ -2,3 +2,7 @@ schedule function gm4_furniture:main 8t # check horses, remove paintbrushes that have been equipped execute as @e[type=horse,nbt={ArmorItems:[{tag:{gm4_furniture:"paintbrush"}}]}] at @s run function gm4_furniture:technical/paintbrush/remove_from_horse + +# check furniture placements +execute as @e[type=interaction,tag=gm4_furniture.on_wall] at @s if block ^ ^0.5 ^-1 #gm4:replaceable run function gm4_furniture:break/lost_connection +execute as @e[type=interaction,tag=gm4_furniture.on_ceiling] at @s if block ^ ^1.5 ^ #gm4:replaceable run function gm4_furniture:break/lost_connection diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction index 634337b879..1bf10cf2cb 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_loop.mcfunction @@ -11,4 +11,5 @@ summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} scoreboard players add $depth_done gm4_furniture_data 1 execute if score $depth_done gm4_furniture_data = $depth gm4_furniture_data run scoreboard players reset $depth_done gm4_furniture_data -execute if score $depth_done gm4_furniture_data < $depth gm4_furniture_data positioned ^ ^ ^-1 run function gm4_furniture:place/check_size/depth_loop +execute if score $wall_only gm4_furniture_data matches 0 if score $depth_done gm4_furniture_data < $depth gm4_furniture_data positioned ^ ^ ^-1 run function gm4_furniture:place/check_size/depth_loop +execute if score $wall_only gm4_furniture_data matches 1 if score $depth_done gm4_furniture_data < $depth gm4_furniture_data positioned ^ ^ ^1 run function gm4_furniture:place/check_size/depth_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction index 4a1672d2c4..e4fc2ba2ae 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_offset.mcfunction @@ -1,6 +1,6 @@ # check if furniture fits here # @s = player who placed the furniture player head -# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^x ^ ^ +# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^ ^ ^x # run from place/check_size/depth_prep # run from here diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction index 40c789043b..b226ea3360 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/depth_prep.mcfunction @@ -4,7 +4,8 @@ # run from any in place/furniture/ execute as @e[type=marker,tag=gm4_furniture.marked_block] run data modify entity @s Rotation set from storage gm4_furniture:data Rotation -execute if score $depth gm4_furniture_data matches 3.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^ ^1 run function gm4_furniture:place/check_size/depth_offset -execute if score $depth gm4_furniture_data matches 3.. run scoreboard players remove $depth gm4_furniture_data 1 +execute if score $depth gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^ ^1 run function gm4_furniture:place/check_size/depth_offset +execute if score $depth gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 0 run scoreboard players remove $depth gm4_furniture_data 1 scoreboard players remove $depth gm4_furniture_data 1 -execute if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block,tag=!gm4_furniture.depth_marker] positioned ^ ^ ^-1 run function gm4_furniture:place/check_size/depth_loop +execute if score $wall_only gm4_furniture_data matches 0 if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block,tag=!gm4_furniture.depth_marker] positioned ^ ^ ^-1 run function gm4_furniture:place/check_size/depth_loop +execute if score $wall_only gm4_furniture_data matches 1 if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block,tag=!gm4_furniture.depth_marker] positioned ^ ^ ^1 run function gm4_furniture:place/check_size/depth_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction index db332140a0..e10445d0e3 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_loop.mcfunction @@ -1,6 +1,6 @@ # check if furniture fits here # @s = player who placed the furniture player head -# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^ ^ ^x +# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^ ^x ^ # run from place/check_size/height_prep # run from here @@ -11,4 +11,5 @@ summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block"]} scoreboard players add $height_done gm4_furniture_data 1 execute if score $height_done gm4_furniture_data = $height gm4_furniture_data run scoreboard players reset $height_done gm4_furniture_data -execute if score $height_done gm4_furniture_data < $height gm4_furniture_data positioned ^ ^1 ^ run function gm4_furniture:place/check_size/height_loop +execute if score $ceiling_only gm4_furniture_data matches 0 if score $height_done gm4_furniture_data < $height gm4_furniture_data positioned ^ ^1 ^ run function gm4_furniture:place/check_size/height_loop +execute if score $ceiling_only gm4_furniture_data matches 1 if score $height_done gm4_furniture_data < $height gm4_furniture_data positioned ^ ^-1 ^ run function gm4_furniture:place/check_size/height_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction index 60508397b7..dfa23474b1 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_offset.mcfunction @@ -1,6 +1,6 @@ # check if furniture fits here # @s = player who placed the furniture player head -# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^x ^ ^ +# at the center of the placed block rotated along axis to face towards player or away from the wall, positioned ^ ^x ^ # run from place/check_size/height_prep # run from here diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction index ef1961bf4a..c32229bea4 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_size/height_prep.mcfunction @@ -5,7 +5,8 @@ # height is only offset down if this is a wall placed furniture (painting) execute as @e[type=marker,tag=gm4_furniture.marked_block] run data modify entity @s Rotation set from storage gm4_furniture:data Rotation -execute if score $height gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 1 at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^-1 ^ run function gm4_furniture:place/check_size/height_offset -execute if score $height gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 1 run scoreboard players remove $height gm4_furniture_data 1 +execute if score $height gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 1 if score $ceiling_only gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block] positioned ^ ^-1 ^ run function gm4_furniture:place/check_size/height_offset +execute if score $height gm4_furniture_data matches 3.. if score $wall_only gm4_furniture_data matches 1 if score $ceiling_only gm4_furniture_data matches 0 run scoreboard players remove $height gm4_furniture_data 1 scoreboard players remove $height gm4_furniture_data 1 -execute if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block,tag=!gm4_furniture.height_marker] positioned ^ ^1 ^ run function gm4_furniture:place/check_size/height_loop +execute if score $ceiling_only gm4_furniture_data matches 0 if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block,tag=!gm4_furniture.height_marker] positioned ^ ^1 ^ run function gm4_furniture:place/check_size/height_loop +execute if score $ceiling_only gm4_furniture_data matches 1 if score $placement_blocked gm4_furniture_data matches 0 at @e[type=marker,tag=gm4_furniture.marked_block,tag=!gm4_furniture.height_marker] positioned ^ ^-1 ^ run function gm4_furniture:place/check_size/height_loop diff --git a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction index 6e955ec6fc..3c977298b6 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction @@ -16,14 +16,24 @@ execute if score $valid_placement gm4_furniture_data matches 0 run setblock ~ ~ execute if score $valid_placement gm4_furniture_data matches 0 run return 0 # spawn the furniture_station -execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{loot_table:"gm4_furniture:items/furniture_station"},CustomModelData:3420150}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"furniture_station"},CustomModelData:3420150}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1.0002f,width:1.0002f,response:1b} +summon interaction ^0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.next","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} +summon interaction ^-0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.prev","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,1f,0f],scale:[1f,1f,1f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_next","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[1f,0f,0f,1f],right_rotation:[1f,0f,0f,1f],translation:[0.25f,1.45f,0.5f],scale:[0.25f,0.25f,0.25f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_prev","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[1f,0f,0f,1f],right_rotation:[1f,0f,0f,1f],translation:[-0.25f,1.45f,0.5f],scale:[0.25f,0.25f,0.25f]}} +data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_main,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[0].cmd +data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_next,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[1].cmd +data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_prev,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[-1].cmd setblock ~ ~ ~ barrier # spawn trader and set ids -summon wandering_trader ~ ~1000 ~ {Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"text":"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBA","font":"gm4_furniture","color":"white"}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} +summon wandering_trader ~ ~1000 ~ {Invulnerable:1b,Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.furniture_station","fallback":"Furniture Station"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:offscreen"},{"translate":"gui.gm4.furniture_station","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:furniture","color":"#404040"}]]}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} tp @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] ~ ~-0.4999 ~ -setblock ~ ~1 ~ flower_pot +scoreboard players set @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] gm4_furniture_index 0 +execute as @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep +setblock ~ ~1 ~ light[level=0] execute store result score @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 execute store result score @e[type=wandering_trader,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players get $next_id gm4_furniture_id diff --git a/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction index 7c75d161df..241764338e 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction @@ -3,6 +3,10 @@ # at @s advancement revoke @s only gm4_furniture:place_furniture +# get item data +execute store success score $mainhand gm4_furniture_data run data modify storage gm4_furniture:temp furniture_data set from entity @s SelectedItem.tag.gm4_furniture +execute if score $mainhand gm4_furniture_data matches 0 run data modify storage gm4_furniture:temp furniture_data set from entity @s Inventory[{Slot:-106b}].tag.gm4_furniture + # get rotation of player # key: direction of player # 1: north, 2: east, 3: south, 4: west @@ -27,3 +31,6 @@ execute if score $player_head_count gm4_furniture_data matches 1.. if score $rot execute if score $player_head_count gm4_furniture_data matches 1.. if score $rotation gm4_furniture_data matches 2 align xyz positioned ~0.5 ~0.5 ~0.5 rotated -90 0 positioned ^-4 ^-4 ^-1 run function gm4_furniture:place/check_layer execute if score $player_head_count gm4_furniture_data matches 1.. if score $rotation gm4_furniture_data matches 3 align xyz positioned ~0.5 ~0.5 ~0.5 rotated 0 0 positioned ^-4 ^-4 ^-1 run function gm4_furniture:place/check_layer execute if score $player_head_count gm4_furniture_data matches 1.. if score $rotation gm4_furniture_data matches 4 align xyz positioned ~0.5 ~0.5 ~0.5 rotated 90 0 positioned ^-4 ^-4 ^-1 run function gm4_furniture:place/check_layer + +# cleanup +data remove storage gm4_furniture:temp furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction index 1c3872c789..36e3dbe476 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/prep_place.mcfunction @@ -13,6 +13,4 @@ execute if score $wall_placement gm4_furniture_data matches 1 if block ~ ~ ~ pla scoreboard players remove $player_head_count gm4_furniture_data 1 -data modify storage gm4_furniture:temp command.function set from block ~ ~ ~ SkullOwner.Name -function gm4_furniture:place/resolve_id with storage gm4_furniture:temp command -data remove storage gm4_furniture:temp command +function gm4_furniture:place/resolve_id with storage gm4_furniture:temp furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction index 51bde6ff45..2903fe0f9a 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction @@ -1,10 +1,10 @@ # run the function belonging to the placed furniture # @s = player that just placed a furniture player head # at the center of the furniture player head that was placed -# run from place/prep_place -# $(function) = function path (gm4_furniture:place/furniture/) +# run from place/prep_place with storage gm4_furniture:temp furniture_data +# $(technical_id) = furniture's technical_id -$execute if score $rotation gm4_furniture_data matches 1 rotated 0 0 run function $(function) -$execute if score $rotation gm4_furniture_data matches 2 rotated 90 0 run function $(function) -$execute if score $rotation gm4_furniture_data matches 3 rotated 180 0 run function $(function) -$execute if score $rotation gm4_furniture_data matches 4 rotated -90 0 run function $(function) +$execute if score $rotation gm4_furniture_data matches 1 rotated 0 0 run function gm4_furniture:place/furniture/$(technical_id) +$execute if score $rotation gm4_furniture_data matches 2 rotated 90 0 run function gm4_furniture:place/furniture/$(technical_id) +$execute if score $rotation gm4_furniture_data matches 3 rotated 180 0 run function gm4_furniture:place/furniture/$(technical_id) +$execute if score $rotation gm4_furniture_data matches 4 rotated -90 0 run function gm4_furniture:place/furniture/$(technical_id) diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction new file mode 100644 index 0000000000..3094b1cc0c --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction @@ -0,0 +1,20 @@ +# build a trade from trade_data +# @s = furniture station wandering trader +# at @s +# run from technical/furniture_station/build_trades/prep +# run from here + +data modify storage gm4_furniture:temp new_trade set value {rewardExp:0b,maxUses:2147483647,uses:0,xp:0,buy:{id:"minecraft:barrier",Count:1b},buyB:{id:"minecraft:barrier",Count:1b},sell:{id:"minecraft:barrier",Count:1b}} +data modify storage gm4_furniture:temp new_trade.buy.id set from storage gm4_furniture:temp trade_data[0].cost[0].id +data modify storage gm4_furniture:temp new_trade.buy.Count set from storage gm4_furniture:temp trade_data[0].cost[0].Count +data modify storage gm4_furniture:temp new_trade.buyB.id set from storage gm4_furniture:temp trade_data[0].cost[1].id +data modify storage gm4_furniture:temp new_trade.buyB.Count set from storage gm4_furniture:temp trade_data[0].cost[1].Count + +function gm4_furniture:technical/furniture_station/build_trades/resolve_trade with storage gm4_furniture:temp trade_data[0] +data modify storage gm4_furniture:temp new_trade.sell set from block 29999998 1 7134 Items[{Slot:0b}] + +data modify storage gm4_furniture:temp trades append from storage gm4_furniture:temp new_trade +data remove storage gm4_furniture:temp new_trade + +data remove storage gm4_furniture:temp trade_data[0] +execute if data storage gm4_furniture:temp trade_data[0] run function gm4_furniture:technical/furniture_station/build_trades/build_trade diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/get_trade_data.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/get_trade_data.mcfunction new file mode 100644 index 0000000000..913ef025d1 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/get_trade_data.mcfunction @@ -0,0 +1,10 @@ +# loop through trade data to get the proper index in the frot +# @s = furniture station wandering trader +# at @s +# run from technical/furniture_station/build_trades/prep +# run from here + +data modify storage gm4_furniture:temp trade_data append from storage gm4_furniture:temp trade_data[0] +data remove storage gm4_furniture:temp trade_data[0] +scoreboard players remove $trade_index gm4_furniture_data 1 +execute if score $trade_index gm4_furniture_data matches 1.. run function gm4_furniture:technical/furniture_station/build_trades/get_trade_data diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction new file mode 100644 index 0000000000..61937def6e --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction @@ -0,0 +1,34 @@ +# change the trades of this furniture station +# @s = furniture station wandering trader +# at @s +# run from interact/furniture_station/swap_tool +# run from place/furniture/furniture_station + +# clamp index to min/max +execute if score @s gm4_furniture_index matches ..-1 run scoreboard players operation @s gm4_furniture_index = $max_index gm4_furniture_index +execute if score @s gm4_furniture_index > $max_index gm4_furniture_index run scoreboard players set @s gm4_furniture_index 0 + +# get the trade data that should be displayed in the first index +scoreboard players operation $trade_index gm4_furniture_data = @s gm4_furniture_index +data modify storage gm4_furniture:temp trade_data set from storage gm4_furniture:data furniture_station +execute if score $trade_index gm4_furniture_data matches 1.. run function gm4_furniture:technical/furniture_station/build_trades/get_trade_data + +# change the displayed tools cmd +execute align xyz run data modify entity @e[type=item_display,tag=gm4_furniture.tool_main,dx=0,dy=0,dz=0,limit=1] item.tag.CustomModelData set from storage gm4_furniture:temp trade_data[0].cmd +execute align xyz run data modify entity @e[type=item_display,tag=gm4_furniture.tool_next,dx=0,dy=0,dz=0,limit=1] item.tag.CustomModelData set from storage gm4_furniture:temp trade_data[1].cmd +execute align xyz run data modify entity @e[type=item_display,tag=gm4_furniture.tool_prev,dx=0,dy=0,dz=0,limit=1] item.tag.CustomModelData set from storage gm4_furniture:temp trade_data[-1].cmd + +# build the trades from trade_data +data modify storage gm4_furniture:temp trade_data set from storage gm4_furniture:temp trade_data[0].trades +data modify storage gm4_furniture:temp trades set value [] +function gm4_furniture:technical/furniture_station/build_trades/build_trade + +# change the trades +data modify entity @s Offers.Recipes set from storage gm4_furniture:temp trades + +# sounds +playsound ui.stonecutter.take_result block @a[distance=..16] ~ ~ ~ 1 0.45 + +# cleanup +data remove storage gm4_furniture:temp trades +data remove storage gm4_furniture:temp trade_data diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction new file mode 100644 index 0000000000..59adeedaea --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction @@ -0,0 +1,7 @@ +# put furniture item in forceloaded shulker box to read its data +# @s = furniture station wandering trader +# at @s +# run from technical/furniture_station/build_trades/build_trade with storage gm4_furniture:temp trade_data[0] +# $(technical_id) = furniture's technical_id + +$loot replace block 29999998 1 7134 container.0 loot gm4_furniture:furniture/$(technical_id) diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/hit.mcfunction deleted file mode 100644 index 52e4af20ab..0000000000 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/hit.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -# when a player punches the top block of a furniture station swap the category -# @s = player hitting the furniture station wandering trader -# at @s -advancement revoke @s only gm4_furniture:hit_furniture_station - -execute as @e[type=wandering_trader,tag=gm4_furniture.furniture_station,distance=..8,nbt={HurtTime:10s}] at @s run say hit diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/furniture/furniture_station.json b/gm4_furniture/data/gm4_furniture/loot_tables/furniture/furniture_station.json new file mode 100644 index 0000000000..49a7ead502 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/loot_tables/furniture/furniture_station.json @@ -0,0 +1,13 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "name": "gm4_furniture:items/furniture_station" + } + ] + } + ] +} diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json index 9ce5b4f34b..ba39610fc2 100644 --- a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json +++ b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json @@ -10,7 +10,7 @@ "functions": [ { "function": "set_nbt", - "tag": "{CustomModelData:3420150,gm4_furniture:{id:\"gm4.furniture_station\"},SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Name:\"gm4_furniture:place/furniture/furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" + "tag": "{CustomModelData:3420150,gm4_furniture:{id:\"gm4.furniture_station\"},SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Name:\"furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" }, { "function": "minecraft:set_name", diff --git a/gm4_furniture/data/gm4_furniture/predicates/chance/frog_statue_sound.json b/gm4_furniture/data/gm4_furniture/predicates/chance/frog_statue_sound.json new file mode 100644 index 0000000000..a32336e2f6 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/predicates/chance/frog_statue_sound.json @@ -0,0 +1,4 @@ +{ + "condition": "minecraft:random_chance", + "chance": 0.02 +} diff --git a/gm4_furniture/data/gm4_furniture/predicates/is_sneaking.json b/gm4_furniture/data/gm4_furniture/predicates/is_sneaking.json new file mode 100644 index 0000000000..3c8a7e1e95 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/predicates/is_sneaking.json @@ -0,0 +1,9 @@ +{ + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_sneaking": true + } + } +} diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/crafting_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/crafting_template.mcfunction new file mode 100644 index 0000000000..85e08e0b44 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/templates/functions/crafting_template.mcfunction @@ -0,0 +1,13 @@ +# this is a test + + +data modify storage gm4_furniture:temp new_trades.test1 set value {cmd:3420201,trades:[]} +data modify storage gm4_furniture:temp new_trades.test2 set value {cmd:3420202,trades:[]} +data modify storage gm4_furniture:temp new_trades.test3 set value {cmd:3420202,trades:[]} + +{{ furniture_list }} + +data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades.test1 +data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades.test2 +data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades.test3 +data remove storage gm4_furniture:temp new_trades diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction similarity index 83% rename from gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction rename to gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction index 32b9245fdb..487821ef7a 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction @@ -17,11 +17,14 @@ execute if score $rotation gm4_furniture_data matches 4 run data modify storage scoreboard players set $wall_only gm4_furniture_data {{ wall_only }} execute if score $wall_only gm4_furniture_data matches 1 unless score $wall_placement gm4_furniture_data matches 1 run scoreboard players set $valid_placement gm4_furniture_data 0 +# ceiling only furniture must be placed on a ceiling +scoreboard players set $ceiling_only gm4_furniture_data {{ ceiling_only }} +execute if score $ceiling_only gm4_furniture_data matches 1 if block ~ ~1 ~ #gm4:replaceable run scoreboard players set $valid_placement gm4_furniture_data 0 + # wall placed furniture is not allowed to have depth, if any size is bigger than 1 check if there is space scoreboard players set $length gm4_furniture_data {{ length }} scoreboard players set $depth gm4_furniture_data {{ depth }} scoreboard players set $height gm4_furniture_data {{ height }} -execute if score $wall_placement gm4_furniture_data matches 1 if score $depth gm4_furniture_data matches 2.. run scoreboard players set $valid_placement gm4_furniture_data 0 scoreboard players set $placement_blocked gm4_furniture_data 0 execute if score $valid_placement gm4_furniture_data matches 1 if score $length gm4_furniture_data matches 2.. run function gm4_furniture:place/check_size/length_prep summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block","gm4_furniture.middle"]} @@ -40,22 +43,30 @@ execute if score $valid_placement gm4_furniture_data matches 0 run return 0 scoreboard players set $sittable gm4_furniture_data {{ sittable }} scoreboard players set $dyable gm4_furniture_data {{ dyable }} scoreboard players set $table gm4_furniture_data {{ table }} +scoreboard players set $custom_interaction gm4_furniture_data {{ custom_interaction }} # spawn the furniture -execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{loot_table:"gm4_furniture:furniture/{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} +execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} setblock ~ ~ ~ {{ block_id }} +# add placement tags +execute if score $wall_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.on_wall +execute if score $ceiling_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.on_ceiling + # spawn extensions if they exist and set id execute at @e[type=marker,tag=gm4_furniture.marked_block] run summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} execute at @e[type=marker,tag=gm4_furniture.marked_block] run setblock ~ ~ ~ {{ block_id }} execute store result score @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 +# add custom interaction tags +execute if score $custom_interaction gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.custom_interaction + # if furniture is a table reduce interaction height execute if score $table gm4_furniture_data matches 1 as @e[type=interaction,tag=gm4_new_furniture,distance=..8] run data modify entity @s height set value 1f # if furniture is dyable set to basic white -execute if score $dyable gm4_furniture_data matches 1 run data modify entity @e[type=item_display,distance=..2,tag=gm4_new_furniture,limit=1,sort=nearest] item.tag.display.color set value 16777215 +execute if score $dyable gm4_furniture_data matches 1 run data modify entity @e[type=item_display,distance=..2,tag=gm4_new_furniture,limit=1,sort=nearest] item.tag.display.color set from storage gm4_furniture:temp furniture_data.color execute if score $dyable gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.dyable # if furniture is sittable spawn sitting item_displays at appropiate locations and add tag @@ -70,4 +81,6 @@ execute if score $rotation gm4_furniture_data matches 2.. as @e[tag=gm4_new_furn # mark block as placed playsound minecraft:block.barrel.close block @a[distance=..6] ~ ~ ~ 1 1.6 tag @e[distance=..2] remove gm4_new_furniture + +# cleanup kill @e[type=marker,tag=gm4_furniture.marked_block] diff --git a/gm4_furniture/data/gm4_furniture/templates/loot_tables/furniture_item_template.json b/gm4_furniture/data/gm4_furniture/templates/loot_tables/furniture_item_template.json new file mode 100644 index 0000000000..95181bec93 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/templates/loot_tables/furniture_item_template.json @@ -0,0 +1,125 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "name": "gm4_furniture:furniture/base", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:{{ cmd }},gm4_furniture:{technical_id:\"{{ technical_id }}\",color:16383998},SkullOwner:{Name:\"{{ technical_id }}\"}}" + }, + { + "function": "minecraft:set_name", + "name": [ + { + "translate": "block.gm4_furniture.gm4_{{ technical_id }}", + "fallback": "{{ display_name }}", + "color": "white", + "italic": false + } + ] + }, + { + "function": "minecraft:set_lore", + "entity": "this", + "lore": [ + [ + { + "translate": "item.gm4_furniture.paintbrush.color_lore", + "fallback": "Color: #", + "color": "gray", + "italic": false + }, + { + "nbt": "color_hex.red_1", + "storage": "gm4_furniture:temp" + }, + { + "nbt": "color_hex.red_2", + "storage": "gm4_furniture:temp" + }, + { + "nbt": "color_hex.green_1", + "storage": "gm4_furniture:temp" + }, + { + "nbt": "color_hex.green_2", + "storage": "gm4_furniture:temp" + }, + { + "nbt": "color_hex.blue_1", + "storage": "gm4_furniture:temp" + }, + { + "nbt": "color_hex.blue_2", + "storage": "gm4_furniture:temp" + } + ] + ], + "conditions": [ + { + "condition": "minecraft:value_check", + "value": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "$furniture_color" + }, + "score": "gm4_furniture_data" + }, + "range": { + "min": 1 + } + } + ] + }, + { + "function": "minecraft:set_lore", + "entity": "this", + "lore": [ + [ + { + "translate": "item.gm4_furniture.paintbrush.color_lore", + "fallback": "Color: #", + "color": "gray", + "italic": false + }, + { + "text": "F9FFFE" + } + ] + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": {{ dyable }} + }, + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:value_check", + "value": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "$furniture_color" + }, + "score": "gm4_furniture_data" + }, + "range": { + "min": 1 + } + } + } + ] + } + ] + } + ] + } + ] +} diff --git a/gm4_furniture/data/gm4_furniture/templates/loot_tables/template.json b/gm4_furniture/data/gm4_furniture/templates/loot_tables/template.json deleted file mode 100644 index d26b92b766..0000000000 --- a/gm4_furniture/data/gm4_furniture/templates/loot_tables/template.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:loot_table", - "name": "gm4_furniture:furniture/base", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:{{ cmd }},gm4_furniture:{id:\"gm4.{{ technical_id }}\"},SkullOwner:{Name:\"gm4_furniture:place/furniture/{{ technical_id }}\"}}" - }, - { - "function": "minecraft:set_name", - "name": [ - { - "translate": "block.gm4_furniture.gm4_{{ technical_id }}", - "fallback": "{{ display_name }}", - "color": "white", - "italic": false - } - ] - } - ] - } - ] - } - ] -} diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index 5e663db1e1..c37d53334f 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -2,81 +2,88 @@ class furnitures: - def __init__(self, technical_id, display_name, cmd, block_id="barrier", sittable=0, dyable=0, wall_only=0, length=1, depth=1, height=1, table=0, scale=1): + def __init__(self, technical_id, display_name, cmd, crafting, block_id="barrier", sittable=0, dyable=0, wall_only=0, ceiling_only=0, length=1, depth=1, height=1, table=0, scale=1, custom_interaction=0): self.technical_id = technical_id self.display_name = display_name self.cmd = cmd + self.crafting = crafting self.block_id = block_id self.sittable = sittable self.wall_only = wall_only + self.ceiling_only = ceiling_only self.dyable = dyable self.length = length self.depth = depth self.height = height self.table = table self.scale = scale + self.custom_interaction = custom_interaction def beet_default(ctx: Context): - furniture_list = [] + trades_list = [] furniture_list.append(furnitures( - 'wooden_stool_1', 'Wooden Stool', 3420201, sittable=50)) + 'wooden_stool_1', 'Wooden Stool', 3420201, ("test1","stick","3","iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'wooden_stool_2', 'Wooden Stool', 3420202, sittable=50)) + 'wooden_stool_2', 'Wooden Stool', 3420202, ("test1","stick","3","iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'wooden_chair_1', 'Wooden Chair', 3420203, sittable=50)) + 'wooden_chair_1', 'Wooden Chair', 3420203, ("test1","stick","3","iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'wooden_chair_2', 'Wooden Chair', 3420204, sittable=50)) + 'wooden_chair_2', 'Wooden Chair', 3420204, ("test1","stick","3","iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'wooden_bench_1', 'Wooden Bench', 3420205, sittable=50, length=3)) + 'wooden_bench_1', 'Wooden Bench', 3420205, ("test1","stick","3","iron_ingot","1"), sittable=50, length=3)) furniture_list.append(furnitures( - 'wooden_bench_2', 'Wooden Bench', 3420206, sittable=50, length=3)) + 'wooden_bench_2', 'Wooden Bench', 3420206, ("test1","stick","3","iron_ingot","1"), sittable=50, length=3)) furniture_list.append(furnitures( - 'dyable_armchair_1', 'Cloth Armchair', 3420207, sittable=50, dyable=1)) + 'dyable_armchair_1', 'Cloth Armchair', 3420207, ("test1","stick","3","iron_ingot","1"), sittable=50, dyable=1)) furniture_list.append(furnitures( - 'wooden_3_candle_holder_1', 'Candelabra', 3420208, block_id="light[level=15]", dyable=1)) + 'wooden_3_candle_holder_1', 'Candelabra', 3420208, ("test1","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) furniture_list.append(furnitures( - 'wooden_5_candle_holder_1', 'Candelabra', 3420209, block_id="light[level=15]", dyable=1)) + 'wooden_5_candle_holder_1', 'Candelabra', 3420209, ("test1","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) furniture_list.append(furnitures( - 'dyable_stool_1', 'Ottoman', 3420210, sittable=50, dyable=1)) + 'dyable_stool_1', 'Ottoman', 3420210, ("test1","stick","3","iron_ingot","1"), sittable=50, dyable=1)) furniture_list.append(furnitures( - 'wooden_table_1', 'Wooden Table', 3420211, table=1)) + 'wooden_table_1', 'Wooden Table', 3420211, ("test1","stick","3","iron_ingot","1"), table=1)) furniture_list.append(furnitures( - 'wooden_table_2', 'Wooden Table', 3420212, table=1)) + 'wooden_table_2', 'Wooden Table', 3420212, ("test1","stick","3","iron_ingot","1"), table=1)) furniture_list.append(furnitures( - 'dyable_wooden_table_1', 'Wooden Table with Cloth', 3420213, dyable=1, table=1)) + 'dyable_wooden_table_1', 'Wooden Table with Cloth', 3420213, ("test1","stick","3","iron_ingot","1"), dyable=1, table=1)) furniture_list.append(furnitures( - 'dyable_wooden_sofa_1', 'Wooden Sofa with Cushions', 3420214, sittable=50, dyable=1, length=3)) + 'dyable_wooden_sofa_1', 'Wooden Sofa with Cushions', 3420214, ("test1","stick","3","iron_ingot","1"), sittable=50, dyable=1, length=3)) furniture_list.append(furnitures( - '2x1_log_seat_1', 'Log Bench', 3420215, sittable=50, length=2)) + '2x1_log_seat_1', 'Log Bench', 3420215, ("test3","stick","3","iron_ingot","1"), sittable=50, length=2)) furniture_list.append(furnitures( - '1x1_log_seat_1', 'Log Seat', 3420216, sittable=50)) + '1x1_log_seat_1', 'Log Seat', 3420216, ("test3","stick","3","iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'stone_frog_statue', 'Frog Statue', 3420217)) + 'stone_frog_statue', 'Frog Statue', 3420217, ("test1","stick","3","iron_ingot","1"), custom_interaction=1)) furniture_list.append(furnitures( - 'wooden_wall_candle_holder_1', 'Wall Candle', 3420218, block_id="light[level=15]", dyable=1, wall_only=1)) + 'wooden_wall_candle_holder_1', 'Wall Candle', 3420218, ("test1","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1, wall_only=1)) furniture_list.append(furnitures( - 'dyable_wooden_chair_1', 'Wooden Chair with Cushions', 3420219, sittable=50, dyable=1)) + 'dyable_wooden_chair_1', 'Wooden Chair with Cushions', 3420219, ("test2","stick","3","iron_ingot","1"), sittable=50, dyable=1)) furniture_list.append(furnitures( - 'gold_5_candle_holder_1', 'Gold Candelabra', 3420220, block_id="light[level=15]", dyable=1)) + 'gold_5_candle_holder_1', 'Gold Candelabra', 3420220, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) furniture_list.append(furnitures( - 'gold_3_candle_holder_1', 'Gold Candelabra', 3420221, block_id="light[level=15]", dyable=1)) + 'gold_3_candle_holder_1', 'Gold Candelabra', 3420221, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) furniture_list.append(furnitures( - 'iron_5_candle_holder_1', 'Iron Candelabra', 3420222, block_id="light[level=15]", dyable=1)) + 'iron_5_candle_holder_1', 'Iron Candelabra', 3420222, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) furniture_list.append(furnitures( - 'iron_3_candle_holder_1', 'Iron Candelabra', 3420223, block_id="light[level=15]", dyable=1)) + 'iron_3_candle_holder_1', 'Iron Candelabra', 3420223, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) furniture_list.append(furnitures( - '2x2_wooden_table_2', 'Wooden Table', 3420224, length=2, depth=2, table=1)) - - + '2x2_wooden_table_2', 'Wooden Table', 3420224, ("test2","stick","3","iron_ingot","1"), length=2, depth=2, table=1)) + + for furniture_data in furniture_list: + trades_list.append("data modify storage gm4_furniture:temp new_trades." + furniture_data.crafting[0] + ".trades append value {cost:[{id:" + furniture_data.crafting[1] + ",Count:" + furniture_data.crafting[2] + "b},{id:" + furniture_data.crafting[3] + ",Count:" + furniture_data.crafting[4] + "b}],technical_id:\"" + furniture_data.technical_id + "\"}") + trades_list = '\n'.join(trades_list) + for furniture_data in furniture_list: subproject_config = { "data_pack": { "load": [ { - f"data/gm4_furniture/loot_tables/furniture/{furniture_data.technical_id}.json": "data/gm4_furniture/templates/loot_tables/template.json", - f"data/gm4_furniture/functions/place/furniture/{furniture_data.technical_id}.mcfunction": "data/gm4_furniture/templates/functions/template.mcfunction", + f"data/gm4_furniture/loot_tables/furniture/{furniture_data.technical_id}.json": "data/gm4_furniture/templates/loot_tables/furniture_item_template.json", + f"data/gm4_furniture/functions/place/furniture/{furniture_data.technical_id}.mcfunction": "data/gm4_furniture/templates/functions/furniture_place_template.mcfunction", + f"data/gm4_furniture/functions/generate_trades.mcfunction": "data/gm4_furniture/templates/functions/crafting_template.mcfunction", } ], "render": { @@ -88,15 +95,19 @@ def beet_default(ctx: Context): "technical_id": furniture_data.technical_id, "display_name": furniture_data.display_name, "cmd": furniture_data.cmd, + "crafting": furniture_data.crafting, "block_id": furniture_data.block_id, "sittable": furniture_data.sittable, "wall_only": furniture_data.wall_only, + "ceiling_only": furniture_data.ceiling_only, "dyable": furniture_data.dyable, "length": furniture_data.length, "depth": furniture_data.depth, "height": furniture_data.height, "table": furniture_data.table, - "scale": furniture_data.scale, + "scale": furniture_data.scale, + "custom_interaction": furniture_data.custom_interaction, + "furniture_list": trades_list, } } From 507a6677e1a92f6740dea2015c9d020f0a2cb42d Mon Sep 17 00:00:00 2001 From: Thanathor Date: Fri, 1 Sep 2023 16:53:09 +0200 Subject: [PATCH 05/34] small fixes --- .../advancements/place_furniture_water.json | 54 ++++++++++++ .../advancements/use_paintbrush_on_horse.json | 57 +++++++------ .../functions/check_recipes.mcfunction | 2 +- .../furniture/furniture_station.mcfunction | 8 +- .../place/place_furniture.mcfunction | 1 + .../place/place_furniture_water.mcfunction | 8 ++ .../loot_tables/items/furniture_station.json | 2 +- .../furniture_place_template.mcfunction | 6 +- gm4_furniture/generate.py | 82 ++++++++++++------- 9 files changed, 155 insertions(+), 65 deletions(-) create mode 100644 gm4_furniture/data/gm4_furniture/advancements/place_furniture_water.json create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/place_furniture_water.mcfunction diff --git a/gm4_furniture/data/gm4_furniture/advancements/place_furniture_water.json b/gm4_furniture/data/gm4_furniture/advancements/place_furniture_water.json new file mode 100644 index 0000000000..88b206358a --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/advancements/place_furniture_water.json @@ -0,0 +1,54 @@ +{ + "criteria": { + "placed_furniture": { + "trigger": "minecraft:placed_block", + "conditions": { + "player": [ + { + "condition": "minecraft:value_check", + "value": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "gm4_furniture" + }, + "score": "load.status" + }, + "range": 1 + }, + { + "condition": "minecraft:value_check", + "value": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "gm4_furniture_minor" + }, + "score": "load.status" + }, + "range": 0 + } + ], + "location": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:player_head" + ], + "nbt": "{SkullOwner:{Properties:{textures:[{Signature:\"gm4_furniture\"}]}}}" + } + } + ] + } + } + }, + "requirements": [ + [ + "placed_furniture" + ] + ], + "rewards": { + "function": "gm4_furniture:place/place_furniture_water" + } +} diff --git a/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json b/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json index 48e4d2417f..62927f151e 100644 --- a/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json +++ b/gm4_furniture/data/gm4_furniture/advancements/use_paintbrush_on_horse.json @@ -1,34 +1,33 @@ { - "criteria": { - "used_paintbrush": { - "trigger": "minecraft:player_interacted_with_entity", - "conditions": { - "player": [], - "item": { - "items": [ - "minecraft:leather_horse_armor" - ], - "nbt": "{gm4_furniture:paintbrush}" - }, - "entity": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "type": "minecraft:horse" - } + "criteria": { + "used_paintbrush": { + "trigger": "minecraft:player_interacted_with_entity", + "conditions": { + "player": [], + "item": { + "items": [ + "minecraft:leather_horse_armor" + ], + "nbt": "{gm4_furniture:paintbrush}" + }, + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:horse" } - ] - } + } + ] } - }, - "requirements": [ - [ - "used_paintbrush" - ] - ], - "rewards": { - "function": "gm4_furniture:technical/paintbrush/used_on_horse" } + }, + "requirements": [ + [ + "used_paintbrush" + ] + ], + "rewards": { + "function": "gm4_furniture:technical/paintbrush/used_on_horse" } - \ No newline at end of file +} diff --git a/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction b/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction index 58aa5a9e64..b36ef0452b 100644 --- a/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction @@ -2,4 +2,4 @@ # run from #gm4_custom_crafters:check_recipes execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 5 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:string"},{Slot:1b,id:"minecraft:string"},{Slot:2b,id:"minecraft:string"},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:7b,id:"minecraft:stick"}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/paintbrush -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 8 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:oak_planks"},{Slot:1b,id:"minecraft:crafting_table"},{Slot:2b,id:"minecraft:oak_planks"},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:5b,id:"minecraft:oak_planks"},{Slot:6b,id:"minecraft:oak_planks"},{Slot:8b,id:"minecraft:oak_planks"}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/furniture_station +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 8 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:oak_planks"},{Slot:1b,id:"minecraft:crafting_table"},{Slot:2b,id:"minecraft:oak_planks"},{Slot:3b,id:"minecraft:oak_planks"},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:5b,id:"minecraft:oak_planks"},{Slot:6b,id:"minecraft:oak_planks"},{Slot:8b,id:"minecraft:oak_planks"}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/furniture_station diff --git a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction index 3c977298b6..6378541d13 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction @@ -16,7 +16,7 @@ execute if score $valid_placement gm4_furniture_data matches 0 run setblock ~ ~ execute if score $valid_placement gm4_furniture_data matches 0 run return 0 # spawn the furniture_station -summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"furniture_station"},CustomModelData:3420150}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"furniture_station"},CustomModelData:3420200}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1.0002f,width:1.0002f,response:1b} summon interaction ^0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.next","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} summon interaction ^-0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.prev","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} @@ -26,14 +26,16 @@ summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_main,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[0].cmd data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_next,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[1].cmd data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_prev,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[-1].cmd -setblock ~ ~ ~ barrier +execute unless score $waterlog gm4_furniture_data matches 1 run setblock ~ ~ ~ barrier +execute if score $waterlog gm4_furniture_data matches 1 run setblock ~ ~ ~ barrier[waterlogged=true] # spawn trader and set ids summon wandering_trader ~ ~1000 ~ {Invulnerable:1b,Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.furniture_station","fallback":"Furniture Station"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:offscreen"},{"translate":"gui.gm4.furniture_station","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:furniture","color":"#404040"}]]}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} tp @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] ~ ~-0.4999 ~ scoreboard players set @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] gm4_furniture_index 0 execute as @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep -setblock ~ ~1 ~ light[level=0] +execute unless block ~ ~1 ~ water[level=0] run setblock ~ ~1 ~ light[level=0] +execute if block ~ ~1 ~ water[level=0] run setblock ~ ~1 ~ light[level=0,waterlogged=true] execute store result score @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 execute store result score @e[type=wandering_trader,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players get $next_id gm4_furniture_id diff --git a/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction index 241764338e..012925e844 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/place_furniture.mcfunction @@ -2,6 +2,7 @@ # @s = player that just placed a furniture player head # at @s advancement revoke @s only gm4_furniture:place_furniture +# run from place/place_furniture_water # get item data execute store success score $mainhand gm4_furniture_data run data modify storage gm4_furniture:temp furniture_data set from entity @s SelectedItem.tag.gm4_furniture diff --git a/gm4_furniture/data/gm4_furniture/functions/place/place_furniture_water.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/place_furniture_water.mcfunction new file mode 100644 index 0000000000..a9fc7e8bb0 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/place_furniture_water.mcfunction @@ -0,0 +1,8 @@ +# finds the player head that was placed by the player in water +# @s = player that just placed a furniture player head +# at @s +advancement revoke @s only gm4_furniture:place_furniture_water +say water +scoreboard players set $waterlog gm4_furniture_data 1 +function gm4_furniture:place/place_furniture +scoreboard players reset $waterlog gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json index ba39610fc2..5a854e3b37 100644 --- a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json +++ b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json @@ -10,7 +10,7 @@ "functions": [ { "function": "set_nbt", - "tag": "{CustomModelData:3420150,gm4_furniture:{id:\"gm4.furniture_station\"},SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Name:\"furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" + "tag": "{CustomModelData:3420150,gm4_furniture:{technical_id:\"furniture_station\"},SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Name:\"furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" }, { "function": "minecraft:set_name", diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction index 487821ef7a..8ae293fe2d 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction @@ -48,7 +48,8 @@ scoreboard players set $custom_interaction gm4_furniture_data {{ custom_interact # spawn the furniture execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} -setblock ~ ~ ~ {{ block_id }} +execute unless score $waterlog gm4_furniture_data matches 1 run setblock ~ ~ ~ {{ block_id }}] +execute if score $waterlog gm4_furniture_data matches 1 run setblock ~ ~ ~ {{ block_id }}waterlogged=true] # add placement tags execute if score $wall_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.on_wall @@ -56,7 +57,8 @@ execute if score $ceiling_only gm4_furniture_data matches 1 run tag @e[type=inte # spawn extensions if they exist and set id execute at @e[type=marker,tag=gm4_furniture.marked_block] run summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} -execute at @e[type=marker,tag=gm4_furniture.marked_block] run setblock ~ ~ ~ {{ block_id }} +execute at @e[type=marker,tag=gm4_furniture.marked_block] unless block ~ ~ ~ water[level=0] run setblock ~ ~ ~ {{ block_id }}] +execute at @e[type=marker,tag=gm4_furniture.marked_block] if block ~ ~ ~ water[level=0] run setblock ~ ~ ~ {{ block_id }}waterlogged=true] execute store result score @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 # add custom interaction tags diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index c37d53334f..a992d74470 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -1,8 +1,7 @@ from beet import Context, subproject - class furnitures: - def __init__(self, technical_id, display_name, cmd, crafting, block_id="barrier", sittable=0, dyable=0, wall_only=0, ceiling_only=0, length=1, depth=1, height=1, table=0, scale=1, custom_interaction=0): + def __init__(self, technical_id, display_name, cmd, crafting, block_id="barrier[", sittable=0, dyable=0, wall_only=0, ceiling_only=0, length=1, depth=1, height=1, table=0, scale=1, custom_interaction=0): self.technical_id = technical_id self.display_name = display_name self.cmd = cmd @@ -19,63 +18,63 @@ def __init__(self, technical_id, display_name, cmd, crafting, block_id="barrier" self.scale = scale self.custom_interaction = custom_interaction - +# Add new furniture here, technical_id, display_name, cmd, crafting are required in that order, then any other flags can be used to override the default +# crafting should be formatted as (category, item_1,count, item_2,count) +## allowed block_id = "light[level=0," or "light[level=15,", make sure it is formatted exactly like that !!! def beet_default(ctx: Context): furniture_list = [] trades_list = [] furniture_list.append(furnitures( - 'wooden_stool_1', 'Wooden Stool', 3420201, ("test1","stick","3","iron_ingot","1"), sittable=50)) + 'wooden_stool_1', 'Wooden Stool', 3420201, ("test1", "stick","3", "iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'wooden_stool_2', 'Wooden Stool', 3420202, ("test1","stick","3","iron_ingot","1"), sittable=50)) + 'wooden_stool_2', 'Wooden Stool', 3420202, ("test1", "stick","3", "iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'wooden_chair_1', 'Wooden Chair', 3420203, ("test1","stick","3","iron_ingot","1"), sittable=50)) + 'wooden_chair_1', 'Wooden Chair', 3420203, ("test1", "stick","3", "iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'wooden_chair_2', 'Wooden Chair', 3420204, ("test1","stick","3","iron_ingot","1"), sittable=50)) + 'wooden_chair_2', 'Wooden Chair', 3420204, ("test1", "stick","3", "iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'wooden_bench_1', 'Wooden Bench', 3420205, ("test1","stick","3","iron_ingot","1"), sittable=50, length=3)) + 'wooden_bench_1', 'Wooden Bench', 3420205, ("test1", "stick","3", "iron_ingot","1"), sittable=50, length=3)) furniture_list.append(furnitures( - 'wooden_bench_2', 'Wooden Bench', 3420206, ("test1","stick","3","iron_ingot","1"), sittable=50, length=3)) + 'wooden_bench_2', 'Wooden Bench', 3420206, ("test1", "stick","3", "iron_ingot","1"), sittable=50, length=3)) furniture_list.append(furnitures( - 'dyable_armchair_1', 'Cloth Armchair', 3420207, ("test1","stick","3","iron_ingot","1"), sittable=50, dyable=1)) + 'dyable_armchair_1', 'Cloth Armchair', 3420207, ("test1", "stick","3", "iron_ingot","1"), sittable=50, dyable=1)) furniture_list.append(furnitures( - 'wooden_3_candle_holder_1', 'Candelabra', 3420208, ("test1","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) + 'wooden_3_candle_holder_1', 'Candelabra', 3420208, ("test1", "stick","3", "iron_ingot","1"), block_id="light[level=15,", dyable=1)) furniture_list.append(furnitures( - 'wooden_5_candle_holder_1', 'Candelabra', 3420209, ("test1","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) + 'wooden_5_candle_holder_1', 'Candelabra', 3420209, ("test1", "stick","3", "iron_ingot","1"), block_id="light[level=15,", dyable=1)) furniture_list.append(furnitures( - 'dyable_stool_1', 'Ottoman', 3420210, ("test1","stick","3","iron_ingot","1"), sittable=50, dyable=1)) + 'dyable_stool_1', 'Ottoman', 3420210, ("test1", "stick","3", "iron_ingot","1"), sittable=50, dyable=1)) furniture_list.append(furnitures( - 'wooden_table_1', 'Wooden Table', 3420211, ("test1","stick","3","iron_ingot","1"), table=1)) + 'wooden_table_1', 'Wooden Table', 3420211, ("test1", "stick","3", "iron_ingot","1"), table=1)) furniture_list.append(furnitures( - 'wooden_table_2', 'Wooden Table', 3420212, ("test1","stick","3","iron_ingot","1"), table=1)) + 'wooden_table_2', 'Wooden Table', 3420212, ("test1", "stick","3", "iron_ingot","1"), table=1)) furniture_list.append(furnitures( - 'dyable_wooden_table_1', 'Wooden Table with Cloth', 3420213, ("test1","stick","3","iron_ingot","1"), dyable=1, table=1)) + 'dyable_wooden_table_1', 'Wooden Table with Cloth', 3420213, ("test1", "stick","3", "iron_ingot","1"), dyable=1, table=1)) furniture_list.append(furnitures( - 'dyable_wooden_sofa_1', 'Wooden Sofa with Cushions', 3420214, ("test1","stick","3","iron_ingot","1"), sittable=50, dyable=1, length=3)) + 'dyable_wooden_sofa_1', 'Wooden Sofa with Cushions', 3420214, ("test1", "stick","3", "iron_ingot","1"), sittable=50, dyable=1, length=3)) furniture_list.append(furnitures( '2x1_log_seat_1', 'Log Bench', 3420215, ("test3","stick","3","iron_ingot","1"), sittable=50, length=2)) furniture_list.append(furnitures( '1x1_log_seat_1', 'Log Seat', 3420216, ("test3","stick","3","iron_ingot","1"), sittable=50)) furniture_list.append(furnitures( - 'stone_frog_statue', 'Frog Statue', 3420217, ("test1","stick","3","iron_ingot","1"), custom_interaction=1)) + 'stone_frog_statue', 'Frog Statue', 3420217, ("test1", "stick","3", "iron_ingot","1"), custom_interaction=1)) furniture_list.append(furnitures( - 'wooden_wall_candle_holder_1', 'Wall Candle', 3420218, ("test1","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1, wall_only=1)) + 'wooden_wall_candle_holder_1', 'Wall Candle', 3420218, ("test1", "stick","3", "iron_ingot","1"), block_id="light[level=15,", dyable=1, wall_only=1)) furniture_list.append(furnitures( 'dyable_wooden_chair_1', 'Wooden Chair with Cushions', 3420219, ("test2","stick","3","iron_ingot","1"), sittable=50, dyable=1)) furniture_list.append(furnitures( - 'gold_5_candle_holder_1', 'Gold Candelabra', 3420220, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) + 'gold_5_candle_holder_1', 'Gold Candelabra', 3420220, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15,", dyable=1)) furniture_list.append(furnitures( - 'gold_3_candle_holder_1', 'Gold Candelabra', 3420221, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) + 'gold_3_candle_holder_1', 'Gold Candelabra', 3420221, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15,", dyable=1)) furniture_list.append(furnitures( - 'iron_5_candle_holder_1', 'Iron Candelabra', 3420222, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) + 'iron_5_candle_holder_1', 'Iron Candelabra', 3420222, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15,", dyable=1)) furniture_list.append(furnitures( - 'iron_3_candle_holder_1', 'Iron Candelabra', 3420223, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15]", dyable=1)) + 'iron_3_candle_holder_1', 'Iron Candelabra', 3420223, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15,", dyable=1)) furniture_list.append(furnitures( '2x2_wooden_table_2', 'Wooden Table', 3420224, ("test2","stick","3","iron_ingot","1"), length=2, depth=2, table=1)) - for furniture_data in furniture_list: - trades_list.append("data modify storage gm4_furniture:temp new_trades." + furniture_data.crafting[0] + ".trades append value {cost:[{id:" + furniture_data.crafting[1] + ",Count:" + furniture_data.crafting[2] + "b},{id:" + furniture_data.crafting[3] + ",Count:" + furniture_data.crafting[4] + "b}],technical_id:\"" + furniture_data.technical_id + "\"}") - trades_list = '\n'.join(trades_list) + # create furniture loot tables and placement functions for furniture_data in furniture_list: subproject_config = { "data_pack": { @@ -83,7 +82,6 @@ def beet_default(ctx: Context): { f"data/gm4_furniture/loot_tables/furniture/{furniture_data.technical_id}.json": "data/gm4_furniture/templates/loot_tables/furniture_item_template.json", f"data/gm4_furniture/functions/place/furniture/{furniture_data.technical_id}.mcfunction": "data/gm4_furniture/templates/functions/furniture_place_template.mcfunction", - f"data/gm4_furniture/functions/generate_trades.mcfunction": "data/gm4_furniture/templates/functions/crafting_template.mcfunction", } ], "render": { @@ -106,9 +104,35 @@ def beet_default(ctx: Context): "height": furniture_data.height, "table": furniture_data.table, "scale": furniture_data.scale, - "custom_interaction": furniture_data.custom_interaction, - "furniture_list": trades_list, + "custom_interaction": furniture_data.custom_interaction } } ctx.require(subproject(subproject_config)) + + + # create a list of all trade data + # any used trade category should be initiated with a cmd for the used tool, this is done in gm4_furnitures:generate_trades in this datapack + # for expansions #gm4_furniture:add_categories is called, this should lead to a similar function file. + for furniture_data in furniture_list: + trades_list.append("data modify storage gm4_furniture:temp new_trades." + furniture_data.crafting[0] + ".trades append value {cost:[{id:" + furniture_data.crafting[1] + ",Count:" + furniture_data.crafting[2] + "b},{id:" + furniture_data.crafting[3] + ",Count:" + furniture_data.crafting[4] + "b}],technical_id:\"" + furniture_data.technical_id + "\"}") + trades_list = '\n'.join(trades_list) + + # add a function to add trade data to a storage + subproject_config = { + "data_pack": { + "load": [ + { + f"data/gm4_furniture/functions/generate_trades.mcfunction": "data/gm4_furniture/templates/functions/crafting_template.mcfunction", + } + ], + "render": { + "functions": "*" + } + }, + "meta": { + "furniture_list": trades_list, + } + } + + ctx.require(subproject(subproject_config)) From f4bea4f515cb1fc87740ef61596eb8b6756c657e Mon Sep 17 00:00:00 2001 From: Thanathor Date: Sat, 2 Sep 2023 18:54:37 +0200 Subject: [PATCH 06/34] fix water placement --- .../advancements/place_furniture_water.json | 54 ------------------- .../functions/break/remove_block.mcfunction | 3 +- .../functions/interact/process.mcfunction | 3 ++ .../interact/waterlog/check.mcfunction | 3 ++ .../interact/waterlog/log.mcfunction | 7 +++ .../interact/waterlog/unlog.mcfunction | 7 +++ .../predicates/holding_bucket.json | 14 +++++ .../predicates/holding_empty_bucket.json | 13 +++++ .../predicates/holding_water_bucket.json | 13 +++++ 9 files changed, 62 insertions(+), 55 deletions(-) delete mode 100644 gm4_furniture/data/gm4_furniture/advancements/place_furniture_water.json create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/waterlog/check.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/waterlog/log.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/waterlog/unlog.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/predicates/holding_bucket.json create mode 100644 gm4_furniture/data/gm4_furniture/predicates/holding_empty_bucket.json create mode 100644 gm4_furniture/data/gm4_furniture/predicates/holding_water_bucket.json diff --git a/gm4_furniture/data/gm4_furniture/advancements/place_furniture_water.json b/gm4_furniture/data/gm4_furniture/advancements/place_furniture_water.json deleted file mode 100644 index 88b206358a..0000000000 --- a/gm4_furniture/data/gm4_furniture/advancements/place_furniture_water.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "criteria": { - "placed_furniture": { - "trigger": "minecraft:placed_block", - "conditions": { - "player": [ - { - "condition": "minecraft:value_check", - "value": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "gm4_furniture" - }, - "score": "load.status" - }, - "range": 1 - }, - { - "condition": "minecraft:value_check", - "value": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "gm4_furniture_minor" - }, - "score": "load.status" - }, - "range": 0 - } - ], - "location": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "items": [ - "minecraft:player_head" - ], - "nbt": "{SkullOwner:{Properties:{textures:[{Signature:\"gm4_furniture\"}]}}}" - } - } - ] - } - } - }, - "requirements": [ - [ - "placed_furniture" - ] - ], - "rewards": { - "function": "gm4_furniture:place/place_furniture_water" - } -} diff --git a/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction index b9cc28bbd9..6d01fbb788 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/remove_block.mcfunction @@ -3,6 +3,7 @@ # at @s # run from break/destroy -execute positioned ~0.0001 ~0.5001 ~0.0001 run fill ~ ~ ~ ~ ~ ~ air replace #gm4_furniture:furniture_blocks +execute positioned ~0.0001 ~0.5001 ~0.0001 run fill ~ ~ ~ ~ ~ ~ air replace #gm4_furniture:furniture_blocks[waterlogged=false] +execute positioned ~0.0001 ~0.5001 ~0.0001 run fill ~ ~ ~ ~ ~ ~ water replace #gm4_furniture:furniture_blocks[waterlogged=true] execute positioned ~-0.4999 ~0.0001 ~-0.4999 run kill @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] kill @s diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction index c9f519e5e9..4354b56b57 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction @@ -6,6 +6,9 @@ # first successful interaction will be used, any lower down this list will be ignored scoreboard players set $interaction_processed gm4_furniture_data 0 +# check for waterlogging +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_bucket] positioned ~ ~0.5 ~ run function gm4_furniture:interact/waterlog/check + # check for furniture station interactions execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.swap_tool] run function gm4_furniture:interact/furniture_station/swap_tool diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/check.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/check.mcfunction new file mode 100644 index 0000000000..3910028615 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/check.mcfunction @@ -0,0 +1,3 @@ + +execute if block ~ ~ ~ #gm4_furniture:furniture_blocks[waterlogged=true] if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_empty_bucket] run function gm4_furniture:interact/waterlog/unlog +execute if score $interaction_processed gm4_furniture_data matches 0 if block ~ ~ ~ #gm4_furniture:furniture_blocks[waterlogged=false] if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_water_bucket] run function gm4_furniture:interact/waterlog/log diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/log.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/log.mcfunction new file mode 100644 index 0000000000..1c3a06b9c6 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/log.mcfunction @@ -0,0 +1,7 @@ + +item replace entity @p[tag=gm4_furniture_target,gamemode=!creative] weapon.mainhand with bucket +fill ~ ~ ~ ~ ~ ~ light[level=0,waterlogged=true] replace light[level=0] +fill ~ ~ ~ ~ ~ ~ light[level=15,waterlogged=true] replace light[level=15] +fill ~ ~ ~ ~ ~ ~ barrier[waterlogged=true] replace barrier +playsound item.bucket.empty player @a[distance=..16] ~ ~ ~ 1 1 +scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/unlog.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/unlog.mcfunction new file mode 100644 index 0000000000..6989c9c7d9 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/unlog.mcfunction @@ -0,0 +1,7 @@ + +item replace entity @p[tag=gm4_furniture_target,gamemode=!creative] weapon.mainhand with water_bucket +fill ~ ~ ~ ~ ~ ~ light[level=0,waterlogged=false] replace light[level=0,waterlogged=true] +fill ~ ~ ~ ~ ~ ~ light[level=15,waterlogged=false] replace light[level=15,waterlogged=true] +fill ~ ~ ~ ~ ~ ~ barrier[waterlogged=false] replace barrier[waterlogged=true] +playsound item.bucket.fill player @a[distance=..16] ~ ~ ~ 1 1 +scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/predicates/holding_bucket.json b/gm4_furniture/data/gm4_furniture/predicates/holding_bucket.json new file mode 100644 index 0000000000..9ca538a0bd --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/predicates/holding_bucket.json @@ -0,0 +1,14 @@ +{ + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": [ + "minecraft:bucket", + "minecraft:water_bucket" + ] + } + } + } +} diff --git a/gm4_furniture/data/gm4_furniture/predicates/holding_empty_bucket.json b/gm4_furniture/data/gm4_furniture/predicates/holding_empty_bucket.json new file mode 100644 index 0000000000..eb467d159a --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/predicates/holding_empty_bucket.json @@ -0,0 +1,13 @@ +{ + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": [ + "minecraft:bucket" + ] + } + } + } +} diff --git a/gm4_furniture/data/gm4_furniture/predicates/holding_water_bucket.json b/gm4_furniture/data/gm4_furniture/predicates/holding_water_bucket.json new file mode 100644 index 0000000000..0cbf67e9a0 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/predicates/holding_water_bucket.json @@ -0,0 +1,13 @@ +{ + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": [ + "minecraft:water_bucket" + ] + } + } + } +} From ded438ed39d791be260609a8630195f1727e591f Mon Sep 17 00:00:00 2001 From: Thanathor Date: Wed, 20 Sep 2023 17:40:36 +0200 Subject: [PATCH 07/34] rework python script --- .../gm4_furniture/functions/init.mcfunction | 1 - .../furniture/furniture_station.mcfunction | 2 +- .../functions/crafting_template.mcfunction | 17 +- .../furniture_place_template.mcfunction | 6 +- gm4_furniture/furniture_data.xlsx | Bin 0 -> 26957 bytes gm4_furniture/generate.py | 204 ++++++++---------- 6 files changed, 102 insertions(+), 128 deletions(-) create mode 100644 gm4_furniture/furniture_data.xlsx diff --git a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction index ab4494f601..c7878b6f52 100644 --- a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction @@ -18,7 +18,6 @@ team modify gm4_furniture_nocol collisionRule never # build furniture station trade data data modify storage gm4_furniture:data furniture_station set value [] function gm4_furniture:generate_trades -function #gm4_furniture:add_categories execute store result score $max_index gm4_furniture_index run data get storage gm4_furniture:data furniture_station scoreboard players remove $max_index gm4_furniture_index 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction index 6378541d13..5b7d825ccc 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction @@ -16,7 +16,7 @@ execute if score $valid_placement gm4_furniture_data matches 0 run setblock ~ ~ execute if score $valid_placement gm4_furniture_data matches 0 run return 0 # spawn the furniture_station -summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"furniture_station"},CustomModelData:3420200}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"furniture_station"},CustomModelData:3420150}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1.0002f,width:1.0002f,response:1b} summon interaction ^0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.next","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} summon interaction ^-0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.prev","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/crafting_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/crafting_template.mcfunction index 85e08e0b44..771c3539a3 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/crafting_template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/crafting_template.mcfunction @@ -1,13 +1,12 @@ -# this is a test +# create storage to hold the trade data for furniture items in furniture station +# @s = unspecified +# at unspecified +# run from init +# this function was generated by generate.py +{{ trades_init }} -data modify storage gm4_furniture:temp new_trades.test1 set value {cmd:3420201,trades:[]} -data modify storage gm4_furniture:temp new_trades.test2 set value {cmd:3420202,trades:[]} -data modify storage gm4_furniture:temp new_trades.test3 set value {cmd:3420202,trades:[]} +{{ trades_list }} -{{ furniture_list }} - -data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades.test1 -data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades.test2 -data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades.test3 +{{ trades_append }} data remove storage gm4_furniture:temp new_trades diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction index 8ae293fe2d..487821ef7a 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction @@ -48,8 +48,7 @@ scoreboard players set $custom_interaction gm4_furniture_data {{ custom_interact # spawn the furniture execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} -execute unless score $waterlog gm4_furniture_data matches 1 run setblock ~ ~ ~ {{ block_id }}] -execute if score $waterlog gm4_furniture_data matches 1 run setblock ~ ~ ~ {{ block_id }}waterlogged=true] +setblock ~ ~ ~ {{ block_id }} # add placement tags execute if score $wall_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.on_wall @@ -57,8 +56,7 @@ execute if score $ceiling_only gm4_furniture_data matches 1 run tag @e[type=inte # spawn extensions if they exist and set id execute at @e[type=marker,tag=gm4_furniture.marked_block] run summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} -execute at @e[type=marker,tag=gm4_furniture.marked_block] unless block ~ ~ ~ water[level=0] run setblock ~ ~ ~ {{ block_id }}] -execute at @e[type=marker,tag=gm4_furniture.marked_block] if block ~ ~ ~ water[level=0] run setblock ~ ~ ~ {{ block_id }}waterlogged=true] +execute at @e[type=marker,tag=gm4_furniture.marked_block] run setblock ~ ~ ~ {{ block_id }} execute store result score @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 # add custom interaction tags diff --git a/gm4_furniture/furniture_data.xlsx b/gm4_furniture/furniture_data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..716f2a45c3df37ab734389c5beab113af242b360 GIT binary patch literal 26957 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 N3$PFnQd;2O{U1+^LoomV literal 0 HcmV?d00001 diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index a992d74470..6852ed31c4 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -1,124 +1,41 @@ from beet import Context, subproject +import pandas as pd -class furnitures: - def __init__(self, technical_id, display_name, cmd, crafting, block_id="barrier[", sittable=0, dyable=0, wall_only=0, ceiling_only=0, length=1, depth=1, height=1, table=0, scale=1, custom_interaction=0): - self.technical_id = technical_id - self.display_name = display_name - self.cmd = cmd - self.crafting = crafting - self.block_id = block_id - self.sittable = sittable - self.wall_only = wall_only - self.ceiling_only = ceiling_only - self.dyable = dyable - self.length = length - self.depth = depth - self.height = height - self.table = table - self.scale = scale - self.custom_interaction = custom_interaction - -# Add new furniture here, technical_id, display_name, cmd, crafting are required in that order, then any other flags can be used to override the default -# crafting should be formatted as (category, item_1,count, item_2,count) -## allowed block_id = "light[level=0," or "light[level=15,", make sure it is formatted exactly like that !!! def beet_default(ctx: Context): - furniture_list = [] + + trades_init = [] trades_list = [] - furniture_list.append(furnitures( - 'wooden_stool_1', 'Wooden Stool', 3420201, ("test1", "stick","3", "iron_ingot","1"), sittable=50)) - furniture_list.append(furnitures( - 'wooden_stool_2', 'Wooden Stool', 3420202, ("test1", "stick","3", "iron_ingot","1"), sittable=50)) - furniture_list.append(furnitures( - 'wooden_chair_1', 'Wooden Chair', 3420203, ("test1", "stick","3", "iron_ingot","1"), sittable=50)) - furniture_list.append(furnitures( - 'wooden_chair_2', 'Wooden Chair', 3420204, ("test1", "stick","3", "iron_ingot","1"), sittable=50)) - furniture_list.append(furnitures( - 'wooden_bench_1', 'Wooden Bench', 3420205, ("test1", "stick","3", "iron_ingot","1"), sittable=50, length=3)) - furniture_list.append(furnitures( - 'wooden_bench_2', 'Wooden Bench', 3420206, ("test1", "stick","3", "iron_ingot","1"), sittable=50, length=3)) - furniture_list.append(furnitures( - 'dyable_armchair_1', 'Cloth Armchair', 3420207, ("test1", "stick","3", "iron_ingot","1"), sittable=50, dyable=1)) - furniture_list.append(furnitures( - 'wooden_3_candle_holder_1', 'Candelabra', 3420208, ("test1", "stick","3", "iron_ingot","1"), block_id="light[level=15,", dyable=1)) - furniture_list.append(furnitures( - 'wooden_5_candle_holder_1', 'Candelabra', 3420209, ("test1", "stick","3", "iron_ingot","1"), block_id="light[level=15,", dyable=1)) - furniture_list.append(furnitures( - 'dyable_stool_1', 'Ottoman', 3420210, ("test1", "stick","3", "iron_ingot","1"), sittable=50, dyable=1)) - furniture_list.append(furnitures( - 'wooden_table_1', 'Wooden Table', 3420211, ("test1", "stick","3", "iron_ingot","1"), table=1)) - furniture_list.append(furnitures( - 'wooden_table_2', 'Wooden Table', 3420212, ("test1", "stick","3", "iron_ingot","1"), table=1)) - furniture_list.append(furnitures( - 'dyable_wooden_table_1', 'Wooden Table with Cloth', 3420213, ("test1", "stick","3", "iron_ingot","1"), dyable=1, table=1)) - furniture_list.append(furnitures( - 'dyable_wooden_sofa_1', 'Wooden Sofa with Cushions', 3420214, ("test1", "stick","3", "iron_ingot","1"), sittable=50, dyable=1, length=3)) - furniture_list.append(furnitures( - '2x1_log_seat_1', 'Log Bench', 3420215, ("test3","stick","3","iron_ingot","1"), sittable=50, length=2)) - furniture_list.append(furnitures( - '1x1_log_seat_1', 'Log Seat', 3420216, ("test3","stick","3","iron_ingot","1"), sittable=50)) - furniture_list.append(furnitures( - 'stone_frog_statue', 'Frog Statue', 3420217, ("test1", "stick","3", "iron_ingot","1"), custom_interaction=1)) - furniture_list.append(furnitures( - 'wooden_wall_candle_holder_1', 'Wall Candle', 3420218, ("test1", "stick","3", "iron_ingot","1"), block_id="light[level=15,", dyable=1, wall_only=1)) - furniture_list.append(furnitures( - 'dyable_wooden_chair_1', 'Wooden Chair with Cushions', 3420219, ("test2","stick","3","iron_ingot","1"), sittable=50, dyable=1)) - furniture_list.append(furnitures( - 'gold_5_candle_holder_1', 'Gold Candelabra', 3420220, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15,", dyable=1)) - furniture_list.append(furnitures( - 'gold_3_candle_holder_1', 'Gold Candelabra', 3420221, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15,", dyable=1)) - furniture_list.append(furnitures( - 'iron_5_candle_holder_1', 'Iron Candelabra', 3420222, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15,", dyable=1)) - furniture_list.append(furnitures( - 'iron_3_candle_holder_1', 'Iron Candelabra', 3420223, ("test2","stick","3","iron_ingot","1"), block_id="light[level=15,", dyable=1)) - furniture_list.append(furnitures( - '2x2_wooden_table_2', 'Wooden Table', 3420224, ("test2","stick","3","iron_ingot","1"), length=2, depth=2, table=1)) - - - # create furniture loot tables and placement functions - for furniture_data in furniture_list: - subproject_config = { - "data_pack": { - "load": [ - { - f"data/gm4_furniture/loot_tables/furniture/{furniture_data.technical_id}.json": "data/gm4_furniture/templates/loot_tables/furniture_item_template.json", - f"data/gm4_furniture/functions/place/furniture/{furniture_data.technical_id}.mcfunction": "data/gm4_furniture/templates/functions/furniture_place_template.mcfunction", - } - ], - "render": { - "loot_tables": "*", - "functions": "*" - } - }, - "meta": { - "technical_id": furniture_data.technical_id, - "display_name": furniture_data.display_name, - "cmd": furniture_data.cmd, - "crafting": furniture_data.crafting, - "block_id": furniture_data.block_id, - "sittable": furniture_data.sittable, - "wall_only": furniture_data.wall_only, - "ceiling_only": furniture_data.ceiling_only, - "dyable": furniture_data.dyable, - "length": furniture_data.length, - "depth": furniture_data.depth, - "height": furniture_data.height, - "table": furniture_data.table, - "scale": furniture_data.scale, - "custom_interaction": furniture_data.custom_interaction - } - } + trades_append = [] - ctx.require(subproject(subproject_config)) + # read in the furniture data + xls = pd.ExcelFile(r'gm4_furniture/furniture_data.xlsx') + + for category in xls.sheet_names: + + # skip the sheet if it is the template (TODO: remove the template sheet) + if category == 'template_sheet': + continue + + # read trade data from this sheet + tool_cmd = pd.read_excel(xls, category).iloc[0,0] + trade_data = pd.read_excel(xls, category, skiprows=2, usecols="A:E") + new_trades_init,new_trades_list,new_trades_append = generate_trade_data(trade_data, tool_cmd, category) - # create a list of all trade data - # any used trade category should be initiated with a cmd for the used tool, this is done in gm4_furnitures:generate_trades in this datapack - # for expansions #gm4_furniture:add_categories is called, this should lead to a similar function file. - for furniture_data in furniture_list: - trades_list.append("data modify storage gm4_furniture:temp new_trades." + furniture_data.crafting[0] + ".trades append value {cost:[{id:" + furniture_data.crafting[1] + ",Count:" + furniture_data.crafting[2] + "b},{id:" + furniture_data.crafting[3] + ",Count:" + furniture_data.crafting[4] + "b}],technical_id:\"" + furniture_data.technical_id + "\"}") + trades_init.append(new_trades_init) + trades_list.append(new_trades_list) + trades_append.append(new_trades_append) + + # read furniture data from this sheet + furniture_data = pd.read_excel(xls, category, skiprows=2, usecols="E:R") + generate_furniture_data(ctx, furniture_data) + + + # build the trade data function + trades_init = '\n'.join(trades_init) trades_list = '\n'.join(trades_list) + trades_append = '\n'.join(trades_append) - # add a function to add trade data to a storage subproject_config = { "data_pack": { "load": [ @@ -131,8 +48,69 @@ def beet_default(ctx: Context): } }, "meta": { - "furniture_list": trades_list, + "trades_init": trades_init, + "trades_list": trades_list, + "trades_append": trades_append, } } ctx.require(subproject(subproject_config)) + + + +def generate_trade_data(trade_data, tool_cmd, category): + + # create a command to make an empty storage called new_trades that holds the category name and tool cmd + new_trades_init = "data modify storage gm4_furniture:temp new_trades." + category + " set value {cmd:" + tool_cmd + ",trades:[]}" + + # iterate over the rows in the spreadsheet and add the trade data to the storage + new_trades_list = [] + for row in trade_data.index: + new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + category + ".trades append value {cost:[{id:" + str(trade_data['craft_item_1_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b},{id:" + str(trade_data['craft_item_2_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b}],technical_id:\"" + str(trade_data['technical_id'][row]) + "\"}") + new_trades_list = '\n'.join(new_trades_list) + + # add command to append the main furniture datastorage with the newly created one + new_trades_append = "data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades." + category + + # return the created commands + return(new_trades_init,new_trades_list,new_trades_append) + + + +def generate_furniture_data(ctx, furniture_data): + + # create furniture loot tables and placement functions for every furniture in this category + for row in furniture_data.index: + + subproject_config = { + "data_pack": { + "load": [ + { + f"data/gm4_furniture/loot_tables/furniture/{furniture_data['technical_id'][row]}.json": "data/gm4_furniture/templates/loot_tables/furniture_item_template.json", + f"data/gm4_furniture/functions/place/furniture/{furniture_data['technical_id'][row]}.mcfunction": "data/gm4_furniture/templates/functions/furniture_place_template.mcfunction", + } + ], + "render": { + "loot_tables": "*", + "functions": "*" + } + }, + "meta": { + "technical_id": furniture_data['technical_id'][row], + "display_name": furniture_data['display_name'][row], + "cmd": str(furniture_data['cmd'][row]), + "block_id": furniture_data['block_id'][row], + "sittable": str(furniture_data['sittable'][row]), + "wall_only": str(int(furniture_data['wall_only'][row])), + "ceiling_only": str(int(furniture_data['ceiling_only'][row])), + "dyable": str(int(furniture_data['dyable'][row])), + "length": str(furniture_data['length'][row]), + "depth": str(furniture_data['depth'][row]), + "height": str(furniture_data['height'][row]), + "table": str(int(furniture_data['table'][row])), + "scale": str(furniture_data['scale'][row]), + "custom_interaction": str(int(furniture_data['custom'][row])) + } + } + + ctx.require(subproject(subproject_config)) From 167bc4d13f9af66157a92f0b04df65052d1621de Mon Sep 17 00:00:00 2001 From: Thanathor Date: Thu, 21 Sep 2023 15:22:39 +0200 Subject: [PATCH 08/34] file format improvements --- .../functions/break/drop_item.mcfunction | 4 +-- .../interact/custom/process.mcfunction | 7 +++-- .../custom/resolve_function.mcfunction | 4 +-- .../interact/paint/process.mcfunction | 4 +-- .../furniture/furniture_station.mcfunction | 2 +- .../functions/place/resolve_id.mcfunction | 10 +++--- .../build_trades/resolve_trade.mcfunction | 4 +-- .../loot_tables/items/furniture_station.json | 2 +- .../furniture_place_template.mcfunction | 18 +++++------ .../loot_tables/furniture_item_template.json | 4 +-- gm4_furniture/generate.py | 31 +++++++++++-------- 11 files changed, 49 insertions(+), 41 deletions(-) diff --git a/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction index 3a314fbdd1..97eb239ecc 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/drop_item.mcfunction @@ -2,7 +2,7 @@ # @s = furniture item display # at @s # run from break/destroy with @s item.tag.data -# $(technical_id) = furniture's technical_id +# $(furniture_id) = furniture's id -$loot spawn ~.5 ~.25 ~.5 loot gm4_furniture:furniture/$(technical_id) +$loot spawn ~.5 ~.25 ~.5 loot gm4_furniture:furniture/$(furniture_id) execute if score $furniture_color gm4_furniture_data matches 1.. positioned ~.5 ~.25 ~.5 store result entity @e[type=item,limit=1,sort=nearest] Item.tag.gm4_furniture.color int 1 run scoreboard players get $furniture_color gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/process.mcfunction index d67caca0f1..2ac2520901 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/custom/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/process.mcfunction @@ -3,6 +3,9 @@ # at @s # run from interact/process -data modify storage gm4_furniture:temp technical_id set string entity @s CustomName 23 -2 +# find this furniture's item_display and store its furniture_id +scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id +execute as @e[type=item_display,tag=gm4_furniture.display,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id run data modify storage gm4_furniture:temp furniture_id set from entity @s item.tag.data.furniture_id +# resolve function call function gm4_furniture:interact/custom/resolve_function with storage gm4_furniture:temp -data remove storage gm4_furniture:temp technical_id +data remove storage gm4_furniture:temp furniture_id diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/resolve_function.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/resolve_function.mcfunction index ca3e00203d..18f7a830d7 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/custom/resolve_function.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/resolve_function.mcfunction @@ -2,6 +2,6 @@ # @s = furniture's interacted interaction entity # at @s # run from interact/custom/process with storage gm4_furniture:temp -# $(techical_id) = technical_id +# $(furniture_id) = furniture_id -$function gm4_furniture:interact/custom/furniture/$(technical_id) +$function gm4_furniture:interact/custom/furniture/$(furniture_id) diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction index d0f9a66c1f..94e73b6d21 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction @@ -3,9 +3,9 @@ # at @s # run from interact/paint/detect -# find this furniture's main interaction entity and try to paint its linked item display +# find this furniture's item_display and try to paint it scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id -execute as @e[type=interaction,tag=gm4_furniture.main,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] store success score $paint_changed gm4_furniture_data run data modify entity @s item.tag.display.color set from storage gm4_furniture:temp color +execute as @e[type=item_display,tag=gm4_furniture.display,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id store success score $paint_changed gm4_furniture_data run data modify entity @s item.tag.display.color set from storage gm4_furniture:temp color # if furniture was painted mark interaction as resolved and play paint sound execute if score $paint_changed gm4_furniture_data matches 1 run playsound item.dye.use player @a[distance=..8] ~ ~ ~ 1 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction index 5b7d825ccc..b926f405cf 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction @@ -16,7 +16,7 @@ execute if score $valid_placement gm4_furniture_data matches 0 run setblock ~ ~ execute if score $valid_placement gm4_furniture_data matches 0 run return 0 # spawn the furniture_station -summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"furniture_station"},CustomModelData:3420150}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{furniture_id:"furniture_station"},CustomModelData:3420150}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1.0002f,width:1.0002f,response:1b} summon interaction ^0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.next","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} summon interaction ^-0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.prev","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction index 2903fe0f9a..d45636f329 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/resolve_id.mcfunction @@ -2,9 +2,9 @@ # @s = player that just placed a furniture player head # at the center of the furniture player head that was placed # run from place/prep_place with storage gm4_furniture:temp furniture_data -# $(technical_id) = furniture's technical_id +# $(furniture_id) = furniture's id -$execute if score $rotation gm4_furniture_data matches 1 rotated 0 0 run function gm4_furniture:place/furniture/$(technical_id) -$execute if score $rotation gm4_furniture_data matches 2 rotated 90 0 run function gm4_furniture:place/furniture/$(technical_id) -$execute if score $rotation gm4_furniture_data matches 3 rotated 180 0 run function gm4_furniture:place/furniture/$(technical_id) -$execute if score $rotation gm4_furniture_data matches 4 rotated -90 0 run function gm4_furniture:place/furniture/$(technical_id) +$execute if score $rotation gm4_furniture_data matches 1 rotated 0 0 run function gm4_furniture:place/furniture/$(furniture_id) +$execute if score $rotation gm4_furniture_data matches 2 rotated 90 0 run function gm4_furniture:place/furniture/$(furniture_id) +$execute if score $rotation gm4_furniture_data matches 3 rotated 180 0 run function gm4_furniture:place/furniture/$(furniture_id) +$execute if score $rotation gm4_furniture_data matches 4 rotated -90 0 run function gm4_furniture:place/furniture/$(furniture_id) diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction index 59adeedaea..c3efc8cb61 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction @@ -2,6 +2,6 @@ # @s = furniture station wandering trader # at @s # run from technical/furniture_station/build_trades/build_trade with storage gm4_furniture:temp trade_data[0] -# $(technical_id) = furniture's technical_id +# $(furniture_id) = furniture's id -$loot replace block 29999998 1 7134 container.0 loot gm4_furniture:furniture/$(technical_id) +$loot replace block 29999998 1 7134 container.0 loot gm4_furniture:furniture/$(furniture_id) diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json index 5a854e3b37..ea29463bc6 100644 --- a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json +++ b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json @@ -10,7 +10,7 @@ "functions": [ { "function": "set_nbt", - "tag": "{CustomModelData:3420150,gm4_furniture:{technical_id:\"furniture_station\"},SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Name:\"furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" + "tag": "{CustomModelData:3420150,gm4_furniture:{furniture_id:\"furniture_station\"},SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Name:\"furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" }, { "function": "minecraft:set_name", diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction index 487821ef7a..2ae11b4eb1 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction @@ -36,7 +36,7 @@ execute if score $placement_blocked gm4_furniture_data matches 1 run scoreboard execute if score $placement_blocked gm4_furniture_data matches 1 run kill @e[type=marker,tag=gm4_furniture.marked_block] # if placement is not valid cancel placement -execute if score $valid_placement gm4_furniture_data matches 0 run loot spawn ~ ~ ~ loot gm4_furniture:furniture/{{ technical_id }} +execute if score $valid_placement gm4_furniture_data matches 0 run loot spawn ~ ~ ~ loot gm4_furniture:furniture/{{ category }}/{{ technical_id }} execute if score $valid_placement gm4_furniture_data matches 0 run return 0 # set variables @@ -46,18 +46,17 @@ scoreboard players set $table gm4_furniture_data {{ table }} scoreboard players set $custom_interaction gm4_furniture_data {{ custom_interaction }} # spawn the furniture -execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{technical_id:"{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} -summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} +execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ category }}.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{furniture_id:"{{ category }}/{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} +summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ category }}.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} setblock ~ ~ ~ {{ block_id }} # add placement tags execute if score $wall_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.on_wall execute if score $ceiling_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.on_ceiling -# spawn extensions if they exist and set id -execute at @e[type=marker,tag=gm4_furniture.marked_block] run summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} +# spawn extensions if they exist +execute at @e[type=marker,tag=gm4_furniture.marked_block] run summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ category }}.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} execute at @e[type=marker,tag=gm4_furniture.marked_block] run setblock ~ ~ ~ {{ block_id }} -execute store result score @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 # add custom interaction tags execute if score $custom_interaction gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.custom_interaction @@ -73,14 +72,15 @@ execute if score $dyable gm4_furniture_data matches 1 run tag @e[type=interactio execute if score $sittable gm4_furniture_data matches 1.. run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.sittable scoreboard players set $sit_height gm4_furniture_data 50 execute if score $sittable gm4_furniture_data matches 1.. store result entity @e[type=item_display,tag=gm4_new_furniture,distance=..2,limit=1,sort=nearest] transformation.translation[1] float 0.01 run scoreboard players operation $sit_height gm4_furniture_data -= $sittable gm4_furniture_data -execute if score $sittable gm4_furniture_data matches 1.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.seat","gm4_furniture.sittable","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ technical_id }}_seat"',item:{id:"air",Count:1},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]}} +execute if score $sittable gm4_furniture_data matches 1.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.seat","gm4_furniture.sittable","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ category }}.{{ technical_id }}_seat"',item:{id:"air",Count:1},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]}} # rotate furniture depending on rotation set by player (if rotation is 1 default rotation can be kept) execute if score $rotation gm4_furniture_data matches 2.. as @e[tag=gm4_new_furniture,distance=..8] run data modify entity @s Rotation set from storage gm4_furniture:data Rotation -# mark block as placed +# mark block as placed and set id playsound minecraft:block.barrel.close block @a[distance=..6] ~ ~ ~ 1 1.6 -tag @e[distance=..2] remove gm4_new_furniture +execute store result score @e[tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 +tag @e[tag=gm4_new_furniture] remove gm4_new_furniture # cleanup kill @e[type=marker,tag=gm4_furniture.marked_block] diff --git a/gm4_furniture/data/gm4_furniture/templates/loot_tables/furniture_item_template.json b/gm4_furniture/data/gm4_furniture/templates/loot_tables/furniture_item_template.json index 95181bec93..7021f7db7c 100644 --- a/gm4_furniture/data/gm4_furniture/templates/loot_tables/furniture_item_template.json +++ b/gm4_furniture/data/gm4_furniture/templates/loot_tables/furniture_item_template.json @@ -10,13 +10,13 @@ "functions": [ { "function": "minecraft:set_nbt", - "tag": "{CustomModelData:{{ cmd }},gm4_furniture:{technical_id:\"{{ technical_id }}\",color:16383998},SkullOwner:{Name:\"{{ technical_id }}\"}}" + "tag": "{CustomModelData:{{ cmd }},gm4_furniture:{furniture_id:\"{{ category }}/{{ technical_id }}\",color:16383998},SkullOwner:{Name:\"{{ category }}.{{ technical_id }}\"}}" }, { "function": "minecraft:set_name", "name": [ { - "translate": "block.gm4_furniture.gm4_{{ technical_id }}", + "translate": "block.gm4_furniture.{{ category }}.{{ technical_id }}", "fallback": "{{ display_name }}", "color": "white", "italic": false diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index 6852ed31c4..3e1ed87c9f 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -10,32 +10,36 @@ def beet_default(ctx: Context): # read in the furniture data xls = pd.ExcelFile(r'gm4_furniture/furniture_data.xlsx') + # loop through the different sheets, each sheet hold a different 'category' + # of furniture which need to be sorted in the furniture_station storage for category in xls.sheet_names: # skip the sheet if it is the template (TODO: remove the template sheet) if category == 'template_sheet': continue - # read trade data from this sheet + # read trade data from this sheet, this creates the villager trades used + # inside the furniture station tool_cmd = pd.read_excel(xls, category).iloc[0,0] trade_data = pd.read_excel(xls, category, skiprows=2, usecols="A:E") - + # call generate_trade_data to build the commands new_trades_init,new_trades_list,new_trades_append = generate_trade_data(trade_data, tool_cmd, category) - + # append the trade data to the total list trades_init.append(new_trades_init) trades_list.append(new_trades_list) trades_append.append(new_trades_append) - # read furniture data from this sheet + # read furniture data from this sheet, and then create the placement function + # and loot table for each furniture furniture_data = pd.read_excel(xls, category, skiprows=2, usecols="E:R") - generate_furniture_data(ctx, furniture_data) + generate_furniture_data(ctx, furniture_data, category) - # build the trade data function + # build the trade data commands trades_init = '\n'.join(trades_init) trades_list = '\n'.join(trades_list) trades_append = '\n'.join(trades_append) - + # build the trade data function from crafting_template subproject_config = { "data_pack": { "load": [ @@ -63,13 +67,13 @@ def generate_trade_data(trade_data, tool_cmd, category): # create a command to make an empty storage called new_trades that holds the category name and tool cmd new_trades_init = "data modify storage gm4_furniture:temp new_trades." + category + " set value {cmd:" + tool_cmd + ",trades:[]}" - # iterate over the rows in the spreadsheet and add the trade data to the storage + # iterate over the rows in the spreadsheet and add the trade data for each furniture to the storage new_trades_list = [] for row in trade_data.index: new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + category + ".trades append value {cost:[{id:" + str(trade_data['craft_item_1_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b},{id:" + str(trade_data['craft_item_2_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b}],technical_id:\"" + str(trade_data['technical_id'][row]) + "\"}") new_trades_list = '\n'.join(new_trades_list) - # add command to append the main furniture datastorage with the newly created one + # add command to append the main furniture_station storage with the newly created new_trades new_trades_append = "data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades." + category # return the created commands @@ -77,17 +81,17 @@ def generate_trade_data(trade_data, tool_cmd, category): -def generate_furniture_data(ctx, furniture_data): +def generate_furniture_data(ctx, furniture_data, category): # create furniture loot tables and placement functions for every furniture in this category for row in furniture_data.index: - + # build placement function and loot table for furniture piece subproject_config = { "data_pack": { "load": [ { - f"data/gm4_furniture/loot_tables/furniture/{furniture_data['technical_id'][row]}.json": "data/gm4_furniture/templates/loot_tables/furniture_item_template.json", - f"data/gm4_furniture/functions/place/furniture/{furniture_data['technical_id'][row]}.mcfunction": "data/gm4_furniture/templates/functions/furniture_place_template.mcfunction", + f"data/gm4_furniture/loot_tables/furniture/{category}/{furniture_data['technical_id'][row]}.json": "data/gm4_furniture/templates/loot_tables/furniture_item_template.json", + f"data/gm4_furniture/functions/place/furniture/{category}/{furniture_data['technical_id'][row]}.mcfunction": "data/gm4_furniture/templates/functions/furniture_place_template.mcfunction", } ], "render": { @@ -96,6 +100,7 @@ def generate_furniture_data(ctx, furniture_data): } }, "meta": { + "category": category, "technical_id": furniture_data['technical_id'][row], "display_name": furniture_data['display_name'][row], "cmd": str(furniture_data['cmd'][row]), From d8f62b1edf903206b8e6847073fa6b785faef873 Mon Sep 17 00:00:00 2001 From: Thanathor <73304324+TheThanathor@users.noreply.github.com> Date: Thu, 21 Sep 2023 21:21:06 +0200 Subject: [PATCH 09/34] fix player head textures --- .../data/gm4_furniture/loot_tables/furniture/base.json | 2 +- .../data/gm4_furniture/loot_tables/items/furniture_station.json | 2 +- gm4_furniture/generate.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json b/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json index 3578abd77b..af9eb81326 100644 --- a/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json +++ b/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json @@ -10,7 +10,7 @@ "functions": [ { "function": "set_nbt", - "tag": "{SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" + "tag": "{SkullOwner:{Id:[I;1567268555,400377645,-2090593244,-1749540666],Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" } ] } diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json index ea29463bc6..5d0b0d208f 100644 --- a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json +++ b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json @@ -10,7 +10,7 @@ "functions": [ { "function": "set_nbt", - "tag": "{CustomModelData:3420150,gm4_furniture:{furniture_id:\"furniture_station\"},SkullOwner:{Id:[I;1862739911,-1668725896,-1286726243,-1817885533],Name:\"furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" + "tag": "{CustomModelData:3420150,gm4_furniture:{furniture_id:\"furniture_station\"},SkullOwner:{Id:[I;1567268555,400377645,-2090593244,-1749540666],Name:\"furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" }, { "function": "minecraft:set_name", diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index 3e1ed87c9f..e0d78fdb7f 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -70,7 +70,7 @@ def generate_trade_data(trade_data, tool_cmd, category): # iterate over the rows in the spreadsheet and add the trade data for each furniture to the storage new_trades_list = [] for row in trade_data.index: - new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + category + ".trades append value {cost:[{id:" + str(trade_data['craft_item_1_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b},{id:" + str(trade_data['craft_item_2_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b}],technical_id:\"" + str(trade_data['technical_id'][row]) + "\"}") + new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + category + ".trades append value {cost:[{id:" + str(trade_data['craft_item_1_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b},{id:" + str(trade_data['craft_item_2_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b}],furniture_id:\"" + category + "/" + str(trade_data['technical_id'][row]) + "\"}") new_trades_list = '\n'.join(new_trades_list) # add command to append the main furniture_station storage with the newly created new_trades From 7d1ce6d968b5d5f69387dc87d041249921d076a1 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Sat, 23 Sep 2023 12:56:47 +0200 Subject: [PATCH 10/34] clean up some old code, add sounds --- .../advancements/crafted_furniture.json | 21 ++++++++++++++++++ .../functions/break/decimal_to_hex.mcfunction | 6 +++++ .../gm4_furniture/functions/init.mcfunction | 1 + .../craft_furniture.mcfunction | 8 +++++++ .../furniture/furniture_station.mcfunction | 3 +-- .../place/place_furniture_water.mcfunction | 8 ------- .../loot_tables/furniture/base.json | 2 +- .../loot_tables/items/furniture_station.json | 2 +- gm4_furniture/furniture_data.xlsx | Bin 26957 -> 21080 bytes 9 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/craft_furniture.mcfunction delete mode 100644 gm4_furniture/data/gm4_furniture/functions/place/place_furniture_water.mcfunction diff --git a/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json b/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json new file mode 100644 index 0000000000..2764783b73 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json @@ -0,0 +1,21 @@ +{ + "criteria": { + "requirement": { + "trigger": "minecraft:villager_trade", + "conditions": { + "villager": [ + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_furniture.furniture_station\"]}" + } + } + ] + } + } + }, + "rewards": { + "function": "gm4_furniture:interact/furniture_station/craft_furniture" + } + } + \ No newline at end of file diff --git a/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction index 02e2cee720..de269ea14b 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction @@ -6,6 +6,7 @@ scoreboard players operation $red gm4_furniture_data /= #65536 gm4_furniture_dat scoreboard players operation $add_digit gm4_furniture_data = $red gm4_furniture_data scoreboard players operation $add_digit gm4_furniture_data /= #16 gm4_furniture_data execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.red_1 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 10 run data modify storage gm4_furniture:temp color_hex.red_1 set value "A" execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.red_1 set value "B" execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.red_1 set value "C" execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.red_1 set value "D" @@ -14,6 +15,7 @@ execute if score $add_digit gm4_furniture_data matches 15 run data modify storag scoreboard players operation $add_digit gm4_furniture_data = $red gm4_furniture_data scoreboard players operation $add_digit gm4_furniture_data %= #16 gm4_furniture_data execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.red_2 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 10 run data modify storage gm4_furniture:temp color_hex.red_2 set value "A" execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.red_2 set value "B" execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.red_2 set value "C" execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.red_2 set value "D" @@ -26,6 +28,7 @@ scoreboard players operation $green gm4_furniture_data %= #256 gm4_furniture_dat scoreboard players operation $add_digit gm4_furniture_data = $green gm4_furniture_data scoreboard players operation $add_digit gm4_furniture_data /= #16 gm4_furniture_data execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.green_1 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 10 run data modify storage gm4_furniture:temp color_hex.green_1 set value "A" execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.green_1 set value "B" execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.green_1 set value "C" execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.green_1 set value "D" @@ -34,6 +37,7 @@ execute if score $add_digit gm4_furniture_data matches 15 run data modify storag scoreboard players operation $add_digit gm4_furniture_data = $green gm4_furniture_data scoreboard players operation $add_digit gm4_furniture_data %= #16 gm4_furniture_data execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.green_2 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 10 run data modify storage gm4_furniture:temp color_hex.green_2 set value "A" execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.green_2 set value "B" execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.green_2 set value "C" execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.green_2 set value "D" @@ -45,6 +49,7 @@ scoreboard players operation $blue gm4_furniture_data %= #256 gm4_furniture_data scoreboard players operation $add_digit gm4_furniture_data = $blue gm4_furniture_data scoreboard players operation $add_digit gm4_furniture_data /= #16 gm4_furniture_data execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.blue_1 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 10 run data modify storage gm4_furniture:temp color_hex.blue_1 set value "A" execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.blue_1 set value "B" execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.blue_1 set value "C" execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.blue_1 set value "D" @@ -53,6 +58,7 @@ execute if score $add_digit gm4_furniture_data matches 15 run data modify storag scoreboard players operation $add_digit gm4_furniture_data = $blue gm4_furniture_data scoreboard players operation $add_digit gm4_furniture_data %= #16 gm4_furniture_data execute if score $add_digit gm4_furniture_data matches 0..9 store result storage gm4_furniture:temp color_hex.blue_2 int 1 run scoreboard players get $add_digit gm4_furniture_data +execute if score $add_digit gm4_furniture_data matches 10 run data modify storage gm4_furniture:temp color_hex.blue_2 set value "A" execute if score $add_digit gm4_furniture_data matches 11 run data modify storage gm4_furniture:temp color_hex.blue_2 set value "B" execute if score $add_digit gm4_furniture_data matches 12 run data modify storage gm4_furniture:temp color_hex.blue_2 set value "C" execute if score $add_digit gm4_furniture_data matches 13 run data modify storage gm4_furniture:temp color_hex.blue_2 set value "D" diff --git a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction index c7878b6f52..e6cadcd595 100644 --- a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction @@ -6,6 +6,7 @@ scoreboard objectives add gm4_furniture_data dummy scoreboard objectives add gm4_furniture_last_hit dummy scoreboard objectives add gm4_furniture_id dummy scoreboard objectives add gm4_furniture_index dummy +scoreboard objectives add gm4_furniture_craft_sound_time dummy scoreboard players set #2 gm4_furniture_data 2 scoreboard players set #16 gm4_furniture_data 16 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/craft_furniture.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/craft_furniture.mcfunction new file mode 100644 index 0000000000..35579155d4 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/craft_furniture.mcfunction @@ -0,0 +1,8 @@ +# player furniture crafting sound +# @s = furniture's interacted interaction entity +# at @s +advancement revoke @s only gm4_furniture:crafted_furniture + +execute store result score $current_time gm4_furniture_data run time query gametime +execute as @a[distance=..16] unless score @s gm4_furniture_craft_sound_time = $current_time gm4_furniture_data run playsound minecraft:entity.villager.work_fletcher block @s ~ ~ ~ 1 1.25 +execute as @a[distance=..16] run scoreboard players operation @s gm4_furniture_craft_sound_time = $current_time gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction index b926f405cf..48ea9f0b59 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction @@ -26,8 +26,7 @@ summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_main,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[0].cmd data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_next,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[1].cmd data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_prev,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[-1].cmd -execute unless score $waterlog gm4_furniture_data matches 1 run setblock ~ ~ ~ barrier -execute if score $waterlog gm4_furniture_data matches 1 run setblock ~ ~ ~ barrier[waterlogged=true] +setblock ~ ~ ~ barrier # spawn trader and set ids summon wandering_trader ~ ~1000 ~ {Invulnerable:1b,Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.furniture_station","fallback":"Furniture Station"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:offscreen"},{"translate":"gui.gm4.furniture_station","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:furniture","color":"#404040"}]]}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} diff --git a/gm4_furniture/data/gm4_furniture/functions/place/place_furniture_water.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/place_furniture_water.mcfunction deleted file mode 100644 index a9fc7e8bb0..0000000000 --- a/gm4_furniture/data/gm4_furniture/functions/place/place_furniture_water.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -# finds the player head that was placed by the player in water -# @s = player that just placed a furniture player head -# at @s -advancement revoke @s only gm4_furniture:place_furniture_water -say water -scoreboard players set $waterlog gm4_furniture_data 1 -function gm4_furniture:place/place_furniture -scoreboard players reset $waterlog gm4_furniture_data diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json b/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json index af9eb81326..7c610f0cee 100644 --- a/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json +++ b/gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json @@ -10,7 +10,7 @@ "functions": [ { "function": "set_nbt", - "tag": "{SkullOwner:{Id:[I;1567268555,400377645,-2090593244,-1749540666],Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" + "tag": "{SkullOwner:{Id:[I;-308545246,403555340,412409013,-705374452],Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" } ] } diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json index 5d0b0d208f..bac25597c2 100644 --- a/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json +++ b/gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json @@ -10,7 +10,7 @@ "functions": [ { "function": "set_nbt", - "tag": "{CustomModelData:3420150,gm4_furniture:{furniture_id:\"furniture_station\"},SkullOwner:{Id:[I;1567268555,400377645,-2090593244,-1749540666],Name:\"furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" + "tag": "{CustomModelData:3420150,gm4_furniture:{furniture_id:\"furniture_station\"},SkullOwner:{Id:[I;-308545246,403555340,412409013,-705374452],Name:\"furniture_station\",Properties:{textures:[{Signature:\"gm4_furniture\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY5Mjg3NTg0Njc2OCwKICAicHJvZmlsZUlkIiA6ICJhNWZlYWViNDdhYjA0ZDZiYTk2ZjMyOGJjMDQ3MDZjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJYeW5kcmEyIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzMzMDU1YjMzMGVmZTY0ZTQxMmQxZDc4MTE5MTM5YzRkMTA3YjZlMDdkNmUyMGU5MTVkYWE5MjFlYTgzMDgwMiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9\"}]}}}" }, { "function": "minecraft:set_name", diff --git a/gm4_furniture/furniture_data.xlsx b/gm4_furniture/furniture_data.xlsx index 716f2a45c3df37ab734389c5beab113af242b360..7798499abe3ec14c6b5275ec8ed3ef4397592dd8 100644 GIT binary patch literal 21080 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 O4GL-<_+1YusQ&}IOj;-a literal 26957 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 N3$PFnQd;2O{U1+^LoomV From 2446bb337d1788edbdd7dacf45eddf604379128f Mon Sep 17 00:00:00 2001 From: Thanathor Date: Sat, 23 Sep 2023 12:57:10 +0200 Subject: [PATCH 11/34] this wasn't pushed? --- .../data/gm4_furniture/advancements/crafted_furniture.json | 1 + 1 file changed, 1 insertion(+) diff --git a/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json b/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json index 2764783b73..4e1d603d36 100644 --- a/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json +++ b/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json @@ -4,6 +4,7 @@ "trigger": "minecraft:villager_trade", "conditions": { "villager": [ + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { From 49513660a0be7f43fee4123f29970044a5d4eacf Mon Sep 17 00:00:00 2001 From: Misode Date: Tue, 31 Oct 2023 13:08:43 +0100 Subject: [PATCH 12/34] Fix formatting issue in beet.yaml --- gm4_furniture/beet.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gm4_furniture/beet.yaml b/gm4_furniture/beet.yaml index cd588a5fed..bcefa57325 100644 --- a/gm4_furniture/beet.yaml +++ b/gm4_furniture/beet.yaml @@ -15,8 +15,8 @@ meta: gm4: versioning: required: - - lib_forceload: 1.1.0 - - lib_custom_crafters: 3.0.0 + lib_forceload: 1.1.0 + lib_custom_crafters: 3.0.0 schedule_loops: [main] website: description: Furniture! From 5492e86d08231720c4d1ed6cfe8bb4535e76be67 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Tue, 19 Dec 2023 15:20:15 +0100 Subject: [PATCH 13/34] add reworked furniture --- .../functions/break/detect_hit.mcfunction | 5 ++++ .../functions/break/get_color.mcfunction | 9 ++++++ .../functions/break/process_hit.mcfunction | 5 ++++ .../place/check_diagonal_placement.mcfunction | 26 ++++++++++++++++++ .../furniture/furniture_station.mcfunction | 6 ++-- .../build_trades/build_trade.mcfunction | 3 +- .../item_modifiers/get_color.json | 16 +++++++++++ .../loot_tables/items/paintbrush.json | 2 +- .../furniture_place_template.mcfunction | 24 ++++++++-------- gm4_furniture/furniture_data.xlsx | Bin 21080 -> 34613 bytes gm4_furniture/generate.py | 7 +++-- 11 files changed, 84 insertions(+), 19 deletions(-) create mode 100644 gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/place/check_diagonal_placement.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/item_modifiers/get_color.json diff --git a/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction index bef75ea63a..8e69fb24be 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/detect_hit.mcfunction @@ -6,5 +6,10 @@ advancement revoke @s only gm4_furniture:hit_furniture # mark if the player is in creative mode execute store success score $creative gm4_furniture_data if entity @s[gamemode=creative] +# mark if the player is holding a paintbrush in their mainhand +execute store success score $get_color gm4_furniture_data if entity @s[predicate=gm4_furniture:holding_paintbrush] + # locate the hit furniture +tag @s add gm4_furniture_target execute as @e[type=interaction,tag=gm4_furniture,distance=..8] if data entity @s attack at @s run function gm4_furniture:break/find_main +tag @s remove gm4_furniture_target diff --git a/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction new file mode 100644 index 0000000000..4e0f4c006b --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction @@ -0,0 +1,9 @@ + +# find this furniture's item_display and get its color +scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id +execute as @e[type=item_display,tag=gm4_furniture.display,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id store result storage gm4_furniture:temp color int 1 run data get entity @s item.tag.display.color + +item modify entity @p[tag=gm4_furniture_target] weapon.mainhand gm4_furniture:get_color +playsound item.dye.use player @a[distance=..8] ~ ~ ~ 1 1.15 + +scoreboard players set $color_picked gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction index 64acc9ca8c..7bc347b08d 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction @@ -3,6 +3,11 @@ # at @s # run from break/find_main +# if player is holding the paintbrush instead grab the color and stop this function +scoreboard players set $color_picked gm4_furniture_data 0 +execute if score $get_color gm4_furniture_data matches 1 if entity @s[tag=gm4_furniture.painted] run function gm4_furniture:break/get_color +execute if score $color_picked gm4_furniture_data matches 1 run return 0 + # check how much time has passed since the last hit (or ignore that if the player was in creative) execute store result score $hit gm4_furniture_last_hit run time query gametime scoreboard players operation $check_break gm4_furniture_last_hit = $hit gm4_furniture_last_hit diff --git a/gm4_furniture/data/gm4_furniture/functions/place/check_diagonal_placement.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/check_diagonal_placement.mcfunction new file mode 100644 index 0000000000..6d055ce5ce --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/place/check_diagonal_placement.mcfunction @@ -0,0 +1,26 @@ +# checks for placement of furniture that is allowed to be placed diagonally +# @s = player who placed the furniture player head +# at the center of the placed block rotated along axis to face towards player or away from the wall +# run from any in place/furniture/ + +scoreboard players set $diag_found gm4_furniture_data 0 +execute if block ~ ~ ~ player_head[rotation=1] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [-157.5F,0F] +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=2] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [-135F,0F] +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=3] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [-112.5F,0F] + +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=5] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [-67.5F,0F] +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=6] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [-45F,0F] +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=7] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [-22.5F,0F] + +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=9] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [22.5F,0F] +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=10] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [45F,0F] +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=11] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [67.5F,0F] + +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=13] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [112.5F,0F] +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=14] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [135F,0F] +execute if score $diag_found gm4_furniture_data matches 0 if block ~ ~ ~ player_head[rotation=15] store success score $diag_found gm4_furniture_data run data modify storage gm4_furniture:data Rotation set value [157.5F,0F] + +# if a diagonal rotation was found make sure rotation will be set, and limit length / height to 1 +execute if score $diag_found gm4_furniture_data matches 1 run scoreboard players set $rotation gm4_furniture_data 5 +execute if score $diag_found gm4_furniture_data matches 1 run scoreboard players set $length gm4_furniture_data 1 +execute if score $diag_found gm4_furniture_data matches 1 run scoreboard players set $depth gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction index 48ea9f0b59..ca9e7dc534 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction @@ -20,9 +20,9 @@ summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display", summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1.0002f,width:1.0002f,response:1b} summon interaction ^0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.next","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} summon interaction ^-0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.prev","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} -summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,1f,0f],scale:[1f,1f,1f]}} -summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_next","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[1f,0f,0f,1f],right_rotation:[1f,0f,0f,1f],translation:[0.25f,1.45f,0.5f],scale:[0.25f,0.25f,0.25f]}} -summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_prev","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[1f,0f,0f,1f],right_rotation:[1f,0f,0f,1f],translation:[-0.25f,1.45f,0.5f],scale:[0.25f,0.25f,0.25f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.6f,0f],scale:[1f,1f,1f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_next","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0.28125f,-0.45312f,0.5f],scale:[1f,1f,1f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_prev","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[-0.28125f,-0.45312f,0.5f],scale:[1f,1f,1f]}} data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_main,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[0].cmd data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_next,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[1].cmd data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_prev,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[-1].cmd diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction index 3094b1cc0c..7d9a5d688d 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction @@ -10,8 +10,9 @@ data modify storage gm4_furniture:temp new_trade.buy.Count set from storage gm4_ data modify storage gm4_furniture:temp new_trade.buyB.id set from storage gm4_furniture:temp trade_data[0].cost[1].id data modify storage gm4_furniture:temp new_trade.buyB.Count set from storage gm4_furniture:temp trade_data[0].cost[1].Count -function gm4_furniture:technical/furniture_station/build_trades/resolve_trade with storage gm4_furniture:temp trade_data[0] +function gm4_furniture:technical/furniture_station/build_trades/resolve_trade with storage gm4_furniture:temp trade_data[0].result data modify storage gm4_furniture:temp new_trade.sell set from block 29999998 1 7134 Items[{Slot:0b}] +data modify storage gm4_furniture:temp new_trade.sell.Count set from storage gm4_furniture:temp trade_data[0].result.Count data modify storage gm4_furniture:temp trades append from storage gm4_furniture:temp new_trade data remove storage gm4_furniture:temp new_trade diff --git a/gm4_furniture/data/gm4_furniture/item_modifiers/get_color.json b/gm4_furniture/data/gm4_furniture/item_modifiers/get_color.json new file mode 100644 index 0000000000..d0ba3a4d5d --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/item_modifiers/get_color.json @@ -0,0 +1,16 @@ +[ + { + "function": "minecraft:copy_nbt", + "source": { + "type": "minecraft:storage", + "source": "gm4_furniture:temp" + }, + "ops": [ + { + "source": "color", + "target": "display.color", + "op": "replace" + } + ] + } +] diff --git a/gm4_furniture/data/gm4_furniture/loot_tables/items/paintbrush.json b/gm4_furniture/data/gm4_furniture/loot_tables/items/paintbrush.json index f5e5db18d7..ed382532a4 100644 --- a/gm4_furniture/data/gm4_furniture/loot_tables/items/paintbrush.json +++ b/gm4_furniture/data/gm4_furniture/loot_tables/items/paintbrush.json @@ -9,7 +9,7 @@ "functions": [ { "function": "minecraft:set_nbt", - "tag": "{CustomModelData:3420200,gm4_furniture:paintbrush}" + "tag": "{CustomModelData:3420151,gm4_furniture:paintbrush}" }, { "function": "minecraft:set_name", diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction index 2ae11b4eb1..3321365adb 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction @@ -7,8 +7,19 @@ # first perform checks to see if furniture fits where it was placed scoreboard players set $valid_placement gm4_furniture_data 1 -# store rotation in storage -execute if score $rotation gm4_furniture_data matches 1 run data modify storage gm4_furniture:data Rotation set value [0F,0F] +# set variables +scoreboard players set $sittable gm4_furniture_data {{ sittable }} +scoreboard players set $dyable gm4_furniture_data {{ dyable }} +scoreboard players set $table gm4_furniture_data {{ table }} +scoreboard players set $custom_interaction gm4_furniture_data {{ custom_interaction }} +scoreboard players set $length gm4_furniture_data {{ length }} +scoreboard players set $depth gm4_furniture_data {{ depth }} +scoreboard players set $height gm4_furniture_data {{ height }} +scoreboard players set $diagonal_placement_allowed gm4_furniture_data {{ allow_diagonal_placement }} + +# check for diagonal placement +execute if score $diagonal_placement_allowed gm4_furniture_data matches 1 if block ~ ~ ~ player_head run function gm4_furniture:place/check_diagonal_placement +# store rotation in storage if a non-standard rotation was used execute if score $rotation gm4_furniture_data matches 2 run data modify storage gm4_furniture:data Rotation set value [90F,0F] execute if score $rotation gm4_furniture_data matches 3 run data modify storage gm4_furniture:data Rotation set value [180F,0F] execute if score $rotation gm4_furniture_data matches 4 run data modify storage gm4_furniture:data Rotation set value [-90F,0F] @@ -22,9 +33,6 @@ scoreboard players set $ceiling_only gm4_furniture_data {{ ceiling_only }} execute if score $ceiling_only gm4_furniture_data matches 1 if block ~ ~1 ~ #gm4:replaceable run scoreboard players set $valid_placement gm4_furniture_data 0 # wall placed furniture is not allowed to have depth, if any size is bigger than 1 check if there is space -scoreboard players set $length gm4_furniture_data {{ length }} -scoreboard players set $depth gm4_furniture_data {{ depth }} -scoreboard players set $height gm4_furniture_data {{ height }} scoreboard players set $placement_blocked gm4_furniture_data 0 execute if score $valid_placement gm4_furniture_data matches 1 if score $length gm4_furniture_data matches 2.. run function gm4_furniture:place/check_size/length_prep summon marker ~ ~ ~ {Tags:["gm4_furniture","gm4_furniture.marked_block","gm4_furniture.middle"]} @@ -39,12 +47,6 @@ execute if score $placement_blocked gm4_furniture_data matches 1 run kill @e[typ execute if score $valid_placement gm4_furniture_data matches 0 run loot spawn ~ ~ ~ loot gm4_furniture:furniture/{{ category }}/{{ technical_id }} execute if score $valid_placement gm4_furniture_data matches 0 run return 0 -# set variables -scoreboard players set $sittable gm4_furniture_data {{ sittable }} -scoreboard players set $dyable gm4_furniture_data {{ dyable }} -scoreboard players set $table gm4_furniture_data {{ table }} -scoreboard players set $custom_interaction gm4_furniture_data {{ custom_interaction }} - # spawn the furniture execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ category }}.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{furniture_id:"{{ category }}/{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ category }}.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} diff --git a/gm4_furniture/furniture_data.xlsx b/gm4_furniture/furniture_data.xlsx index 7798499abe3ec14c6b5275ec8ed3ef4397592dd8..e19701ec0d1931505e0d0b9928aa72ccea5c9c20 100644 GIT binary patch literal 34613 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ℜ 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 GSN{W(+SJGZ literal 21080 zcmeIaby!tf*EUW_Dzzn)mXHpSZjkO432CHD1SCZo1VmElE-7j05)=vPM!Gu%HhgPK zsNi|t_q(3o^ZoI=o_*HAb9u%+=N#i6V~(}gx|wp4u-A~GAfL@-)`vg;^QKOskrCZni~Oq#*C>{dexVbFjwQ(s z^e6oxI`jK?ZWkZ!ilFK0;9zlk>sOx~Hkj>gF~55#Qy!_UquHy?&c5L?Ps`1+myO5x zh{^$%Jm2f)lYzC8VD2{&A!&ypl~Sg}<)0+?6H)yS~N(z5lifr>eKKG$AEmBMo z!|2yKbuk1txc$(O&_*}Kj~YZ2Dw`?W;ye^Z<&@09`*)2Uux}q9`b02PYxEJ(mkqd& za-E0cYRHg)aOhj=$=O(1{fgREGg!dP!R#WeR}CQJ00y>32IdAAW~b37{^3NP00#y2 z3=azG=I>@djqlMrn47IUlC~UXy>(3ExteoC-hr}+T|mI5{*F~_1eK=?L|2d|b0nTp0Rk{RK9bubc8H-L`Nyc6XZLO& z4n^8Q!ZpxDg$eQ-snw)VpdPi-TzJ425&2vKbSv5lLk~_G7MY z+!z*am*GY}6hlven1&)vQEx4hVO?HJe)8$%2`BxN>gjaofxWt}1Kg6{d4~p-AQt|B z{%2$A(K&|QG!rPtZO=3vt6X!w);#*IZn|%1S~$fbxv%2BM_W>YQ0$1bhPA)@v1(;3 zVVr(~g;JOKtr}1D<}@Y|?CjYx)ZHi2F zyx$Ml39tL#hj#GL*374hxI;t#aEI6h(EUk=y(<^73{=3qhsz9S@1Cl0f+ z=3Fu+g-U(oxXW=rTYLgvyzAlSMkJgo9z`P7$#8J|@j)vNc|sA4mh;Z^-V@o!&fr0! zaX$LGa4g=Wdm;1K9D;}3@R|=XqhW$OL<^)p)yue(@?+P^duC!emTUuO<(}wlh zSAh%X%9t=uyAf5N-P&@!RP%c%)Rsg72iOkGAn6FtL4xNuvs;uv&0kloGKstH=-`{f z2}yX&YSTN@w4r(r>3M@oqK0=y>jb}Lx{nxa4fx})8}rp$n`m3=w&x6>&0wZcia2S! zUF;&uis}$Yw66X9+3E@Goa9nPm{Ox7i@<6p<2%2XWTwMg*6nwrZhf^xr{6qyoYiwr zT83u$mEfprWb5u-TJ_}{O$XOjPc)Jc93qx6qSn@EwhxiP^eXc=%a7uFXOb{0W*@5; z`q8kB-TX4({_ehw;vxxs-GDY??8ihumBSSZN)Af^+i<&t|c zJt2??vq4I~p8lqkH%TG?(cbgcr$h+_Lo))dDoh<7G^`)7BoyWD>shJjw4sejsk%UO zE35ex*i-BETj7)45W>F?(&rUsuMo&6#Y;16Mbyw|UQ|KojecS)Hy009M9g-wyt_>M zjWR{kSXpd~o=j-fai}0=L@>%rynh2L431C6J=@d9!#Tz-7Rjs#-}ah`6G{h%de@>m zA_5uPK;e*jc2OzW9V`Wu{8!jYjz-Uy-o!ird-tn(&p-2TuSpRuRIFjA8wm{|4@KHg z7MA_?wRv9(!x|k@CTl7*;Tca(aD-V*RiZA1&xKki7&wJ z5pWWu0;t8+v=y1{ajFI#UOjNZ!hzRGi)9A zg@W*E^ol7#sm$EfonZhI*M;L@<2Y-!v6X2AB zU^TtWz()f`R7za6%XZ#BPB(O8ZcIKRXecOlpq*m;-aqs#Z44mWd1{EJX+0yR_ld-3 z7pHgFJzgdCtd;K=qxAIb?{Jtr+7ft^bFhY!-8WG=Y~T>jJvS}QGM-8QLu5`p*;KGF zhAhJ?BxkH=`dP8q6S56=)6ZPV1$Ujc^~aRznRM`Zx%9qyVY`5MhVJW_en6>Xf?_Di zDC;0e)GK3^*+37rfQ<-{trno%bcR8OjpVjsM^xm({VYz^lu@LWi+4={$}U3=0gXA? zN(Yv6#`5v4H(Dts4P%qi+xS7-?WLpxdoF#Eu(*5a>($PVx8vTG9CU{9cPS|_PP|5# z(x%Lw;-%HgUc#OM6Qb7UcZ3MOZA4lw>)?1!Lqz!SdKcz%`LrLJYM3;fdgKN(WYJv< zqHqs`0+eF!f?FLUn6Zw2tjr>uNAqeIMLlhg_LerLPmK%=Y=5=n)5wS4h!Lj4fr3(> zgMzws#r7xUK7@drSoNoP&Aq}W$N_5@9DBDTQ~a637T{x zT8HtE3S1tun-K=}4{|p`vkLW7N4tXi-89`ef6UF!?wTC_XfxhfJlfXZ`eAc;ytu_+ zDRZ*tHlp>ZJ9M}rpks}J*PPFCEatenoCmx#+^<#2Rx{>0Vzw${7k~0&w{4-hqJm*O zHg@!}>xhQdNcE8Gp!1kCubE{o!>S$8*pZFh;f&$ajpK>XT)x=exjFFQPE+q(cQeZP zC?!`35wC`(#n;`<(xtY!ie_@QXjvTl3Q@Pijm6d#*WsPi532{0v;E`MM>94~V1v@h zxop{o_BDL8JUr#qN2@+syq1>quE#|c2U^Nb*5%{ib?Ems)gLPd$1M0ps)ll$91|S2 zY*}MhSgTyXwUceb{lnv{yqYd!jnSdQ$BUIz4qmtd8_x)LQX1%oU2?m=0Xo~=I2&+`w!7v9o+I)4f=Sv@hTXOUAHDC zOJ(h!AMPBs^)e8x*=f$(A&kc#j2@1+&Fp+YM-I!DqSeG{XpQa}?s;k+ zElunVSB$U47aVpRJMJ8>PDOVwDD%XkDXRyMHsm!de4eo^wI5zOaf?~wU6^ZIiLLl} zk|f(o)ZZs-x@2j3I9I%rU1IzZ#|iJbw4j%*;xDE9ZRoOfCqJXyw2T+PD?Hz`=oQHvH_-LVOs(Wl>ehR$hl%8JI zU0OA@HDdLMVUyQo1nV*xONQ8mCbq3cd#X$y=z&x zIDhy)>-cCEjF-cCAd`JOz?Cyp)0>sNR;;tbNaM0`T&052{J3BvnCA-^?>*-+Dwh^k z_C8|=VGR+tv*bM-dmKxxakH9ZpEW`XHni)6IJ|C!96ZnW&7E0nE7pP{_Y!MHBad~8 zqDNNe`NrdFcn{~m51k~A!1v_&@a@r#3*Ze=mT}8i)(;sf5XSRv@^QbMy?s;$zlH0` zvTt0qJ&H?fir!D06FH0HS2#)|=Xl#>!61VuqJ-hGx5*9@_uY?{3=OzZEcvG2`)c#* z_Dt6sa4+B}V>xvn;H^=*aHnzjpWnt^FfbyF*aeV|5TrMb-z?(>npBYwl84_aqfT^s zkc;HD50a1H1mgsr!;@eizcuS-+o=7-=hPJcn>1|hx`ZV|c@ zIzaxGL5{Oal3<}9ay^1AgttQ(!QCh1?26>-Dm(=|Az1MG6Tl=!aJvt3T>zjtnZmf3 z@_zz!vUx@s?@9RgNQkYDBns0u< zq>_gAgcy%PE*3^p?f%*v_xJ=-#d6Y{OD&C@_1-$V1aB|RVqiw>{D!hpy{}y5Mdc__nyv{v)gz;HWc$z%=YJg61Zvti=j=cYe+Bjz1SSLmIaD(M{M!7;FBc zn;aR^q&;bg#X8+@Wg1)$h^oa|B+PMBSp_Mn6NT13dtoV-$4Yk~2qUHL4mq16P}d{8GwHYRKCQ0(Fj$*kB_dEOr8rTsi7z-m3}|gyJ6uY zYjJ}4I2GW!FnQQKPkFvzR-mDuX?`P%s_t2~;L=&ssZPFA)8&j^VD9Mw^}j4}N&jt< zOxDSolIwrY;fh)?BzHCkRgXw#$y(SSeiQ=ZPvX+vJM$wjq70kXTAJ?OIU54Q)rx`v zAb$zUZ%#HkUP^dvpnh%0viMIkkwtA%4OnAwBgF5FO!8bT$>06XWPL}TTL*!--y+8L zg`G4lYAgouCVmUHY29*)k{UD-sz`Jazh#u9h6e-!dzw-GMt-IMz6aC|P?wknEN^6$ zi@b<3F~bv7MS-ItR{ZT>#q}Mqyn;pvBY8o2ByvYt`uDF*k{<#70#w{OOD7RY4IpM| z5m6AT0Y{2;{r;r-UxmoT#Lu(|MDrVK2OZ8Vk|Qt3Eo#qQU^DW=s{^r}xsVu9CQn=N zXZA&uK|>&C*=N}aVtYw$kwKmY)ZK#zbk@nLx|cnMg+R_SX*_}a63dr7COu|E&TmAy z$Rl_=wz|4a$6 z5l$XSHciyCtP{8@w)BuA*PMhHlOiz+BJ z@{51)p7k_^er{k_QwUCSMgM9UBDXi8)AZJ8#6*a~J_%ovA zB}b^P675b7K+d*1`~L;eu#zM0=R~h{g6v> z1^LsC5CnL0wG>bxkn`Q~f#e8ML|O7_DFA-Q{#gpWB880vs*|V}4a6s+>?WDO(7tf1Q#iUN@q=>IvI4DLbg31`>QGRpCq8`MEYT2BaiAN;e`jm5oI{E*0QG_ zIGXr5UG=~zAAp>9WkNb@2Gz;9QxCR#Kzmm`*wgj{AZHzuM{RNrJ^O4o{dtdcWj9@| z0|Ah;6mlwRtOD?7DWoVlasRs*}*?3?IFSa6qTs;6G&;-oy{#D#Hl*0OXuuXu1tz)k*hLhHvzM z(5^C!rtJqn&KQRMpBW~s1p$yVh7pPyJplYE!;Es0+*kW0_X~0Wa>g*4ksm@G2N&goN*MR`Y8N;GQjmZH1j9~>y z?yLQt8(`?7hJ%g#L;?I6!zmFCN>>>M7`o{9MBhNc0RFUw8^q`~GOjWVFm&yL;UscG zI7x1W(>4&IHYtCVVGP<0#0!RnB)O3z98yjhCM|AEzRK`_k^qHh@xsQNs*^|;40}d6 zfM_>_P8q&y;zx0nVTybJa?UUk-3FQJq~9sSQavEqs|?F(`vH(MhHw7Q49C@i0LU4` z6h)1p0RD_&c}ec8jh@?`9DtnFu&j|EMIA`?jNzmR2ZgH)!$<;PIj-Dq)PtLxdK=teQn}i>6%`>SL8m}1 zk=dB{C6!z)l=}k{UB0P331#hmW zYkqSb8(TpxIhmiDodnO$9w*OkPdC^(m7ZwtamKrhjvXDWKN~y7JAWL1`iPy{5Uf1| zyv<&f{>Mk`Og|s7$CxWle!=!SL2lZEwe_iFOpW8b?=L~}ynJrt@b*1w7Jgb#^Tzl% zI_Qp5DVJ$lJC4^F4NXO8x^%rl$MI45qdnJ@3g>Y1jzbg1#l5Z-CMQ+%`1Zq-BOY+W z(%z5!R2UZ(=A>h!mnON4_@A|E|y{_oLRa%ij5Ge`SCHP z!QPLpMRLm#R>?+-!T}dImmhj>%^yny9QHaYS3XPwj~V`$*)@({!QNZ4>Er8lC@`zc zX8Y<|sJ8ln+ldxFRdbXweoLSIc7zPhlU~)L3ij5=0XrtqA{CF1KT_d2p1jK~EZsWJ z;HzZEb8R71nR&HGky$E9)N$yR$>3+V_eNr4T=^g(zH)V?qr)Y_WxS@`WuRimzX|Nt z_3R^U*Jc&x$9M~_98{UX)&~b=4w^XPyLO?uad81Q*DGR9TxYci#~8Yu9}%8(*(I!0 zbu+2Y_4bb$7B^>by9UJf?o~RB6V-zIEVF$k%bhb39GPr-Rh{g1dRO)$@}7s7A3wZ) zP<6=6kd~day4CQozxrT)$z^}BZs5c6O|9#@#U@%y^Go=L1Sle;c)Pg$kM$IT`}hMj z*HXltSM63zqaAy88FuD-9tT-hhq|wD5{Z7ZV_9D6t6u%q&vT$wv$E7%9ak_uz8Bk5 zeY3m#!{_pPYlUR*lW#R^gLU+3k;KmINsHVCOT)LDBzxE8YcpkXS z875LqNhsEo0DsjJW}Q=>BJG98W-48tc7GPE7TE@)IE%$fqW!FdgIfbV%k;}klB!0` z%7;=}dZH>#11rX(vY~CKLrXQZZ z>n-g&*>zdmvEAML?ezkQcPT*GbU*A~mr?jzt6Lj077V|k$xd6&up08GdRS)ORNT~8 z(yuaN6)di9ZQ8p}gysK&sy12OD*XOy)k$?m(ea%SMnA*?mg`DvN zrJ+%!AyBv-TX>03s*ckK&vbaC)GkA%H{g+5Qj}o|@%J<5C7Wuo6N{iJp`{UxNce9` zDvImFUXwt0*|p%^6_Q~4G0~Qc5@k3v;8PFroyciZ9|7ZUMB(r_5~)4&Qq%_u_pF4d z30_F>--LOG*xA^n1R8`&?DER6t;n<`ryjMS*7TF8t`a6wY@nwMr%!)_zk=s+JypTP z_AZu7=B+Z4aC(07KNh_ppyW8JH5-0(W32z!&kfzL@E-0ba`4C%7y$F{NUwoSC}jq zer1vjWGH371RI}%v;wm@Q<;6%3AN?SE#3y?!-`gD)M9ANm7lG z?b3m^_Mf>U0UKiyqKIOZB`j0k5cPOj8ut?wn*FD38_P|d7>UvL#w-RE54&*dEDRZz zdMaYb)a?|&)a+nd29g*xsPu@IOgJkOzZe^zdll<=%**wb_hc4|cRuydRjf;%;nNNV zy~YLki_ztv;I2_efT)P?D(K3jyhsoeA8ZJ(t4oV#e#`vs<(CGM;iLo@ zwc}YrsR}|SdC@hNLHvaOx znVtlln9co`w0PdP9}Qysk>058G?{efGRcIXBVl;?Qkn=crR%=#DIoGyq?J(Mk4R}` z6o)o`1DYc9@MyD;L%}_8BJrn?UF9YC2mCBK;8AU`NGofYxCv)U7y*FG>hBmx?jjtTnccDvR^5Z z83_vA`AOYr{F)~3!c9v{+=#(^%}#aChKZeh*@Mc%+xm+lh0ka_OhM@H&Ts#8{ugg> za>!x{VYdXRh&@cW7-h;m8dhad0OmRp@$KA@ugRY$j;28ji4GWWs}zIDQ|XkqTSP znD}*x71(qJvk!MNAn&eWkeiJ%}=0qk&__Jxnq_S!$F?riowToOOOdX3;;R z21A8%O#w16x|s33*G%kX+Z z^E?cGlag*$9=9dAD9l9THonFIzCovz%yYt-t~tt|j0c}HPW49g&Of80L;>(FeiKWK zVw`CCG6!-?a-+o)-Cmq*ckC_7z-f73N+BT(691+jWCYmg>8gaO?%Waq=kvoOMDmDQ zqs)cP$tF^+U>C)$WG4zC8qsN-hA09;+2yYpl5K-_RKOAm4f&TN>a8?+N zm>N)DX#BJK;-{MN|6YC3#M(c`T?>sW_5YpvV*DS~7vw}GZ2f?ag2B?2qXKMGSnhDL zF5MsBzPPn@ynHaZxV13lxn>b|dl-!BsQS?AGYi>*%)hfQr$=8nDC8j2+*~ zfx>Nj7wfGhORZy@@~YzxcpF>2>Dd+IMBZ_LfWdXIfg!$>4TsNd$Q+!PRaG|9;kpm= zNlQy}%*?WsX!Y^RCmtU8k>{Mz?RKGK)vnqbvnxw0miF^$2jJPo$YA>l^?AGN<9QeAi@jf~$H2FVs^gPp=RIjY zON+IUUa$u*iW|NO#~!~=J!hAeqm zcDJ;+#a;GRjVP};O#Wu$=1o{_qh(`9WBDj6Mf~Kg1YVr(IvF6qi!Fvl8JKo z+>CpV^;8JJG0MI1@s%eD%A$P6y+ns8%7?*f&$bI$-^UrIqK&!rWlaolu^tyZDL;9k z+{~vlm)$_k+g8{dkATLfaQd~2Z8+~_BE9)@Tf>WH_YOWY8Ck+(=4#xJqq5Ddhh5{V z!N+%o$V<5nI!fpAI*y;87|90K@UbrX%&gY&_0_(2*Mu#FcRk5>S_gmJXdpF;s|z+| z%o9-ci0^waex{#rG;;mMK3oNxTACO!=6#@JbU10A(ZAN9mwLF%``-N#Yz4dp$`P(} z4LslbU-0ke;tc^;=&-%SkTIWG9ix*?7u711;J^vtWDc__;AGcZ!Td9kC; zI6>z7$AdFs20LA!NW*(gql36ddjq0_rGD%#QsWFu;0*I}1L}+NQ}u<5F3MNj0TwIM z@57Vh@zvvQ9RXh!QC%J0FCQbVPV}mdVqAZM?VX;_xjVI#p1wYFD3=$s7TfvAQwEdM z&-~2~s2L;91*4BU-)xtXFH{Z|HH%xak-5&K1Qi(A?X))tDnew+FcJ$9V<~Mx!(>~~ zUjnzg0=Jj&7W&yfoC{ufM#QwLL*hmeArr=piZP7%{yvQe{DO%0PT-9tyo+g|E%YhJ zTWT#lz3yLcsI|~Xw-B1A6{J9pZDjrI{KAGb*_L$bK;+X--~}UyY)lcB(+kn>lG&I( z;OXex8Vr0@ABY$$JTH_OI&k+bnw*9H8w-84@s^_MU;2yhB59j}Qp+ND?MP{F+^h%@ zzvRmZji#`2Y+l~9UnTo50mi0EoaD4>waajUY2t!ZcfM>e(N|vc!KP)&ZT&C>B?-UP z(Cefrg%~JL;GQVf4ZipLDMC2*!;g_BkC7Jc@J_ui-JpZ~M3D+|k%lEHNZ7_}+`1DR zXsDl!+n(lK_)Aa09<9b6{Vong^2s~z2F&&}704w*DV!QM&s)wY$cZOS{17EZ8um%y z-7|fNjTLL46)Or4UPL=H%HcNO(QA{iLgTPP3<-HE@{h9guU@x{6qaEbjUaQM3o3di z2N5?*l6E7~P8XJZOCz<2GPR7MfJPcvnFIcU8FR3@drMC3^tn7D<0(zuoQl$Xmu;Fc zyVQgkW@dI6b}Hr`xht#EGB%+ou&@=C?{+k=E6$#dVd0KR$W>xJt7MKf#zj?RkAD2) zPO9(YRLpQ6$@4k>NrG`c$Ij0=!WEJZr|S`cH9>2*L+A2CpFJOYIPXp)aP8sOm&an= zZ__3iy$a>c@)gv6W8_FfK-3O!=7%y=bP`n5sX}|7y)e24eNV>d{}fd0mp8Tp z@7mu11o}|L1VTg}slrshIRBT6Qe?-2C@>@f6#ONqzPZ@wc-sD>qQaQ7`==@dc(VB) zwSPJMe;Fj;W%&P9Q2$MPzO7!!%ltnC5@+xKfmBL76=3|CO8>UKD}6yBpcgnVIaOUq z$z_CrMk#Pa#Ga5IGyPqF0ZEE8eL+{!?^_2%eeoB;#((W0TPxV)AN3cINc-YHW#CavcIc5{{LxzBKhE-)CG_&{!G2_+ZGS>!hcXB{IBgV?bg6c zkV}Qh^;h)*q%hCa5&yOSi@M|Q@d1z90$RDhix+?fJD*9udbJn)yY}&t%Vxl9G@xXx zqUr~MSM8Te?C;_TNQs?_FaB%)H}S|{F>4nw-vNN7(DgM|Q|9$%o zayy7p?)*OU%FV|=Xej{uTN&hpfS~Kr&B}l6e`-zs8lM?6kv53V;SXtqJRq$oZiKYf zGwH>pR{ZbU|4*$L&`|(WT$Wxy67EdeaXI1sYY#|M{vID2)=)!;EaERp3do**CKR~T z^Zs4?r+%@(UGdLvWxy98K-qCAfn+Z!HN=7So!Xx%LH=w1hmz%A#fRfmcv02RFqn)J z>Cr;`!55#TMwFprPCam>Bfyf|j-Na3Iljuqfp?sqqmY7Wh?=|!d9^Y<$~SuP`^{)o zJLK+MBKqi$giu4qlN%&KH#Px~t9Z|yE%x`im1M%Ck~zXA!kOXwD&@@68*kbz_$*lM zXD3%DSC$xXYRp_emi?Gn+*?DgS$_tuG!FKh-k1UotTq}%C5r-T7fF(ht zU>?5~=d|i0NOHZd)F;CpzEY4hg!nETQk_5McV|wj zZU2x%jyps5p^^~mG?tui=(x{$CQpjZ3PrtDq7Ev$opl4doP?6QzUD*2k?z?6-9Qw6u=NR zPen_KdFdJo+BMeNl3;UBeq7JjKqP=6s$C!pPYS`ugHf?RqMSy<7^DhSkTZE3!{a3D zds}>5P4{!kW>KQ(`!^wojpCWsezyX#;No^(up4A65UR4^D5SPz>KJ?F+seB(=g*jR zvMWBqe@VGH`lNfxE6KNN)e`og_?F$vXVN;eRC-H7r~*_`GGDull7#f(ANRVc&fL|j zS4#f&k`C_r?7NyML*$%;x^=#s>z|Eue;7or%oiM%)sCSu^OC#7RNgc4|GbWtkbCbs zNHRQ1FEMjPjX9R_jfq~a5o>8q1V>S*S~LM?EE%SO0eG!*fRa!7L2r+O~(l6BxYQiePx%&?=-4DlX|XQKTy?l7?*3>NcgO^ho<9mbR!|~ zZ5cHQcBaV1ZMbj zJ+7%tPeE+CRXvKkDGU_U@d7+Lp8|*AlHYz$X~)d+8PlLXFk@UEG?J{p=iOSQ*n`lr zwy$XTtXUVaCD~1_V@lix3g?(`-}jt>b{#@A0B?F zjwN%9=8m^V>tL@k^Cs-cW@ME~Iotb}@={8|A8Z`QTLe3C!z|R%o^x?el~V{r3p}Vi zveT)ZZL&VNq>B22EL|fD{K|J6aE=G$3=j1OmKL@K7PeYS&#ereYC;OMO{vwSff4-( zE7`OlJVj2zFZ2OXGi&EItdcQ7K+Bs>i>~RliV{4^Ix2>o2$)-gw&lSuZqGT=3QJ?Ir3h(0NX|#Z z;3icT3nUp!3x6e%*NZ%@&-^ij(*Z`7qZnV8)#ZhRIljRj__?GeGFEb-8piM&b;}^J zErxm$_a)u@5{x`{e*IuB!-ZBIOs^xadTZT^xk{YsD1DTp&uSUe*>%^djM-Cbqxf&X zht9ATX2S{mP|a2$=NG5k@ZM%_T2yRl552Exa9iEW0vzg$khGk(;k6&7;Tyc9ctCti z%a}3*4R-j1z(2%Qdk0L&k!+I#ih3w9qU(*~jJ6*c{2;RPjsW4!WWQzp-euc5$}gdan`Q6_UP`3j=+eP~G)nibf6I3`5e@$R}L(1HeFUKK_a@`%{cH8HUVyEA{Hy*pL( zvKLFExWYgWt!9S1!tIig@KhCtsUFF|hv@Z_i{OKdkuN-WdB`?=e|2R#s$!F+=*xV95dnZL1Jk1Ejl2-`70L9vE4g zB5?{);l5+bXz^NR5Hb_}@(5PIBh@zKz>WIJGBH;^0V}V<>tK5BX5^5h@34b)1$M7? zytvn{A>m*Dflf9t~ewy;lcn>wEEc#-YwBy!w0oXQ$=-?W`j8 z+ciC#0K;7X)3~Qi@YD=)D1fe|r748&pGOxJhyE-$C^zBds)&`8#4yV8Fu~lML+E-n zK3_Vdm9(6b>MXQ0Z(L_9dXS)zA!_#2kBYTM3V4%P<=5m?h()RQb8@hpG4s%5iG7P% zK0d|9x*=x8OE8|_jUO-9?Fb6d5f^A!j!#YbQ1@7Il6%NOvAokXs98=juQfYYe%9FW z^#lX#td#t`94XDd&4dIBNhp3Pt)Ccr(|7B@PGx2F$p9Kl9<}3U8VYFN0C{x!yRhX< zcWd0FsyPkqPohS3Z?JGCJfB0K^DaSsTbCXMwz+{uV4-zSfdV|06qkH$rp$sjhxC~V z`w?r)pcXgyBA};AO?BB4OJU#$3IiaTz#RkR_@SppIyMISincb!7EgZOH3X{E*$gqF zgRz3w0?jeHm|^wR3>{YzKW}#~7ylVl4M?kr04bIA``Z=%{MDLB6?8LQ9{uo$T zCWv|1N4vF{`}IC!SKk-r)}x)7!}MnEElMf6B9{EGvfsDndh4CO!gTE$jFGIy`Pa8% zb55)+qe{)2bcl;d|5B2m!v3Z!4hny$wgdD;+Y@czit=(q6rCI-!u%9 z^JQ-MxUu!5h%JBA!fm#pFQtfq@ZH*yEjpqBbQx*n_Z__`S>Jt?i`VV-=zOQ1EUT|C z$H`7U6tH=ikL|c#B|6-+R!TyH(N1O6KaAWG|;i@!Q!E`x|dZNY~`%(KTuBcHmG8@u)Ug#lDhtkhf)jOl?6GwM-bp3tG>dLG% zbqP$(3)-sV4z2q-8ci)^rMZIGrkE-p3w$X4=pChPZLR&@Tr9n|leZ z(X_yD6P}3XN={qoMt(;X>~Mc>?GHv&J;~;vd=lWyhFKA|Le7Q*ythbO5^XQ<9zPT` z6o5teEK>}dSamypB~CD1>;1NO`0jfvi%`C-!sx~2T+S7x-7bmx)>HxIh98A!HPb#M zMOvwQCcCh5lF%@iQ2%`58^8hZfpkU4=X_5+$DERO`2@IATgXqc3(U_=^G`uWFEHh-@D@?kdTXeg+a zE7)I0+x%L=sRNhw`oBhzBfh+XpQHR#?_VC}vb5{hD5lhZ9p$Ic>+&dRC-y!}QU{>TeBG2v@f1$7P_-C4Div3*q-^=Rq&C0Jy zJAa4$zCT{7vQrW-xAI@(9EhI=?s8-Q<-q9(mv`k~BUnpa5O{w3Bqs?6IVutg1pK3L O4GL-<_+1YusQ&}IOj;-a diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index e0d78fdb7f..a457a9c2e5 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -21,7 +21,7 @@ def beet_default(ctx: Context): # read trade data from this sheet, this creates the villager trades used # inside the furniture station tool_cmd = pd.read_excel(xls, category).iloc[0,0] - trade_data = pd.read_excel(xls, category, skiprows=2, usecols="A:E") + trade_data = pd.read_excel(xls, category, skiprows=2, usecols="A:F") # call generate_trade_data to build the commands new_trades_init,new_trades_list,new_trades_append = generate_trade_data(trade_data, tool_cmd, category) # append the trade data to the total list @@ -31,7 +31,7 @@ def beet_default(ctx: Context): # read furniture data from this sheet, and then create the placement function # and loot table for each furniture - furniture_data = pd.read_excel(xls, category, skiprows=2, usecols="E:R") + furniture_data = pd.read_excel(xls, category, skiprows=2, usecols="F:T") generate_furniture_data(ctx, furniture_data, category) @@ -70,7 +70,7 @@ def generate_trade_data(trade_data, tool_cmd, category): # iterate over the rows in the spreadsheet and add the trade data for each furniture to the storage new_trades_list = [] for row in trade_data.index: - new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + category + ".trades append value {cost:[{id:" + str(trade_data['craft_item_1_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b},{id:" + str(trade_data['craft_item_2_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b}],furniture_id:\"" + category + "/" + str(trade_data['technical_id'][row]) + "\"}") + new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + category + ".trades append value {cost:[{id:" + str(trade_data['craft_item_1_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b},{id:" + str(trade_data['craft_item_2_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b}],result:{furniture_id:\"" + category + "/" + str(trade_data['technical_id'][row]) + "\",Count:" + str(trade_data['craft_result_count'][row]) + "}}") new_trades_list = '\n'.join(new_trades_list) # add command to append the main furniture_station storage with the newly created new_trades @@ -114,6 +114,7 @@ def generate_furniture_data(ctx, furniture_data, category): "height": str(furniture_data['height'][row]), "table": str(int(furniture_data['table'][row])), "scale": str(furniture_data['scale'][row]), + "allow_diagonal_placement": str(int(furniture_data['diag'][row])), "custom_interaction": str(int(furniture_data['custom'][row])) } } From e7439b7ecc54a1586449bb146e3f77168bacd3c5 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Tue, 19 Dec 2023 20:01:14 +0100 Subject: [PATCH 14/34] fix furniture placing wrong when facing north --- .../templates/functions/furniture_place_template.mcfunction | 1 + 1 file changed, 1 insertion(+) diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction index 3321365adb..24594fda7b 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction @@ -20,6 +20,7 @@ scoreboard players set $diagonal_placement_allowed gm4_furniture_data {{ allow_d # check for diagonal placement execute if score $diagonal_placement_allowed gm4_furniture_data matches 1 if block ~ ~ ~ player_head run function gm4_furniture:place/check_diagonal_placement # store rotation in storage if a non-standard rotation was used +execute if score $rotation gm4_furniture_data matches 1 run data modify storage gm4_furniture:data Rotation set value [0.0f,0.0f] execute if score $rotation gm4_furniture_data matches 2 run data modify storage gm4_furniture:data Rotation set value [90F,0F] execute if score $rotation gm4_furniture_data matches 3 run data modify storage gm4_furniture:data Rotation set value [180F,0F] execute if score $rotation gm4_furniture_data matches 4 run data modify storage gm4_furniture:data Rotation set value [-90F,0F] From 262b342c201b71ad8ceaa63c4a9f5568013e65fd Mon Sep 17 00:00:00 2001 From: Thanathor Date: Sun, 21 Jan 2024 21:29:03 +0100 Subject: [PATCH 15/34] final update for PS --- gm4_furniture/beet.yaml | 4 ++-- .../functions/check_recipes.mcfunction | 2 +- .../stone_set/statues_allay.mcfunction | 7 +++++++ .../stone_set/statues_axolotl.mcfunction | 7 +++++++ .../statues_bee.mcfunction} | 4 ++-- .../stone_set/statues_frog.mcfunction | 7 +++++++ .../stone_set/statues_pufferfish.mcfunction | 7 +++++++ .../furniture/furniture_station.mcfunction | 6 +++--- .../build_trades/build_trade.mcfunction | 7 +++++-- ...ue_sound.json => animal_statue_sound.json} | 0 .../furniture_place_template.mcfunction | 4 ++-- gm4_furniture/furniture_data.xlsx | Bin 34613 -> 25924 bytes gm4_furniture/generate.py | 2 +- 13 files changed, 44 insertions(+), 13 deletions(-) create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_allay.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_axolotl.mcfunction rename gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/{stone_frog_statue.mcfunction => stone_set/statues_bee.mcfunction} (50%) create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_frog.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_pufferfish.mcfunction rename gm4_furniture/data/gm4_furniture/predicates/chance/{frog_statue_sound.json => animal_statue_sound.json} (100%) diff --git a/gm4_furniture/beet.yaml b/gm4_furniture/beet.yaml index bcefa57325..1841267c1a 100644 --- a/gm4_furniture/beet.yaml +++ b/gm4_furniture/beet.yaml @@ -28,5 +28,5 @@ meta: credits: Creator: - Thanathor - Textures: - - kyrkis + Textures by: + - Kyrius diff --git a/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction b/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction index b36ef0452b..8189b9066e 100644 --- a/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/check_recipes.mcfunction @@ -2,4 +2,4 @@ # run from #gm4_custom_crafters:check_recipes execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 5 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:string"},{Slot:1b,id:"minecraft:string"},{Slot:2b,id:"minecraft:string"},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:7b,id:"minecraft:stick"}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/paintbrush -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 8 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:oak_planks"},{Slot:1b,id:"minecraft:crafting_table"},{Slot:2b,id:"minecraft:oak_planks"},{Slot:3b,id:"minecraft:oak_planks"},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:5b,id:"minecraft:oak_planks"},{Slot:6b,id:"minecraft:oak_planks"},{Slot:8b,id:"minecraft:oak_planks"}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/furniture_station +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 8 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,item_tags:{minecraft:{planks:1b}}},{Slot:1b,id:"minecraft:crafting_table"},{Slot:2b,item_tags:{minecraft:{planks:1b}}},{Slot:3b,item_tags:{minecraft:{planks:1b}}},{Slot:4b,id:"minecraft:iron_ingot"},{Slot:5b,item_tags:{minecraft:{planks:1b}}},{Slot:6b,item_tags:{minecraft:{planks:1b}}},{Slot:8b,item_tags:{minecraft:{planks:1b}}}]} run loot replace block ~ ~ ~ container.0 loot gm4_furniture:crafting/furniture_station diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_allay.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_allay.mcfunction new file mode 100644 index 0000000000..504cf2eae2 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_allay.mcfunction @@ -0,0 +1,7 @@ +# 2% chance to play an animal sound +# @s = furniture's interacted interaction entity +# at @s +# run from interact/custom/resolve_function + +execute if predicate gm4_furniture:chance/animal_statue_sound run playsound entity.allay.ambient_without_item block @a[distance=..16] ~ ~ ~ 1 0.95 +scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_axolotl.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_axolotl.mcfunction new file mode 100644 index 0000000000..e72098445a --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_axolotl.mcfunction @@ -0,0 +1,7 @@ +# 2% chance to play an animal sound +# @s = furniture's interacted interaction entity +# at @s +# run from interact/custom/resolve_function + +execute if predicate gm4_furniture:chance/animal_statue_sound run playsound entity.axolotl.idle_water block @a[distance=..16] ~ ~ ~ 1 0.95 +scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_frog_statue.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_bee.mcfunction similarity index 50% rename from gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_frog_statue.mcfunction rename to gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_bee.mcfunction index ff538a11c5..58f945547e 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_frog_statue.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_bee.mcfunction @@ -1,7 +1,7 @@ -# 2% chance to play a frog sound +# 2% chance to play an animal sound # @s = furniture's interacted interaction entity # at @s # run from interact/custom/resolve_function -execute if predicate gm4_furniture:chance/frog_statue_sound run playsound entity.frog.ambient block @a[distance=..16] ~ ~ ~ 1 0.95 +execute if predicate gm4_furniture:chance/animal_statue_sound run playsound entity.bee.loop block @a[distance=..16] ~ ~ ~ 1 0.95 scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_frog.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_frog.mcfunction new file mode 100644 index 0000000000..89b0942fdb --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_frog.mcfunction @@ -0,0 +1,7 @@ +# 2% chance to play an animal sound +# @s = furniture's interacted interaction entity +# at @s +# run from interact/custom/resolve_function + +execute if predicate gm4_furniture:chance/animal_statue_sound run playsound entity.frog.ambient block @a[distance=..16] ~ ~ ~ 1 0.95 +scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_pufferfish.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_pufferfish.mcfunction new file mode 100644 index 0000000000..090e1247ea --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/custom/furniture/stone_set/statues_pufferfish.mcfunction @@ -0,0 +1,7 @@ +# 2% chance to play an animal sound +# @s = furniture's interacted interaction entity +# at @s +# run from interact/custom/resolve_function + +execute if predicate gm4_furniture:chance/animal_statue_sound run playsound entity.puffer_fish.ambient block @a[distance=..16] ~ ~ ~ 1 0.95 +scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction index ca9e7dc534..afa5669cf2 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction @@ -17,9 +17,9 @@ execute if score $valid_placement gm4_furniture_data matches 0 run return 0 # spawn the furniture_station summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station"',item:{id:"leather_horse_armor",Count:1,tag:{data:{furniture_id:"furniture_station"},CustomModelData:3420150}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1f,1f,1f]}} -summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1.0002f,width:1.0002f,response:1b} -summon interaction ^0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.next","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} -summon interaction ^-0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.prev","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.furniture_station"',height:1f,width:0.5f,response:1b} +summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],height:1.0002f,width:1.0002f,response:1b} +summon interaction ^0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.next","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],height:1f,width:0.5f,response:1b} +summon interaction ^-0.25 ^-0.5 ^0.26 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.swap_tool","gm4_furniture.prev","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],height:1f,width:0.5f,response:1b} summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.6f,0f],scale:[1f,1f,1f]}} summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_next","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0.28125f,-0.45312f,0.5f],scale:[1f,1f,1f]}} summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.furniture_station","gm4_furniture.tool","gm4_furniture.tool_prev","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.furniture_station_tool"',item:{id:"command_block",Count:1,tag:{CustomModelData:3420201}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[-0.28125f,-0.45312f,0.5f],scale:[1f,1f,1f]}} diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction index 7d9a5d688d..624c73a139 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction @@ -7,8 +7,11 @@ data modify storage gm4_furniture:temp new_trade set value {rewardExp:0b,maxUses:2147483647,uses:0,xp:0,buy:{id:"minecraft:barrier",Count:1b},buyB:{id:"minecraft:barrier",Count:1b},sell:{id:"minecraft:barrier",Count:1b}} data modify storage gm4_furniture:temp new_trade.buy.id set from storage gm4_furniture:temp trade_data[0].cost[0].id data modify storage gm4_furniture:temp new_trade.buy.Count set from storage gm4_furniture:temp trade_data[0].cost[0].Count -data modify storage gm4_furniture:temp new_trade.buyB.id set from storage gm4_furniture:temp trade_data[0].cost[1].id -data modify storage gm4_furniture:temp new_trade.buyB.Count set from storage gm4_furniture:temp trade_data[0].cost[1].Count + +execute store result score $second_trade_count gm4_furniture_data run data get storage gm4_furniture:temp trade_data[0].cost[1].Count +execute unless score $second_trade_count gm4_furniture_data matches 1.. run data remove storage gm4_furniture:temp new_trade.buyB +execute if score $second_trade_count gm4_furniture_data matches 1.. run data modify storage gm4_furniture:temp new_trade.buyB.id set from storage gm4_furniture:temp trade_data[0].cost[1].id +execute if score $second_trade_count gm4_furniture_data matches 1.. run data modify storage gm4_furniture:temp new_trade.buyB.Count set from storage gm4_furniture:temp trade_data[0].cost[1].Count function gm4_furniture:technical/furniture_station/build_trades/resolve_trade with storage gm4_furniture:temp trade_data[0].result data modify storage gm4_furniture:temp new_trade.sell set from block 29999998 1 7134 Items[{Slot:0b}] diff --git a/gm4_furniture/data/gm4_furniture/predicates/chance/frog_statue_sound.json b/gm4_furniture/data/gm4_furniture/predicates/chance/animal_statue_sound.json similarity index 100% rename from gm4_furniture/data/gm4_furniture/predicates/chance/frog_statue_sound.json rename to gm4_furniture/data/gm4_furniture/predicates/chance/animal_statue_sound.json diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction index 24594fda7b..38271a715e 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction @@ -50,7 +50,7 @@ execute if score $valid_placement gm4_furniture_data matches 0 run return 0 # spawn the furniture execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ category }}.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{furniture_id:"{{ category }}/{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} -summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ category }}.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} +summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],height:1.0002f,width:1.0002f,response:1b} setblock ~ ~ ~ {{ block_id }} # add placement tags @@ -58,7 +58,7 @@ execute if score $wall_only gm4_furniture_data matches 1 run tag @e[type=interac execute if score $ceiling_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.on_ceiling # spawn extensions if they exist -execute at @e[type=marker,tag=gm4_furniture.marked_block] run summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture.{{ category }}.{{ technical_id }}"',height:1.0002f,width:1.0002f,response:1b} +execute at @e[type=marker,tag=gm4_furniture.marked_block] run summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],height:1.0002f,width:1.0002f,response:1b} execute at @e[type=marker,tag=gm4_furniture.marked_block] run setblock ~ ~ ~ {{ block_id }} # add custom interaction tags diff --git a/gm4_furniture/furniture_data.xlsx b/gm4_furniture/furniture_data.xlsx index e19701ec0d1931505e0d0b9928aa72ccea5c9c20..e3d90b2e03b63dcdb57a396df4351ef34609a196 100644 GIT binary patch delta 9189 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 W07DO>z#@C-)ygPva2tld0sbH03vo06 delta 15944 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 diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index a457a9c2e5..dc6777f7e2 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -70,7 +70,7 @@ def generate_trade_data(trade_data, tool_cmd, category): # iterate over the rows in the spreadsheet and add the trade data for each furniture to the storage new_trades_list = [] for row in trade_data.index: - new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + category + ".trades append value {cost:[{id:" + str(trade_data['craft_item_1_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b},{id:" + str(trade_data['craft_item_2_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b}],result:{furniture_id:\"" + category + "/" + str(trade_data['technical_id'][row]) + "\",Count:" + str(trade_data['craft_result_count'][row]) + "}}") + new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + category + ".trades append value {cost:[{id:" + str(trade_data['craft_item_1_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b},{id:" + str(trade_data['craft_item_2_id'][row]) + ",Count:" + str(trade_data['craft_item_2_count'][row]) + "b}],result:{furniture_id:\"" + category + "/" + str(trade_data['technical_id'][row]) + "\",Count:" + str(trade_data['craft_result_count'][row]) + "}}") new_trades_list = '\n'.join(new_trades_list) # add command to append the main furniture_station storage with the newly created new_trades From 4e40f036cd854168a299ca9c246403d2f34b78a0 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Mon, 22 Jan 2024 02:02:21 +0100 Subject: [PATCH 16/34] pandas have gone extinct --- .../advancements/crafted_furniture.json | 33 ++- gm4_furniture/furniture_data.xlsx | Bin 25924 -> 0 bytes gm4_furniture/generate.py | 193 ++++++++++++++---- .../raw_data/furniture_set/cloth_set.csv | 3 + .../raw_data/furniture_set/stone_set.csv | 6 + .../raw_data/furniture_set/wood_set.csv | 13 ++ gm4_furniture/raw_data/tool_cmds.csv | 4 + 7 files changed, 195 insertions(+), 57 deletions(-) delete mode 100644 gm4_furniture/furniture_data.xlsx create mode 100644 gm4_furniture/raw_data/furniture_set/cloth_set.csv create mode 100644 gm4_furniture/raw_data/furniture_set/stone_set.csv create mode 100644 gm4_furniture/raw_data/furniture_set/wood_set.csv create mode 100644 gm4_furniture/raw_data/tool_cmds.csv diff --git a/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json b/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json index 4e1d603d36..3845bae151 100644 --- a/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json +++ b/gm4_furniture/data/gm4_furniture/advancements/crafted_furniture.json @@ -1,22 +1,21 @@ { - "criteria": { - "requirement": { - "trigger": "minecraft:villager_trade", - "conditions": { - "villager": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_furniture.furniture_station\"]}" - } + "criteria": { + "requirement": { + "trigger": "minecraft:villager_trade", + "conditions": { + "villager": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_furniture.furniture_station\"]}" } - ] - } + } + ] } - }, - "rewards": { - "function": "gm4_furniture:interact/furniture_station/craft_furniture" } + }, + "rewards": { + "function": "gm4_furniture:interact/furniture_station/craft_furniture" } - \ No newline at end of file +} diff --git a/gm4_furniture/furniture_data.xlsx b/gm4_furniture/furniture_data.xlsx deleted file mode 100644 index e3d90b2e03b63dcdb57a396df4351ef34609a196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25924 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 None: + """ + Initialize a new CSVRow object using the supplied column names and data. CSVRow objects are read-only by design. + If no data and no column names are supplied the resulting CSVRow object will evaluate to false in boolean expressions. + + Access data within this CSVRow via the `get(key, default)` method or using `[]`. + """ + if not column_names: + column_names = [] + if not data: + data = [] + + if len(column_names) != len(data): + raise ValueError( + f"Could not build CSVRow from supplied column names and data; Number of supplied column names ({len(column_names)}) does not match number of supplied data entries ({len(data)}).") + + self._data = {column_names[column_index]: value for column_index, value in enumerate(data)} + + def __bool__(self): + """ + Allow for the use of CSVRow instances in if statements; If the CSVRow has no keys it is equivalent to `False`. + """ + return len(self._data.keys()) != 0 + + def __getitem__(self, key: str): + try: + return self._data[key] + except KeyError as ke: + raise ValueError( + f"Failed to select column named '{ke.args[0]}' from CSVRow with columns {[key for key in self._data]}.") + + def __repr__(self) -> str: + return str(self._data) + + def get(self, key: str, default: str | Any) -> str: + """ + Returns the value corrosponding to the key if it exists and is not the empty string. + Else returns the provided default. The provided default is cast to a string internally. + """ + value = self._data.get(key, str(default)) + if value: + return value + else: + return str(default) + + +class CSV(): + """ + List-of-Rows representation of a .csv file which can be iteraded over using for ... in. + Optimized for row-first access, i.e. select a row, then a column. + Also provides a `find_row` function for column-first, i.e. select a column, then a row, access. + However, the latter is is more expensive. + + All access methods return CSVRow objects which are dynamically created upon calling an access method. + """ + + def __init__(self, column_names: List[str], rows: List[List[str]]) -> None: + """ + Initialize a new CSV from a list of column names (headers) and a list of rows. + The latter contain actual data, whilst the former only holds names of columns. + """ + self._column_names = column_names + self._rows = rows + + def __iter__(self): + self.__current = 0 + self.__last = len(self._rows) + return self + + def __next__(self) -> CSVRow: + current = self.__current + self.__current += 1 + if current < self.__last: + return CSVRow(self._column_names, self._rows[current]) + raise StopIteration() + + def __getitem__(self, row_index: int): + return CSVRow(self._column_names, self._rows[row_index]) + + def __repr__(self): + return str([CSVRow(self._column_names, data) for data in self._rows]) + + def find_row(self, value: str, by_column: str | int = 0) -> CSVRow: + """ + Finds and returns the first row in this CSV which has `value` in column `by_column`. `by_column` can either be a str, in which case it is treated + as a column name and the header line is searched for a matching string, or an int n, in which case the nth column is selected. + `by_column` defaults to `0`. + Returns an empty `CSVRow` if no match was found. + """ + if isinstance(by_column, str): + by_column = self._column_names.index(by_column) + + for row in self._rows: + if row[by_column] == value: + return CSVRow(self._column_names, row) + return CSVRow() + +def read_csv(path: Path) -> CSV: + """ + Reads in a csv file and returns a list of rows. Each row consists of a dictionary which contains labeled values. + """ + with open(path, mode='r') as file: + csv_file = csv.reader(file) + header = next(csv_file) + + return CSV(column_names=header, rows=[[str(cell) for cell in row] for row in csv_file]) def beet_default(ctx: Context): @@ -7,23 +121,23 @@ def beet_default(ctx: Context): trades_list = [] trades_append = [] - # read in the furniture data - xls = pd.ExcelFile(r'gm4_furniture/furniture_data.xlsx') + furniture_sets = {} - # loop through the different sheets, each sheet hold a different 'category' - # of furniture which need to be sorted in the furniture_station storage - for category in xls.sheet_names: + for path in sorted(Path('gm4_furniture/raw_data/furniture_set').glob('*.csv')): + furniture_sets[path.stem] = read_csv(path) + + tool_cmds = read_csv(Path('gm4_furniture/raw_data/tool_cmds.csv')) - # skip the sheet if it is the template (TODO: remove the template sheet) - if category == 'template_sheet': - continue + # loop through the different sheets, each sheet hold a different 'set_name' + # of furniture which need to be sorted in the furniture_station storage + for set_name,furniture_set in furniture_sets.items(): # read trade data from this sheet, this creates the villager trades used # inside the furniture station - tool_cmd = pd.read_excel(xls, category).iloc[0,0] - trade_data = pd.read_excel(xls, category, skiprows=2, usecols="A:F") + tool_cmd = tool_cmds.find_row(set_name , 0)['tool_cmd'] + # call generate_trade_data to build the commands - new_trades_init,new_trades_list,new_trades_append = generate_trade_data(trade_data, tool_cmd, category) + new_trades_init,new_trades_list,new_trades_append = generate_trade_data(furniture_set, tool_cmd, set_name) # append the trade data to the total list trades_init.append(new_trades_init) trades_list.append(new_trades_list) @@ -31,8 +145,7 @@ def beet_default(ctx: Context): # read furniture data from this sheet, and then create the placement function # and loot table for each furniture - furniture_data = pd.read_excel(xls, category, skiprows=2, usecols="F:T") - generate_furniture_data(ctx, furniture_data, category) + generate_furniture_data(ctx, furniture_set, set_name) # build the trade data commands @@ -62,36 +175,36 @@ def beet_default(ctx: Context): -def generate_trade_data(trade_data, tool_cmd, category): +def generate_trade_data(furniture_set, tool_cmd, set_name): - # create a command to make an empty storage called new_trades that holds the category name and tool cmd - new_trades_init = "data modify storage gm4_furniture:temp new_trades." + category + " set value {cmd:" + tool_cmd + ",trades:[]}" + # create a command to make an empty storage called new_trades that holds the set_name name and tool cmd + new_trades_init = "data modify storage gm4_furniture:temp new_trades." + set_name + " set value {cmd:" + tool_cmd + ",trades:[]}" # iterate over the rows in the spreadsheet and add the trade data for each furniture to the storage new_trades_list = [] - for row in trade_data.index: - new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + category + ".trades append value {cost:[{id:" + str(trade_data['craft_item_1_id'][row]) + ",Count:" + str(trade_data['craft_item_1_count'][row]) + "b},{id:" + str(trade_data['craft_item_2_id'][row]) + ",Count:" + str(trade_data['craft_item_2_count'][row]) + "b}],result:{furniture_id:\"" + category + "/" + str(trade_data['technical_id'][row]) + "\",Count:" + str(trade_data['craft_result_count'][row]) + "}}") + for row in furniture_set: + new_trades_list.append("data modify storage gm4_furniture:temp new_trades." + set_name + ".trades append value {cost:[{id:" + row['craft_item_1_id'] + ",Count:" + row['craft_item_1_count'] + "b},{id:" + row['craft_item_2_id'] + ",Count:" + row['craft_item_2_count'] + "b}],result:{furniture_id:\"" + set_name + "/" + row['technical_id'] + "\",Count:" + row['craft_result_count'] + "}}") new_trades_list = '\n'.join(new_trades_list) # add command to append the main furniture_station storage with the newly created new_trades - new_trades_append = "data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades." + category + new_trades_append = "data modify storage gm4_furniture:data furniture_station append from storage gm4_furniture:temp new_trades." + set_name # return the created commands return(new_trades_init,new_trades_list,new_trades_append) -def generate_furniture_data(ctx, furniture_data, category): +def generate_furniture_data(ctx, furniture_set, set_name): # create furniture loot tables and placement functions for every furniture in this category - for row in furniture_data.index: + for row in furniture_set: # build placement function and loot table for furniture piece subproject_config = { "data_pack": { "load": [ { - f"data/gm4_furniture/loot_tables/furniture/{category}/{furniture_data['technical_id'][row]}.json": "data/gm4_furniture/templates/loot_tables/furniture_item_template.json", - f"data/gm4_furniture/functions/place/furniture/{category}/{furniture_data['technical_id'][row]}.mcfunction": "data/gm4_furniture/templates/functions/furniture_place_template.mcfunction", + f"data/gm4_furniture/loot_tables/furniture/{set_name}/{row['technical_id']}.json": "data/gm4_furniture/templates/loot_tables/furniture_item_template.json", + f"data/gm4_furniture/functions/place/furniture/{set_name}/{row['technical_id']}.mcfunction": "data/gm4_furniture/templates/functions/furniture_place_template.mcfunction", } ], "render": { @@ -100,22 +213,22 @@ def generate_furniture_data(ctx, furniture_data, category): } }, "meta": { - "category": category, - "technical_id": furniture_data['technical_id'][row], - "display_name": furniture_data['display_name'][row], - "cmd": str(furniture_data['cmd'][row]), - "block_id": furniture_data['block_id'][row], - "sittable": str(furniture_data['sittable'][row]), - "wall_only": str(int(furniture_data['wall_only'][row])), - "ceiling_only": str(int(furniture_data['ceiling_only'][row])), - "dyable": str(int(furniture_data['dyable'][row])), - "length": str(furniture_data['length'][row]), - "depth": str(furniture_data['depth'][row]), - "height": str(furniture_data['height'][row]), - "table": str(int(furniture_data['table'][row])), - "scale": str(furniture_data['scale'][row]), - "allow_diagonal_placement": str(int(furniture_data['diag'][row])), - "custom_interaction": str(int(furniture_data['custom'][row])) + "category": set_name, + "technical_id": row['technical_id'], + "display_name": row['display_name'], + "cmd": row['cmd'], + "block_id": row['block_id'], + "sittable": row['sittable'], + "wall_only": str(int(row['wall_only'] == 'TRUE')), + "ceiling_only": str(int(row['ceiling_only'] == 'TRUE')), + "dyable": str(int(row['dyable'] == 'TRUE')), + "length": row['length'], + "depth": row['depth'], + "height": row['height'], + "table": str(int(row['table'] == 'TRUE')), + "scale": row['scale'], + "allow_diagonal_placement": str(int(row['diag'] == 'TRUE')), + "custom_interaction": str(int(row['custom'] == 'TRUE')) } } diff --git a/gm4_furniture/raw_data/furniture_set/cloth_set.csv b/gm4_furniture/raw_data/furniture_set/cloth_set.csv new file mode 100644 index 0000000000..fd3dd4cb0a --- /dev/null +++ b/gm4_furniture/raw_data/furniture_set/cloth_set.csv @@ -0,0 +1,3 @@ +craft_item_1_id,craft_item_1_count,craft_item_2_id,craft_item_2_count,craft_result_count,technical_id,display_name,cmd,block_id,length,depth,height,sittable,dyable,wall_only,ceiling_only,table,scale,diag,custom +candle,1,paper,4,1,paper_lantern_1,Paper Lantern,3420280,light[level=15],1,1,1,0,TRUE,FALSE,TRUE,FALSE,1,FALSE,FALSE +stick,1,white_wool,6,1,horizontal_flag_1,Long Flag,3420281,light[level=0],1,1,1,0,TRUE,FALSE,FALSE,FALSE,1,TRUE,FALSE diff --git a/gm4_furniture/raw_data/furniture_set/stone_set.csv b/gm4_furniture/raw_data/furniture_set/stone_set.csv new file mode 100644 index 0000000000..3bfad787fd --- /dev/null +++ b/gm4_furniture/raw_data/furniture_set/stone_set.csv @@ -0,0 +1,6 @@ +craft_item_1_id,craft_item_1_count,craft_item_2_id,craft_item_2_count,craft_result_count,technical_id,display_name,cmd,block_id,length,depth,height,sittable,dyable,wall_only,ceiling_only,table,scale,diag,custom +stone_bricks,8,tadpole_bucket,1,1,statues_frog,Stone Frog Statue,3420230,barrier,1,1,1,0,FALSE,FALSE,FALSE,FALSE,1,FALSE,TRUE +stone_bricks,8,bee_nest,1,1,statues_bee,Stone Bee Statue,3420231,barrier,1,1,1,0,FALSE,FALSE,FALSE,FALSE,1,FALSE,TRUE +stone_bricks,8,pufferfish_bucket,1,1,statues_pufferfish,Stone Pufferfish Statue,3420232,barrier,1,1,1,0,FALSE,FALSE,FALSE,FALSE,1,FALSE,TRUE +stone_bricks,8,axolotl_bucket,1,1,statues_axolotl,Stone Axolotl Statue,3420233,barrier,1,1,1,0,FALSE,FALSE,FALSE,FALSE,1,FALSE,TRUE +stone_bricks,8,jukebox,1,1,statues_allay,Stone Allay Statue,3420234,barrier,1,1,1,0,FALSE,FALSE,FALSE,FALSE,1,FALSE,TRUE diff --git a/gm4_furniture/raw_data/furniture_set/wood_set.csv b/gm4_furniture/raw_data/furniture_set/wood_set.csv new file mode 100644 index 0000000000..9483744d28 --- /dev/null +++ b/gm4_furniture/raw_data/furniture_set/wood_set.csv @@ -0,0 +1,13 @@ +craft_item_1_id,craft_item_1_count,craft_item_2_id,craft_item_2_count,craft_result_count,technical_id,display_name,cmd,block_id,length,depth,height,sittable,dyable,wall_only,ceiling_only,table,scale,diag,custom +oak_planks,4,air,0,1,plain_1x1_table_1,Small Oak Table,3420200,barrier,1,1,1,0,FALSE,FALSE,FALSE,TRUE,1,FALSE,FALSE +oak_planks,16,air,0,1,plain_2x2_table_1,Large Oak Table,3420201,barrier,2,2,1,0,FALSE,FALSE,FALSE,TRUE,1,FALSE,FALSE +oak_planks,12,air,0,1,plain_bench_1,Oak Bench,3420202,barrier,3,1,1,50,FALSE,FALSE,FALSE,FALSE,1,FALSE,FALSE +oak_planks,4,air,0,1,plain_chair_1,Oak Chair,3420203,barrier,1,1,1,50,FALSE,FALSE,FALSE,FALSE,1,FALSE,FALSE +oak_planks,4,air,0,1,plain_stool_1,Oak Stool,3420204,barrier,1,1,1,50,FALSE,FALSE,FALSE,FALSE,1,FALSE,FALSE +oak_planks,1,candle,1,1,plain_light_1,Oak Candle Holder,3420205,light[level=15],1,1,1,0,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE +dark_oak_planks,4,white_wool,1,1,fancy_1x1_table_1,Small Dark Oak Table,3420210,barrier,1,1,1,0,TRUE,FALSE,FALSE,TRUE,1,FALSE,FALSE +dark_oak_planks,16,white_wool,4,1,fancy_2x2_table_1,Large Dark Oak Table,3420211,barrier,2,2,1,0,TRUE,FALSE,FALSE,TRUE,1,FALSE,FALSE +dark_oak_planks,12,white_wool,3,1,fancy_bench_1,Dark Oak Bench,3420212,barrier,3,1,1,50,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE +dark_oak_planks,4,white_wool,1,1,fancy_chair_1,Dark Oak Chair,3420213,barrier,1,1,1,50,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE +dark_oak_planks,4,white_wool,1,1,fancy_stool_1,Dark Oak Stool,3420214,barrier,1,1,1,50,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE +dark_oak_planks,1,candle,1,1,fancy_light_1,Dark Oak Lamp Shade,3420215,light[level=12],1,1,1,0,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE diff --git a/gm4_furniture/raw_data/tool_cmds.csv b/gm4_furniture/raw_data/tool_cmds.csv new file mode 100644 index 0000000000..fef01aa877 --- /dev/null +++ b/gm4_furniture/raw_data/tool_cmds.csv @@ -0,0 +1,4 @@ +set_name,tool_cmd +wood_set,3420200 +stone_set,3420201 +cloth_set,3420204 From b32825b43270fde168f7d450060264bb649a8e4c Mon Sep 17 00:00:00 2001 From: Thanathor Date: Mon, 22 Jan 2024 22:09:19 +0100 Subject: [PATCH 17/34] add metal set --- gm4_furniture/raw_data/furniture_set/metal_set.csv | 4 ++++ gm4_furniture/raw_data/tool_cmds.csv | 1 + 2 files changed, 5 insertions(+) create mode 100644 gm4_furniture/raw_data/furniture_set/metal_set.csv diff --git a/gm4_furniture/raw_data/furniture_set/metal_set.csv b/gm4_furniture/raw_data/furniture_set/metal_set.csv new file mode 100644 index 0000000000..afdfbb50b3 --- /dev/null +++ b/gm4_furniture/raw_data/furniture_set/metal_set.csv @@ -0,0 +1,4 @@ +craft_item_1_id,craft_item_1_count,craft_item_2_id,craft_item_2_count,craft_result_count,technical_id,display_name,cmd,block_id,length,depth,height,sittable,dyable,wall_only,ceiling_only,table,scale,diag,custom +gold_ingot,3,candle,3,1,iron_3_candle_holder_1,Iron Candelabra,3420240,light[level=13],1,1,1,0,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE +gold_ingot,3,candle,3,1,gold_3_candle_holder_1,Golden Candelabra,3420250,light[level=13],1,1,1,0,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE +gold_ingot,8,air,0,1,gold_skull_1,Golden Skull,3420251,light[level=0],1,1,1,0,FALSE,FALSE,FALSE,FALSE,1,TRUE,FALSE diff --git a/gm4_furniture/raw_data/tool_cmds.csv b/gm4_furniture/raw_data/tool_cmds.csv index fef01aa877..df79aef436 100644 --- a/gm4_furniture/raw_data/tool_cmds.csv +++ b/gm4_furniture/raw_data/tool_cmds.csv @@ -2,3 +2,4 @@ set_name,tool_cmd wood_set,3420200 stone_set,3420201 cloth_set,3420204 +metal_set,3420202 From 9a23e98a6796d8c27fc2ba91ce058406f15345ff Mon Sep 17 00:00:00 2001 From: Thanathor Date: Mon, 22 Jan 2024 22:23:59 +0100 Subject: [PATCH 18/34] fix some missing headers and waterlogging --- .../functions/break/decimal_to_hex.mcfunction | 4 +++ .../functions/break/get_color.mcfunction | 4 +++ .../interact/waterlog/check.mcfunction | 4 +++ .../interact/waterlog/log.mcfunction | 27 ++++++++++++++++--- .../interact/waterlog/unlog.mcfunction | 27 ++++++++++++++++--- 5 files changed, 60 insertions(+), 6 deletions(-) diff --git a/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction index de269ea14b..8f776c64df 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/decimal_to_hex.mcfunction @@ -1,3 +1,7 @@ +# transform color value from decimal to hex +# @s = furniture main interaction entity +# at @s +# run from break/destroy data modify storage gm4_furniture:temp color_hex set value {} diff --git a/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction index 4e0f4c006b..9c14ac5735 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction @@ -1,3 +1,7 @@ +# get the color of the broken furnitur +# @s = furniture main interaction entity +# at @s +# run from break/process_hit # find this furniture's item_display and get its color scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/check.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/check.mcfunction index 3910028615..b3cc27cc81 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/check.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/check.mcfunction @@ -1,3 +1,7 @@ +# check if the furniture should waterlog or water-unlog +# @s = furniture's interacted interaction entity +# at @s +# run from interact/process execute if block ~ ~ ~ #gm4_furniture:furniture_blocks[waterlogged=true] if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_empty_bucket] run function gm4_furniture:interact/waterlog/unlog execute if score $interaction_processed gm4_furniture_data matches 0 if block ~ ~ ~ #gm4_furniture:furniture_blocks[waterlogged=false] if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_water_bucket] run function gm4_furniture:interact/waterlog/log diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/log.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/log.mcfunction index 1c3a06b9c6..647f7052f5 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/log.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/log.mcfunction @@ -1,7 +1,28 @@ +# waterlog this part of the furniture +# @s = furniture's interacted interaction entity +# at @s +# run from interact/waterlog/check item replace entity @p[tag=gm4_furniture_target,gamemode=!creative] weapon.mainhand with bucket -fill ~ ~ ~ ~ ~ ~ light[level=0,waterlogged=true] replace light[level=0] -fill ~ ~ ~ ~ ~ ~ light[level=15,waterlogged=true] replace light[level=15] -fill ~ ~ ~ ~ ~ ~ barrier[waterlogged=true] replace barrier + +scoreboard players set $waterlog_completed gm4_furniture_data 0 +execute store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=0,waterlogged=true] replace light[level=0] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ barrier[waterlogged=true] replace barrier +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=15,waterlogged=true] replace light[level=15] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=14,waterlogged=true] replace light[level=14] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=13,waterlogged=true] replace light[level=13] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=12,waterlogged=true] replace light[level=12] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=11,waterlogged=true] replace light[level=11] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=10,waterlogged=true] replace light[level=10] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=9,waterlogged=true] replace light[level=9] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=8,waterlogged=true] replace light[level=8] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=7,waterlogged=true] replace light[level=7] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=6,waterlogged=true] replace light[level=6] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=5,waterlogged=true] replace light[level=5] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=4,waterlogged=true] replace light[level=4] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=3,waterlogged=true] replace light[level=3] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=2,waterlogged=true] replace light[level=2] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=1,waterlogged=true] replace light[level=1] + playsound item.bucket.empty player @a[distance=..16] ~ ~ ~ 1 1 scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/unlog.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/unlog.mcfunction index 6989c9c7d9..64b0f25b3d 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/unlog.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/waterlog/unlog.mcfunction @@ -1,7 +1,28 @@ +# water-unlog this part of the furniture +# @s = furniture's interacted interaction entity +# at @s +# run from interact/waterlog/check item replace entity @p[tag=gm4_furniture_target,gamemode=!creative] weapon.mainhand with water_bucket -fill ~ ~ ~ ~ ~ ~ light[level=0,waterlogged=false] replace light[level=0,waterlogged=true] -fill ~ ~ ~ ~ ~ ~ light[level=15,waterlogged=false] replace light[level=15,waterlogged=true] -fill ~ ~ ~ ~ ~ ~ barrier[waterlogged=false] replace barrier[waterlogged=true] + +scoreboard players set $waterlog_completed gm4_furniture_data 0 +execute store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=0,waterlogged=false] replace light[level=0,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ barrier[waterlogged=false] replace barrier[waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=15,waterlogged=false] replace light[level=15,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=14,waterlogged=false] replace light[level=14,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=13,waterlogged=false] replace light[level=13,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=12,waterlogged=false] replace light[level=12,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=11,waterlogged=false] replace light[level=11,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=10,waterlogged=false] replace light[level=10,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=9,waterlogged=false] replace light[level=9,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=8,waterlogged=false] replace light[level=8,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=7,waterlogged=false] replace light[level=7,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=6,waterlogged=false] replace light[level=6,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=5,waterlogged=false] replace light[level=5,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=4,waterlogged=false] replace light[level=4,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=3,waterlogged=false] replace light[level=3,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=2,waterlogged=false] replace light[level=2,waterlogged=true] +execute if score $waterlog_completed gm4_furniture_data matches 0 store success score $waterlog_completed gm4_furniture_data run fill ~ ~ ~ ~ ~ ~ light[level=1,waterlogged=false] replace light[level=1,waterlogged=true] + playsound item.bucket.fill player @a[distance=..16] ~ ~ ~ 1 1 scoreboard players set $interaction_processed gm4_furniture_data 1 From c2b32b4151db77d6e006db4fedaab3cb8dc4322e Mon Sep 17 00:00:00 2001 From: Thanathor Date: Tue, 23 Jan 2024 13:39:59 +0100 Subject: [PATCH 19/34] use new gm4.utils --- gm4_furniture/generate.py | 119 +------------------------------------- 1 file changed, 3 insertions(+), 116 deletions(-) diff --git a/gm4_furniture/generate.py b/gm4_furniture/generate.py index eef312ee5b..0b4cba268a 100644 --- a/gm4_furniture/generate.py +++ b/gm4_furniture/generate.py @@ -1,119 +1,6 @@ from beet import Context, subproject -from typing import List, Dict, Any from pathlib import Path -import csv - -class CSVRow(): - """ - Read-only dict wrapper which represents a row of data from a .csv file. - """ - - def __init__(self, column_names: List[str] | None = None, data: List[str] | None = None) -> None: - """ - Initialize a new CSVRow object using the supplied column names and data. CSVRow objects are read-only by design. - If no data and no column names are supplied the resulting CSVRow object will evaluate to false in boolean expressions. - - Access data within this CSVRow via the `get(key, default)` method or using `[]`. - """ - if not column_names: - column_names = [] - if not data: - data = [] - - if len(column_names) != len(data): - raise ValueError( - f"Could not build CSVRow from supplied column names and data; Number of supplied column names ({len(column_names)}) does not match number of supplied data entries ({len(data)}).") - - self._data = {column_names[column_index]: value for column_index, value in enumerate(data)} - - def __bool__(self): - """ - Allow for the use of CSVRow instances in if statements; If the CSVRow has no keys it is equivalent to `False`. - """ - return len(self._data.keys()) != 0 - - def __getitem__(self, key: str): - try: - return self._data[key] - except KeyError as ke: - raise ValueError( - f"Failed to select column named '{ke.args[0]}' from CSVRow with columns {[key for key in self._data]}.") - - def __repr__(self) -> str: - return str(self._data) - - def get(self, key: str, default: str | Any) -> str: - """ - Returns the value corrosponding to the key if it exists and is not the empty string. - Else returns the provided default. The provided default is cast to a string internally. - """ - value = self._data.get(key, str(default)) - if value: - return value - else: - return str(default) - - -class CSV(): - """ - List-of-Rows representation of a .csv file which can be iteraded over using for ... in. - Optimized for row-first access, i.e. select a row, then a column. - Also provides a `find_row` function for column-first, i.e. select a column, then a row, access. - However, the latter is is more expensive. - - All access methods return CSVRow objects which are dynamically created upon calling an access method. - """ - - def __init__(self, column_names: List[str], rows: List[List[str]]) -> None: - """ - Initialize a new CSV from a list of column names (headers) and a list of rows. - The latter contain actual data, whilst the former only holds names of columns. - """ - self._column_names = column_names - self._rows = rows - - def __iter__(self): - self.__current = 0 - self.__last = len(self._rows) - return self - - def __next__(self) -> CSVRow: - current = self.__current - self.__current += 1 - if current < self.__last: - return CSVRow(self._column_names, self._rows[current]) - raise StopIteration() - - def __getitem__(self, row_index: int): - return CSVRow(self._column_names, self._rows[row_index]) - - def __repr__(self): - return str([CSVRow(self._column_names, data) for data in self._rows]) - - def find_row(self, value: str, by_column: str | int = 0) -> CSVRow: - """ - Finds and returns the first row in this CSV which has `value` in column `by_column`. `by_column` can either be a str, in which case it is treated - as a column name and the header line is searched for a matching string, or an int n, in which case the nth column is selected. - `by_column` defaults to `0`. - Returns an empty `CSVRow` if no match was found. - """ - if isinstance(by_column, str): - by_column = self._column_names.index(by_column) - - for row in self._rows: - if row[by_column] == value: - return CSVRow(self._column_names, row) - return CSVRow() - -def read_csv(path: Path) -> CSV: - """ - Reads in a csv file and returns a list of rows. Each row consists of a dictionary which contains labeled values. - """ - with open(path, mode='r') as file: - csv_file = csv.reader(file) - header = next(csv_file) - - return CSV(column_names=header, rows=[[str(cell) for cell in row] for row in csv_file]) +from gm4.utils import CSV def beet_default(ctx: Context): @@ -124,9 +11,9 @@ def beet_default(ctx: Context): furniture_sets = {} for path in sorted(Path('gm4_furniture/raw_data/furniture_set').glob('*.csv')): - furniture_sets[path.stem] = read_csv(path) + furniture_sets[path.stem] = CSV.from_file(path) - tool_cmds = read_csv(Path('gm4_furniture/raw_data/tool_cmds.csv')) + tool_cmds = CSV.from_file(Path('gm4_furniture/raw_data/tool_cmds.csv')) # loop through the different sheets, each sheet hold a different 'set_name' # of furniture which need to be sorted in the furniture_station storage From 65c4443249c195cfa258052919eeee7fa64d5ead Mon Sep 17 00:00:00 2001 From: Thanathor <73304324+TheThanathor@users.noreply.github.com> Date: Thu, 25 Jan 2024 20:45:03 +0100 Subject: [PATCH 20/34] fix recipe --- gm4_furniture/raw_data/furniture_set/metal_set.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gm4_furniture/raw_data/furniture_set/metal_set.csv b/gm4_furniture/raw_data/furniture_set/metal_set.csv index afdfbb50b3..6665c7b86b 100644 --- a/gm4_furniture/raw_data/furniture_set/metal_set.csv +++ b/gm4_furniture/raw_data/furniture_set/metal_set.csv @@ -1,4 +1,4 @@ craft_item_1_id,craft_item_1_count,craft_item_2_id,craft_item_2_count,craft_result_count,technical_id,display_name,cmd,block_id,length,depth,height,sittable,dyable,wall_only,ceiling_only,table,scale,diag,custom -gold_ingot,3,candle,3,1,iron_3_candle_holder_1,Iron Candelabra,3420240,light[level=13],1,1,1,0,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE +iron_ingot,3,candle,3,1,iron_3_candle_holder_1,Iron Candelabra,3420240,light[level=13],1,1,1,0,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE gold_ingot,3,candle,3,1,gold_3_candle_holder_1,Golden Candelabra,3420250,light[level=13],1,1,1,0,TRUE,FALSE,FALSE,FALSE,1,FALSE,FALSE gold_ingot,8,air,0,1,gold_skull_1,Golden Skull,3420251,light[level=0],1,1,1,0,FALSE,FALSE,FALSE,FALSE,1,TRUE,FALSE From bd4dcbe05bb7a1abc0eae35ba3fcc3b3ef9c19c8 Mon Sep 17 00:00:00 2001 From: Thanathor <73304324+TheThanathor@users.noreply.github.com> Date: Sat, 27 Jan 2024 16:47:35 +0100 Subject: [PATCH 21/34] reapply invisibility since its lost on server restart --- gm4_furniture/data/gm4_furniture/functions/main.mcfunction | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction index 0014f1e3b5..876681e835 100644 --- a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction @@ -6,3 +6,6 @@ execute as @e[type=horse,nbt={ArmorItems:[{tag:{gm4_furniture:"paintbrush"}}]}] # check furniture placements execute as @e[type=interaction,tag=gm4_furniture.on_wall] at @s if block ^ ^0.5 ^-1 #gm4:replaceable run function gm4_furniture:break/lost_connection execute as @e[type=interaction,tag=gm4_furniture.on_ceiling] at @s if block ^ ^1.5 ^ #gm4:replaceable run function gm4_furniture:break/lost_connection + +# reapply invisibility to the wandering traders +effect give @e[type=wandering_trader,tag=gm4_furniture.furniture_station] invisibility infinite 0 true From 95bf07966cf255b0a0f8cc15b83b47d5b53df6c9 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Tue, 30 Jan 2024 11:42:12 +0100 Subject: [PATCH 22/34] improve furniture breaking logic --- .../data/gm4_furniture/functions/break/destroy.mcfunction | 2 +- .../data/gm4_furniture/functions/break/get_color.mcfunction | 2 -- .../data/gm4_furniture/functions/break/process_hit.mcfunction | 3 +-- .../functions/break/remove_furniture_station.mcfunction | 4 ++-- .../gm4_furniture/functions/interact/paint/process.mcfunction | 1 + 5 files changed, 5 insertions(+), 7 deletions(-) diff --git a/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction index 8dadf0bedd..e4c73cad76 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/destroy.mcfunction @@ -10,7 +10,7 @@ execute if score $furniture_color gm4_furniture_data matches 16383998 run scoreb execute if score $furniture_color gm4_furniture_data matches 1.. run function gm4_furniture:break/decimal_to_hex # unless breaking player was in creative drop the item -execute unless score $creative gm4_furniture_data matches 1 positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] run function gm4_furniture:break/drop_item with entity @s item.tag.data +execute unless score $creative gm4_furniture_data matches 1 positioned ~-0.4999 ~0.0001 ~-0.4999 as @e[type=item_display,tag=gm4_furniture.display,dx=0,dy=0,dz=0,limit=1] run function gm4_furniture:break/drop_item with entity @s item.tag.data # remove any furniture blocks that match the id execute as @e[type=interaction,tag=gm4_furniture,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id at @s run function gm4_furniture:break/remove_block diff --git a/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction index 9c14ac5735..a4814b477d 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/get_color.mcfunction @@ -9,5 +9,3 @@ execute as @e[type=item_display,tag=gm4_furniture.display,distance=..8] if score item modify entity @p[tag=gm4_furniture_target] weapon.mainhand gm4_furniture:get_color playsound item.dye.use player @a[distance=..8] ~ ~ ~ 1 1.15 - -scoreboard players set $color_picked gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction index 7bc347b08d..b58fed496d 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/process_hit.mcfunction @@ -4,9 +4,8 @@ # run from break/find_main # if player is holding the paintbrush instead grab the color and stop this function -scoreboard players set $color_picked gm4_furniture_data 0 execute if score $get_color gm4_furniture_data matches 1 if entity @s[tag=gm4_furniture.painted] run function gm4_furniture:break/get_color -execute if score $color_picked gm4_furniture_data matches 1 run return 0 +execute if score $get_color gm4_furniture_data matches 1 run return 0 # check how much time has passed since the last hit (or ignore that if the player was in creative) execute store result score $hit gm4_furniture_last_hit run time query gametime diff --git a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction index 9827ec0e9b..d27c579e4a 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction @@ -1,8 +1,8 @@ -# remove the flower pot and wandering trader when a furniture station is destroyed +# remove the wandering trader when a furniture station is destroyed # furniture station interaction entity # at @s # run from break/destroy -setblock ~ ~2 ~ air +setblock ~ ~1 ~ air execute as @e[type=wandering_trader,tag=gm4_furniture,distance=..4] if score @s gm4_furniture_id = $check_id gm4_furniture_id run tp @s ~ -100000 ~ execute positioned ~-0.4999 ~0.0001 ~-0.4999 run kill @e[type=item_display,tag=gm4_furniture.tool,dx=0,dy=0,dz=0] diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction index 94e73b6d21..03a3e27ace 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/paint/process.mcfunction @@ -5,6 +5,7 @@ # find this furniture's item_display and try to paint it scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id +scoreboard players set $paint_changed gm4_furniture_data 0 execute as @e[type=item_display,tag=gm4_furniture.display,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id store success score $paint_changed gm4_furniture_data run data modify entity @s item.tag.display.color set from storage gm4_furniture:temp color # if furniture was painted mark interaction as resolved and play paint sound From 20e69486287f64ddca80974de0d2fdbd2bf7fc64 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Tue, 27 Feb 2024 16:57:46 +0100 Subject: [PATCH 23/34] replace wandering trader with villagers --- .../break/remove_furniture_station.mcfunction | 4 ++-- .../furniture_station/swap_tool.mcfunction | 6 +++--- .../data/gm4_furniture/functions/main.mcfunction | 7 +++++-- .../place/furniture/furniture_station.mcfunction | 12 ++++++------ .../build_trades/build_trade.mcfunction | 2 +- .../build_trades/get_trade_data.mcfunction | 2 +- .../build_trades/prep.mcfunction | 2 +- .../build_trades/resolve_trade.mcfunction | 2 +- .../functions/update/update_villager.mcfunction | 16 ++++++++++++++++ 9 files changed, 36 insertions(+), 17 deletions(-) create mode 100644 gm4_furniture/data/gm4_furniture/functions/update/update_villager.mcfunction diff --git a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction index d27c579e4a..635f744a52 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction @@ -1,8 +1,8 @@ -# remove the wandering trader when a furniture station is destroyed +# remove the villager when a furniture station is destroyed # furniture station interaction entity # at @s # run from break/destroy setblock ~ ~1 ~ air -execute as @e[type=wandering_trader,tag=gm4_furniture,distance=..4] if score @s gm4_furniture_id = $check_id gm4_furniture_id run tp @s ~ -100000 ~ +execute as @e[type=villager,tag=gm4_furniture,distance=..4] if score @s gm4_furniture_id = $check_id gm4_furniture_id run tp @s ~ -100000 ~ execute positioned ~-0.4999 ~0.0001 ~-0.4999 run kill @e[type=item_display,tag=gm4_furniture.tool,dx=0,dy=0,dz=0] diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction index fd15fcc753..70f6169100 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction @@ -4,9 +4,9 @@ # run from interact/process # move index up/down -execute if entity @s[tag=gm4_furniture.next] align xyz run scoreboard players add @e[type=wandering_trader,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 -execute if entity @s[tag=gm4_furniture.prev] align xyz run scoreboard players remove @e[type=wandering_trader,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 -execute align xyz as @e[type=wandering_trader,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep +execute if entity @s[tag=gm4_furniture.next] align xyz run scoreboard players add @e[type=villager,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 +execute if entity @s[tag=gm4_furniture.prev] align xyz run scoreboard players remove @e[type=villager,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 +execute align xyz as @e[type=villager,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep # mark interaction as resolved scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction index 876681e835..55d4075c20 100644 --- a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction @@ -7,5 +7,8 @@ execute as @e[type=horse,nbt={ArmorItems:[{tag:{gm4_furniture:"paintbrush"}}]}] execute as @e[type=interaction,tag=gm4_furniture.on_wall] at @s if block ^ ^0.5 ^-1 #gm4:replaceable run function gm4_furniture:break/lost_connection execute as @e[type=interaction,tag=gm4_furniture.on_ceiling] at @s if block ^ ^1.5 ^ #gm4:replaceable run function gm4_furniture:break/lost_connection -# reapply invisibility to the wandering traders -effect give @e[type=wandering_trader,tag=gm4_furniture.furniture_station] invisibility infinite 0 true +# reapply invisibility to the villagers +effect give @e[type=villager,tag=gm4_furniture.furniture_station] invisibility infinite 0 true + +# TEMP: update wandering trader +execute as @e[type=wandering_trader,tag=gm4_furniture.furniture_station] at @s run function gm4_furniture:update/update_villager diff --git a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction index afa5669cf2..91c01ab3de 100644 --- a/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/place/furniture/furniture_station.mcfunction @@ -28,15 +28,15 @@ data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture. data modify entity @e[type=item_display,tag=gm4_new_furniture,tag=gm4_furniture.tool_prev,limit=1,distance=..2] item.tag.CustomModelData set from storage gm4_furniture:data furniture_station[-1].cmd setblock ~ ~ ~ barrier -# spawn trader and set ids -summon wandering_trader ~ ~1000 ~ {Invulnerable:1b,Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.furniture_station","fallback":"Furniture Station"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:offscreen"},{"translate":"gui.gm4.furniture_station","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:furniture","color":"#404040"}]]}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} -tp @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] ~ ~-0.4999 ~ -scoreboard players set @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] gm4_furniture_index 0 -execute as @e[type=wandering_trader,tag=gm4_new_furniture,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep +# spawn villager and set ids +summon villager ~ ~1000 ~ {VillagerData:{level:99},Invulnerable:1b,Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.furniture_station","fallback":"Furniture Station"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:offscreen"},{"translate":"gui.gm4.furniture_station","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:furniture","color":"#404040"}]]}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} +tp @e[type=villager,tag=gm4_new_furniture,limit=1] ~ ~-0.4999 ~ +scoreboard players set @e[type=villager,tag=gm4_new_furniture,limit=1] gm4_furniture_index 0 +execute as @e[type=villager,tag=gm4_new_furniture,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep execute unless block ~ ~1 ~ water[level=0] run setblock ~ ~1 ~ light[level=0] execute if block ~ ~1 ~ water[level=0] run setblock ~ ~1 ~ light[level=0,waterlogged=true] execute store result score @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 -execute store result score @e[type=wandering_trader,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players get $next_id gm4_furniture_id +execute store result score @e[type=villager,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players get $next_id gm4_furniture_id # rotate furniture_station depending on rotation set by player (if rotation is 1 default rotation can be kept) execute if score $rotation gm4_furniture_data matches 2 as @e[tag=gm4_new_furniture,distance=..8] at @s run tp @s ~ ~ ~ 90 0 diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction index 624c73a139..1fa8f45db2 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/build_trade.mcfunction @@ -1,5 +1,5 @@ # build a trade from trade_data -# @s = furniture station wandering trader +# @s = furniture station villager # at @s # run from technical/furniture_station/build_trades/prep # run from here diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/get_trade_data.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/get_trade_data.mcfunction index 913ef025d1..fc8425a0e7 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/get_trade_data.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/get_trade_data.mcfunction @@ -1,5 +1,5 @@ # loop through trade data to get the proper index in the frot -# @s = furniture station wandering trader +# @s = furniture station villager # at @s # run from technical/furniture_station/build_trades/prep # run from here diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction index 61937def6e..874ddabda1 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction @@ -1,5 +1,5 @@ # change the trades of this furniture station -# @s = furniture station wandering trader +# @s = furniture station villager # at @s # run from interact/furniture_station/swap_tool # run from place/furniture/furniture_station diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction index c3efc8cb61..71332d1ff1 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/resolve_trade.mcfunction @@ -1,5 +1,5 @@ # put furniture item in forceloaded shulker box to read its data -# @s = furniture station wandering trader +# @s = furniture station villager # at @s # run from technical/furniture_station/build_trades/build_trade with storage gm4_furniture:temp trade_data[0] # $(furniture_id) = furniture's id diff --git a/gm4_furniture/data/gm4_furniture/functions/update/update_villager.mcfunction b/gm4_furniture/data/gm4_furniture/functions/update/update_villager.mcfunction new file mode 100644 index 0000000000..b0f06ff574 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/update/update_villager.mcfunction @@ -0,0 +1,16 @@ + +# grab id +scoreboard players operation $furniture_id gm4_furniture_id = @s gm4_furniture_id + +# spawn villager and set ids +summon villager ~ ~1000 ~ {VillagerData:{level:99},Invulnerable:1b,Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.furniture_station","fallback":"Furniture Station"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:offscreen"},{"translate":"gui.gm4.furniture_station","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:furniture","color":"#404040"}]]}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} +execute align xyz positioned ~.5 ~.5 ~.5 run tp @e[type=villager,tag=gm4_new_furniture,limit=1] ~ ~-0.4999 ~ +scoreboard players set @e[type=villager,tag=gm4_new_furniture,limit=1] gm4_furniture_index 0 +execute as @e[type=villager,tag=gm4_new_furniture,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep +execute store result score @e[type=villager,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players get $furniture_id gm4_furniture_id + +tag @e[type=villager,tag=gm4_new_furniture] remove gm4_new_furniture + +# remove wandering trader +tp @s ~ ~-10000 ~ +kill @s From 7f50d3da222243f0a800938e428152c0d09e3387 Mon Sep 17 00:00:00 2001 From: Thanathor Date: Tue, 27 Feb 2024 21:01:27 +0100 Subject: [PATCH 24/34] allow turning off furniture station --- gm4_furniture/beet.yaml | 4 +++- .../gm4_furniture/advancements/lightning.json | 10 ++++++++++ .../break/remove_furniture_station.mcfunction | 1 + .../gm4_furniture/functions/init.mcfunction | 2 ++ .../furniture_station/swap_tool.mcfunction | 15 ++++++++++---- .../functions/interact/process.mcfunction | 7 +++++-- .../functions/interact/sit/check.mcfunction | 9 +++++++++ .../interact/sit/find_seat.mcfunction | 19 ++++++++++++++++++ .../interact/sit/init_seat.mcfunction | 7 +++++++ .../functions/interact/sit/process.mcfunction | 12 ----------- .../interact/sit/spawn_seat.mcfunction | 7 +++++++ .../gm4_furniture/functions/main.mcfunction | 3 --- .../functions/slow_clock.mcfunction | 7 +++++++ .../activation/process.mcfunction | 10 ++++++++++ .../activation/turn_active.mcfunction | 20 +++++++++++++++++++ .../activation/turn_inactive.mcfunction | 17 ++++++++++++++++ .../build_trades/prep.mcfunction | 3 +++ .../lightning/detect.mcfunction | 6 ++++++ .../lightning/get_scores.mcfunction | 3 +++ .../lightning/revive_villager.mcfunction | 18 +++++++++++++++++ .../furniture_place_template.mcfunction | 8 ++------ 21 files changed, 160 insertions(+), 28 deletions(-) create mode 100644 gm4_furniture/data/gm4_furniture/advancements/lightning.json create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/sit/check.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/sit/find_seat.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/sit/init_seat.mcfunction delete mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/interact/sit/spawn_seat.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/slow_clock.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/process.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/turn_active.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/turn_inactive.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/detect.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/get_scores.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/revive_villager.mcfunction diff --git a/gm4_furniture/beet.yaml b/gm4_furniture/beet.yaml index 1841267c1a..192709c4da 100644 --- a/gm4_furniture/beet.yaml +++ b/gm4_furniture/beet.yaml @@ -17,7 +17,9 @@ meta: required: lib_forceload: 1.1.0 lib_custom_crafters: 3.0.0 - schedule_loops: [main] + schedule_loops: + - main + - slow_clock website: description: Furniture! recommended: [] diff --git a/gm4_furniture/data/gm4_furniture/advancements/lightning.json b/gm4_furniture/data/gm4_furniture/advancements/lightning.json new file mode 100644 index 0000000000..9261906448 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/advancements/lightning.json @@ -0,0 +1,10 @@ +{ + "criteria": { + "requirement": { + "trigger": "minecraft:lightning_strike" + } + }, + "rewards": { + "function": "gm4_furniture:technical/furniture_station/lightning/detect" + } +} diff --git a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction index 635f744a52..f57da5b79e 100644 --- a/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/break/remove_furniture_station.mcfunction @@ -4,5 +4,6 @@ # run from break/destroy setblock ~ ~1 ~ air +fill ~ ~2 ~ ~ ~2 ~ air replace light[level=0] execute as @e[type=villager,tag=gm4_furniture,distance=..4] if score @s gm4_furniture_id = $check_id gm4_furniture_id run tp @s ~ -100000 ~ execute positioned ~-0.4999 ~0.0001 ~-0.4999 run kill @e[type=item_display,tag=gm4_furniture.tool,dx=0,dy=0,dz=0] diff --git a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction index e6cadcd595..f65d2cb816 100644 --- a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction @@ -7,6 +7,7 @@ scoreboard objectives add gm4_furniture_last_hit dummy scoreboard objectives add gm4_furniture_id dummy scoreboard objectives add gm4_furniture_index dummy scoreboard objectives add gm4_furniture_craft_sound_time dummy +scoreboard objectives add gm4_furniture_sit_height dummy scoreboard players set #2 gm4_furniture_data 2 scoreboard players set #16 gm4_furniture_data 16 @@ -23,5 +24,6 @@ execute store result score $max_index gm4_furniture_index run data get storage g scoreboard players remove $max_index gm4_furniture_index 1 schedule function gm4_furniture:main 1t +schedule function gm4_furniture:slow_clock 1t #$moduleUpdateList diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction index 70f6169100..337f6ccd25 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/furniture_station/swap_tool.mcfunction @@ -1,12 +1,19 @@ # get interacting player to sit at this furniture block # @s = furniture's interacted interaction entity -# at @s +# at @s align xyz # run from interact/process +# if furniture station was inactive activate first +execute as @e[type=interaction,tag=gm4_furniture.reactivate,dx=0,dy=0,dz=0] at @s run function gm4_furniture:technical/furniture_station/activation/turn_active + # move index up/down -execute if entity @s[tag=gm4_furniture.next] align xyz run scoreboard players add @e[type=villager,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 -execute if entity @s[tag=gm4_furniture.prev] align xyz run scoreboard players remove @e[type=villager,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 -execute align xyz as @e[type=villager,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep +execute if entity @s[tag=gm4_furniture.next] run scoreboard players add @e[type=villager,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 +execute if entity @s[tag=gm4_furniture.prev] run scoreboard players remove @e[type=villager,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] gm4_furniture_index 1 +execute as @e[type=villager,tag=gm4_furniture.furniture_station,dx=0,dy=0,dz=0,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep + +# store new index on main interaction entity +scoreboard players operation $check_id gm4_furniture_id = @s gm4_furniture_id +execute as @e[type=interaction,tag=gm4_furniture.main,distance=..8] if score @s gm4_furniture_id = $check_id gm4_furniture_id run scoreboard players operation @s gm4_furniture_index = $store_index gm4_furniture_data # mark interaction as resolved scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction index 4354b56b57..b1b89b9697 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction @@ -6,11 +6,14 @@ # first successful interaction will be used, any lower down this list will be ignored scoreboard players set $interaction_processed gm4_furniture_data 0 +# check for reactivating furniture tables +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.reactivate] run function gm4_furniture:technical/furniture_station/activation/turn_active + # check for waterlogging execute if score $interaction_processed gm4_furniture_data matches 0 if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_bucket] positioned ~ ~0.5 ~ run function gm4_furniture:interact/waterlog/check # check for furniture station interactions -execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.swap_tool] run function gm4_furniture:interact/furniture_station/swap_tool +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.swap_tool] align xyz run function gm4_furniture:interact/furniture_station/swap_tool # check for custom interactions execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.custom_interaction] run function gm4_furniture:interact/custom/process @@ -19,7 +22,7 @@ execute if score $interaction_processed gm4_furniture_data matches 0 if entity @ execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.dyable] if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_paintbrush] run function gm4_furniture:interact/paint/detect # check for sitting -execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.sittable] if entity @p[tag=gm4_furniture_target,predicate=!gm4_furniture:is_sneaking] positioned ~-0.4999 ~0.0001 ~-0.4999 run function gm4_furniture:interact/sit/process +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[scores={gm4_furniture_sit_height=1..}] if entity @p[tag=gm4_furniture_target,predicate=!gm4_furniture:is_sneaking] positioned ~-0.4999 ~0.0001 ~-0.4999 run function gm4_furniture:interact/sit/find_seat # cleanup data remove entity @s interaction diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sit/check.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sit/check.mcfunction new file mode 100644 index 0000000000..be6464dd80 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/sit/check.mcfunction @@ -0,0 +1,9 @@ +# check if this seat entity still has an occupant, if not remove it +# @s = furniture's seat item_display entity +# at unspecified +# run from interact/sit/find_seat +# run from slow_clock + +scoreboard players set $keep_seat gm4_furniture_data 0 +execute on passengers run scoreboard players set $keep_seat gm4_furniture_data 1 +execute if score $keep_seat gm4_furniture_data matches 0 run kill @s diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sit/find_seat.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sit/find_seat.mcfunction new file mode 100644 index 0000000000..a25dfcc7de --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/sit/find_seat.mcfunction @@ -0,0 +1,19 @@ +# get interacting player to sit at this furniture block +# @s = furniture's interacted interaction entity +# at @s +# run from interact/process + +# check if a seat already exists, if so do not allow sitting +execute as @e[type=item_display,tag=gm4_furniture.seat,dx=0,dy=0,dz=0] run function gm4_furniture:interact/sit/check +execute if entity @e[type=item_display,tag=gm4_furniture.seat,dx=0,dy=0,dz=0] run return 0 + +# spawn a seat for the player to sit on +ride @p[tag=gm4_furniture_target] dismount +execute store result storage gm4_furniture:temp sit.height int 1 run scoreboard players get @s gm4_furniture_sit_height +function gm4_furniture:interact/sit/spawn_seat with storage gm4_furniture:temp sit + +# mark interaction as resolved +scoreboard players set $interaction_processed gm4_furniture_data 1 + +# cleanup +data remove storage gm4_furniture:temp sit diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sit/init_seat.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sit/init_seat.mcfunction new file mode 100644 index 0000000000..67503580af --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/sit/init_seat.mcfunction @@ -0,0 +1,7 @@ +# init seat with data and make player ride it +# @s = furniture's seat item_display entity +# at @s +# run from interact/sit/spawn_seat + +data merge entity @s {Tags:["gm4_furniture","gm4_furniture.seat","smithed.entity","smithed.strict"],item:{id:"air",Count:1},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]}} +ride @p[tag=gm4_furniture_target] mount @s diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction deleted file mode 100644 index ac6d735ab5..0000000000 --- a/gm4_furniture/data/gm4_furniture/functions/interact/sit/process.mcfunction +++ /dev/null @@ -1,12 +0,0 @@ -# get interacting player to sit at this furniture block -# @s = furniture's interacted interaction entity -# at @s -# run from interact/process - -# make player ride the linked item_display (if this is not the main interaction entity item_display will be invisible) -# the item_display is offset from the ground to dictate sit height -ride @p[tag=gm4_furniture_target] dismount -ride @p[tag=gm4_furniture_target] mount @e[type=item_display,tag=gm4_furniture,dx=0,dy=0,dz=0,limit=1] - -# mark interaction as resolved -scoreboard players set $interaction_processed gm4_furniture_data 1 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/sit/spawn_seat.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/sit/spawn_seat.mcfunction new file mode 100644 index 0000000000..c1f80f0159 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/interact/sit/spawn_seat.mcfunction @@ -0,0 +1,7 @@ +# spawn the seat in the correct place +# @s = furniture's seat item_display entity +# at @s +# run from interact/sit/find_seat + +# the item_display is offset from the ground to dictate sit height +$execute positioned ~.5 ~.$(height) ~.5 summon item_display run function gm4_furniture:interact/sit/init_seat diff --git a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction index 55d4075c20..289d89aa38 100644 --- a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction @@ -7,8 +7,5 @@ execute as @e[type=horse,nbt={ArmorItems:[{tag:{gm4_furniture:"paintbrush"}}]}] execute as @e[type=interaction,tag=gm4_furniture.on_wall] at @s if block ^ ^0.5 ^-1 #gm4:replaceable run function gm4_furniture:break/lost_connection execute as @e[type=interaction,tag=gm4_furniture.on_ceiling] at @s if block ^ ^1.5 ^ #gm4:replaceable run function gm4_furniture:break/lost_connection -# reapply invisibility to the villagers -effect give @e[type=villager,tag=gm4_furniture.furniture_station] invisibility infinite 0 true - # TEMP: update wandering trader execute as @e[type=wandering_trader,tag=gm4_furniture.furniture_station] at @s run function gm4_furniture:update/update_villager diff --git a/gm4_furniture/data/gm4_furniture/functions/slow_clock.mcfunction b/gm4_furniture/data/gm4_furniture/functions/slow_clock.mcfunction new file mode 100644 index 0000000000..f22f8c6406 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/slow_clock.mcfunction @@ -0,0 +1,7 @@ +schedule function gm4_furniture:slow_clock 10s + +# check seats to see if they are empty +execute as @e[type=item_display,tag=gm4_furniture.seat] run function gm4_furniture:interact/sit/check + +# process furniture stations +execute as @e[type=villager,tag=gm4_furniture.furniture_station] at @s run function gm4_furniture:technical/furniture_station/activation/process diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/process.mcfunction new file mode 100644 index 0000000000..8f68655c3e --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/process.mcfunction @@ -0,0 +1,10 @@ +# process active furniture stations +# @s = furniture station villager +# at @s +# run from slow_clock + +# reapply invisibility in case it was lost +effect give @s invisibility infinite 0 true + +# check if there are still players close to actually trade +execute unless entity @a[distance=..12,gamemode=!spectator] run function gm4_furniture:technical/furniture_station/activation/turn_inactive diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/turn_active.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/turn_active.mcfunction new file mode 100644 index 0000000000..bbc97d6190 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/turn_active.mcfunction @@ -0,0 +1,20 @@ +# turn furniture station on if no player interacted with it +# @s = furniture reactivation interaction entity +# at @s +# run from technical/furniture_station/activation/process +# run frin interact/furniture_station/swap_tool + +# turn tool upright +execute align xyz run data merge entity @e[type=item_display,tag=gm4_furniture.tool_main,dx=0,dy=0,dz=0,limit=1] {interpolation_duration:5,start_interpolation:-1,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.6f,0f],scale:[1f,1f,1f]}} + +# spawn villager and set ids +summon villager ~ ~1000 ~ {VillagerData:{level:99},Invulnerable:1b,Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.furniture_station","fallback":"Furniture Station"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:offscreen"},{"translate":"gui.gm4.furniture_station","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:furniture","color":"#404040"}]]}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} +execute align xyz run tp @e[type=villager,tag=gm4_new_furniture,limit=1] ~.5 ~0.0001 ~.5 +scoreboard players operation @e[type=villager,tag=gm4_new_furniture,limit=1,distance=..4] gm4_furniture_id = @s gm4_furniture_id +scoreboard players operation @e[type=villager,tag=gm4_new_furniture,limit=1,distance=..4] gm4_furniture_index = @s gm4_furniture_index +execute as @e[type=villager,tag=gm4_new_furniture,limit=1,distance=..4] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep +tag @e[type=villager,tag=gm4_new_furniture,limit=1,distance=..4] remove gm4_new_furniture + +# mark interaction as complete and remove interaction entity +scoreboard players set $interaction_processed gm4_furniture_data 1 +kill @s diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/turn_inactive.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/turn_inactive.mcfunction new file mode 100644 index 0000000000..20f4c587bf --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/activation/turn_inactive.mcfunction @@ -0,0 +1,17 @@ +# turn furniture station off if no player is nearby +# @s = furniture station villager +# at @s +# run from technical/furniture_station/activation/process + +# lay down tool +execute align xyz run data merge entity @e[type=item_display,tag=gm4_furniture.tool_main,dx=0,dy=0,dz=0,limit=1] {interpolation_duration:5,start_interpolation:-1,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[-1f,0f,0f,1f],translation:[0f,1.125f,0.9375f],scale:[0.5f,0.5f,0.5f]}} + +# spawn interaction to turn furniture back on again, has villager data +execute positioned ~ ~1 ~ align xyz run summon interaction ~.5 ~-0.0001 ~.5 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.furniture_station","gm4_furniture.reactivate","smithed.entity","smithed.strict","gm4_new_furniture"],height:1.0002f,width:1.0002f,response:1b} +scoreboard players operation @e[type=interaction,tag=gm4_new_furniture,distance=..4,limit=1] gm4_furniture_id = @s gm4_furniture_id +scoreboard players operation @e[type=interaction,tag=gm4_new_furniture,distance=..4,limit=1] gm4_furniture_index = @s gm4_furniture_index +tag @e[type=interaction,tag=gm4_new_furniture,distance=..4] remove gm4_new_furniture + +# remove villager +tp @s ~ ~-10000 ~ +kill @s diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction index 874ddabda1..5c59321a9e 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction @@ -32,3 +32,6 @@ playsound ui.stonecutter.take_result block @a[distance=..16] ~ ~ ~ 1 0.45 # cleanup data remove storage gm4_furniture:temp trades data remove storage gm4_furniture:temp trade_data + +# store index for interaction entity +scoreboard players operation $store_index gm4_furniture_data = @s gm4_furniture_index diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/detect.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/detect.mcfunction new file mode 100644 index 0000000000..e42a9ef524 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/detect.mcfunction @@ -0,0 +1,6 @@ +# Target NoAI witch after lightning strike near player +# @s = player +# at @s +advancement revoke @s only gm4_furniture:lightning + +execute as @e[type=witch,nbt={NoAI:1b}] unless data entity @s Tags at @s if block ~ ~ ~ barrier run function gm4_furniture:technical/furniture_station/lightning/revive_villager diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/get_scores.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/get_scores.mcfunction new file mode 100644 index 0000000000..540ef54927 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/get_scores.mcfunction @@ -0,0 +1,3 @@ + +scoreboard players operation $restore_id gm4_furniture_id = @s gm4_furniture_id +scoreboard players operation $restore_index gm4_furniture_data = @s gm4_furniture_index diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/revive_villager.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/revive_villager.mcfunction new file mode 100644 index 0000000000..073002d382 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/revive_villager.mcfunction @@ -0,0 +1,18 @@ +# Replace witch with villager +# @s = witch that replaced the villager +# at @s +# runs from lightning/tag + +# grab id and index for the new villager +execute align xyz as @e[type=interaction,tag=gm4_furniture.furniture_station,tag=gm4_furniture.main,dx=0,dy=0,dz=0] run function gm4_furniture:technical/furniture_station/lightning/get_scores + +# spawn villager and set ids +summon villager ~ ~1000 ~ {VillagerData:{level:99},Invulnerable:1b,Team:"gm4_furniture_nocol",Tags:["gm4_furniture","gm4_furniture.furniture_station","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.furniture_station","fallback":"Furniture Station"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:offscreen"},{"translate":"gui.gm4.furniture_station","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:half_invert"},{"translate":"gui.gm4.furniture_station.offset","font":"gm4:container_gui"},{"translate":"container.gm4.furniture_station","fallback":"Furniture Station","font":"gm4:furniture","color":"#404040"}]]}',NoAI:1b,Silent:1b,active_effects:[{id:"minecraft:invisibility",duration:-1,show_particles:0b},{id:"minecraft:resistance",amplifier:9,duration:-1,show_particles:0b}]} +tp @e[type=villager,tag=gm4_new_furniture,limit=1] ~ ~ ~ +scoreboard players operation @e[type=villager,tag=gm4_new_furniture,limit=1] gm4_furniture_index = $restore_index gm4_furniture_data +execute as @e[type=villager,tag=gm4_new_furniture,limit=1] at @s run function gm4_furniture:technical/furniture_station/build_trades/prep +execute store result score @e[type=villager,tag=gm4_new_furniture] gm4_furniture_id run scoreboard players get $restore_id gm4_furniture_id + +# kill witch +tp @s ~ -10000 ~ +kill @s diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction index 38271a715e..1f54ae9208 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction @@ -8,7 +8,6 @@ scoreboard players set $valid_placement gm4_furniture_data 1 # set variables -scoreboard players set $sittable gm4_furniture_data {{ sittable }} scoreboard players set $dyable gm4_furniture_data {{ dyable }} scoreboard players set $table gm4_furniture_data {{ table }} scoreboard players set $custom_interaction gm4_furniture_data {{ custom_interaction }} @@ -49,7 +48,7 @@ execute if score $valid_placement gm4_furniture_data matches 0 run loot spawn ~ execute if score $valid_placement gm4_furniture_data matches 0 run return 0 # spawn the furniture -execute positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ category }}.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{furniture_id:"{{ category }}/{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} +summon item_display ~ ~-0.4999 ~ {Tags:["gm4_furniture","gm4_furniture.display","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ category }}.{{ technical_id }}"',item:{id:"leather_horse_armor",Count:1,tag:{data:{furniture_id:"{{ category }}/{{ technical_id }}"},CustomModelData:{{ cmd }}}},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[{{ scale }}f,{{ scale }}f,{{ scale }}f]}} summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.main","smithed.entity","smithed.strict","gm4_new_furniture"],height:1.0002f,width:1.0002f,response:1b} setblock ~ ~ ~ {{ block_id }} @@ -72,10 +71,7 @@ execute if score $dyable gm4_furniture_data matches 1 run data modify entity @e[ execute if score $dyable gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.dyable # if furniture is sittable spawn sitting item_displays at appropiate locations and add tag -execute if score $sittable gm4_furniture_data matches 1.. run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.sittable -scoreboard players set $sit_height gm4_furniture_data 50 -execute if score $sittable gm4_furniture_data matches 1.. store result entity @e[type=item_display,tag=gm4_new_furniture,distance=..2,limit=1,sort=nearest] transformation.translation[1] float 0.01 run scoreboard players operation $sit_height gm4_furniture_data -= $sittable gm4_furniture_data -execute if score $sittable gm4_furniture_data matches 1.. at @e[type=marker,tag=gm4_furniture.marked_block] positioned ~ ~-0.4999 ~ run summon item_display ~ ~0.{{ sittable }} ~ {Tags:["gm4_furniture","gm4_furniture.seat","gm4_furniture.sittable","smithed.entity","smithed.strict","gm4_new_furniture"],CustomName:'"gm4_furniture_display.{{ category }}.{{ technical_id }}_seat"',item:{id:"air",Count:1},item_display:head,Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]}} +scoreboard players set @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_sit_height {{ sittable }} # rotate furniture depending on rotation set by player (if rotation is 1 default rotation can be kept) execute if score $rotation gm4_furniture_data matches 2.. as @e[tag=gm4_new_furniture,distance=..8] run data modify entity @s Rotation set from storage gm4_furniture:data Rotation From 782e15097ec970105f6187c88e383d074ef0641d Mon Sep 17 00:00:00 2001 From: Thanathor Date: Tue, 27 Feb 2024 21:04:37 +0100 Subject: [PATCH 25/34] fix missing headers --- .../technical/furniture_station/build_trades/prep.mcfunction | 2 ++ .../furniture_station/lightning/get_scores.mcfunction | 4 ++++ .../furniture_station/lightning/revive_villager.mcfunction | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction index 5c59321a9e..37bfd8f390 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/build_trades/prep.mcfunction @@ -3,6 +3,8 @@ # at @s # run from interact/furniture_station/swap_tool # run from place/furniture/furniture_station +# run from technical/furniture_station/activation/turn_active +# run from technical/furniture_station/lightning/revive_villager # clamp index to min/max execute if score @s gm4_furniture_index matches ..-1 run scoreboard players operation @s gm4_furniture_index = $max_index gm4_furniture_index diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/get_scores.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/get_scores.mcfunction index 540ef54927..a66f87c030 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/get_scores.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/get_scores.mcfunction @@ -1,3 +1,7 @@ +# get scores to restore villager +# @s = furniture main interaction entity +# at @s +# runs from lightning/revive_villager scoreboard players operation $restore_id gm4_furniture_id = @s gm4_furniture_id scoreboard players operation $restore_index gm4_furniture_data = @s gm4_furniture_index diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/revive_villager.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/revive_villager.mcfunction index 073002d382..de6d8fbb1f 100644 --- a/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/revive_villager.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/technical/furniture_station/lightning/revive_villager.mcfunction @@ -1,7 +1,7 @@ # Replace witch with villager # @s = witch that replaced the villager # at @s -# runs from lightning/tag +# runs from lightning/detect # grab id and index for the new villager execute align xyz as @e[type=interaction,tag=gm4_furniture.furniture_station,tag=gm4_furniture.main,dx=0,dy=0,dz=0] run function gm4_furniture:technical/furniture_station/lightning/get_scores From e505b7d0de33801c9248d9fbd9060d30c11539d9 Mon Sep 17 00:00:00 2001 From: Thanathor <73304324+TheThanathor@users.noreply.github.com> Date: Thu, 29 Feb 2024 13:04:25 +0100 Subject: [PATCH 26/34] add updated seating --- .../gm4_furniture/advancements/relog.json | 25 +++++++++++++++++++ .../gm4_furniture/functions/init.mcfunction | 1 + .../functions/interact/process.mcfunction | 6 ++--- .../gm4_furniture/functions/main.mcfunction | 3 --- .../functions/slow_clock.mcfunction | 5 ++++ .../functions/technical/relog.mcfunction | 10 ++++++++ .../functions/update/update_seat.mcfunction | 5 ++++ .../update/update_villager.mcfunction | 2 ++ .../furniture_place_template.mcfunction | 12 ++++----- 9 files changed, 57 insertions(+), 12 deletions(-) create mode 100644 gm4_furniture/data/gm4_furniture/advancements/relog.json create mode 100644 gm4_furniture/data/gm4_furniture/functions/technical/relog.mcfunction create mode 100644 gm4_furniture/data/gm4_furniture/functions/update/update_seat.mcfunction diff --git a/gm4_furniture/data/gm4_furniture/advancements/relog.json b/gm4_furniture/data/gm4_furniture/advancements/relog.json new file mode 100644 index 0000000000..019862a51c --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/advancements/relog.json @@ -0,0 +1,25 @@ +{ + "criteria": { + "requirement": { + "trigger": "minecraft:location", + "conditions": { + "player": [ + { + "condition": "minecraft:value_check", + "value": { + "type": "minecraft:score", + "target": "this", + "score": "gm4_furniture_relog" + }, + "range": { + "min": 1 + } + } + ] + } + } + }, + "rewards": { + "function": "gm4_furniture:technical/relog" + } +} diff --git a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction index f65d2cb816..701d1085fa 100644 --- a/gm4_furniture/data/gm4_furniture/functions/init.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/init.mcfunction @@ -8,6 +8,7 @@ scoreboard objectives add gm4_furniture_id dummy scoreboard objectives add gm4_furniture_index dummy scoreboard objectives add gm4_furniture_craft_sound_time dummy scoreboard objectives add gm4_furniture_sit_height dummy +scoreboard objectives add gm4_furniture_relog custom:leave_game scoreboard players set #2 gm4_furniture_data 2 scoreboard players set #16 gm4_furniture_data 16 diff --git a/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction index b1b89b9697..d725e63068 100644 --- a/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/interact/process.mcfunction @@ -15,14 +15,14 @@ execute if score $interaction_processed gm4_furniture_data matches 0 if entity @ # check for furniture station interactions execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.swap_tool] align xyz run function gm4_furniture:interact/furniture_station/swap_tool -# check for custom interactions -execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.custom_interaction] run function gm4_furniture:interact/custom/process - # check for painting execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.dyable] if entity @p[tag=gm4_furniture_target,predicate=gm4_furniture:holding_paintbrush] run function gm4_furniture:interact/paint/detect # check for sitting execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[scores={gm4_furniture_sit_height=1..}] if entity @p[tag=gm4_furniture_target,predicate=!gm4_furniture:is_sneaking] positioned ~-0.4999 ~0.0001 ~-0.4999 run function gm4_furniture:interact/sit/find_seat +# check for custom interactions +execute if score $interaction_processed gm4_furniture_data matches 0 if entity @s[tag=gm4_furniture.custom_interaction] run function gm4_furniture:interact/custom/process + # cleanup data remove entity @s interaction diff --git a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction index 289d89aa38..0014f1e3b5 100644 --- a/gm4_furniture/data/gm4_furniture/functions/main.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/main.mcfunction @@ -6,6 +6,3 @@ execute as @e[type=horse,nbt={ArmorItems:[{tag:{gm4_furniture:"paintbrush"}}]}] # check furniture placements execute as @e[type=interaction,tag=gm4_furniture.on_wall] at @s if block ^ ^0.5 ^-1 #gm4:replaceable run function gm4_furniture:break/lost_connection execute as @e[type=interaction,tag=gm4_furniture.on_ceiling] at @s if block ^ ^1.5 ^ #gm4:replaceable run function gm4_furniture:break/lost_connection - -# TEMP: update wandering trader -execute as @e[type=wandering_trader,tag=gm4_furniture.furniture_station] at @s run function gm4_furniture:update/update_villager diff --git a/gm4_furniture/data/gm4_furniture/functions/slow_clock.mcfunction b/gm4_furniture/data/gm4_furniture/functions/slow_clock.mcfunction index f22f8c6406..83e46fdedd 100644 --- a/gm4_furniture/data/gm4_furniture/functions/slow_clock.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/slow_clock.mcfunction @@ -5,3 +5,8 @@ execute as @e[type=item_display,tag=gm4_furniture.seat] run function gm4_furnitu # process furniture stations execute as @e[type=villager,tag=gm4_furniture.furniture_station] at @s run function gm4_furniture:technical/furniture_station/activation/process + +# TEMP: update wandering trader +execute as @e[type=wandering_trader,tag=gm4_furniture.furniture_station] at @s run function gm4_furniture:update/update_villager +# TEMP: update sittable furniture +execute as @e[type=interaction,tag=gm4_furniture.sittable] run function gm4_furniture:update/update_seat diff --git a/gm4_furniture/data/gm4_furniture/functions/technical/relog.mcfunction b/gm4_furniture/data/gm4_furniture/functions/technical/relog.mcfunction new file mode 100644 index 0000000000..78883c8dbd --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/technical/relog.mcfunction @@ -0,0 +1,10 @@ +# dismount other players sitting on this furniture +# @s = player relogging +# at @s +advancement revoke @s only gm4_furniture:relog + +tag @s add gm4_furniture_target +scoreboard players set $on_seat gm4_furniture_data 0 +execute on vehicle if entity @s[tag=gm4_furniture.seat] run scoreboard players set $on_seat gm4_furniture_data 1 +execute if score $on_seat gm4_furniture_data matches 1 align xyz as @a[dx=0,dy=0,dz=0,gamemode=!spectator,tag=!gm4_furniture_target] run ride @s dismount +tag @s remove gm4_furniture_target diff --git a/gm4_furniture/data/gm4_furniture/functions/update/update_seat.mcfunction b/gm4_furniture/data/gm4_furniture/functions/update/update_seat.mcfunction new file mode 100644 index 0000000000..692f545823 --- /dev/null +++ b/gm4_furniture/data/gm4_furniture/functions/update/update_seat.mcfunction @@ -0,0 +1,5 @@ +# temp +# run from slow_clock + +tag @s remove gm4_furniture.sittable +scoreboard players set @s gm4_furniture_sit_height 50 diff --git a/gm4_furniture/data/gm4_furniture/functions/update/update_villager.mcfunction b/gm4_furniture/data/gm4_furniture/functions/update/update_villager.mcfunction index b0f06ff574..01624c36d2 100644 --- a/gm4_furniture/data/gm4_furniture/functions/update/update_villager.mcfunction +++ b/gm4_furniture/data/gm4_furniture/functions/update/update_villager.mcfunction @@ -1,3 +1,5 @@ +# temp +# run from slow_clock # grab id scoreboard players operation $furniture_id gm4_furniture_id = @s gm4_furniture_id diff --git a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction index 1f54ae9208..9eab22add6 100644 --- a/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction +++ b/gm4_furniture/data/gm4_furniture/templates/functions/furniture_place_template.mcfunction @@ -53,15 +53,15 @@ summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furnit setblock ~ ~ ~ {{ block_id }} # add placement tags -execute if score $wall_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.on_wall -execute if score $ceiling_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.on_ceiling +execute if score $wall_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.on_wall +execute if score $ceiling_only gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.on_ceiling # spawn extensions if they exist execute at @e[type=marker,tag=gm4_furniture.marked_block] run summon interaction ~-0.0001 ~-0.5001 ~-0.0001 {Tags:["gm4_furniture","gm4_furniture.interaction","gm4_furniture.additional","smithed.entity","smithed.strict","gm4_new_furniture"],height:1.0002f,width:1.0002f,response:1b} execute at @e[type=marker,tag=gm4_furniture.marked_block] run setblock ~ ~ ~ {{ block_id }} # add custom interaction tags -execute if score $custom_interaction gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture] add gm4_furniture.custom_interaction +execute if score $custom_interaction gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.custom_interaction # if furniture is a table reduce interaction height execute if score $table gm4_furniture_data matches 1 as @e[type=interaction,tag=gm4_new_furniture,distance=..8] run data modify entity @s height set value 1f @@ -71,15 +71,15 @@ execute if score $dyable gm4_furniture_data matches 1 run data modify entity @e[ execute if score $dyable gm4_furniture_data matches 1 run tag @e[type=interaction,tag=gm4_new_furniture,distance=..8] add gm4_furniture.dyable # if furniture is sittable spawn sitting item_displays at appropiate locations and add tag -scoreboard players set @e[type=interaction,tag=gm4_new_furniture] gm4_furniture_sit_height {{ sittable }} +scoreboard players set @e[type=interaction,tag=gm4_new_furniture,distance=..8] gm4_furniture_sit_height {{ sittable }} # rotate furniture depending on rotation set by player (if rotation is 1 default rotation can be kept) execute if score $rotation gm4_furniture_data matches 2.. as @e[tag=gm4_new_furniture,distance=..8] run data modify entity @s Rotation set from storage gm4_furniture:data Rotation # mark block as placed and set id playsound minecraft:block.barrel.close block @a[distance=..6] ~ ~ ~ 1 1.6 -execute store result score @e[tag=gm4_new_furniture] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 -tag @e[tag=gm4_new_furniture] remove gm4_new_furniture +execute store result score @e[tag=gm4_new_furniture,distance=..8] gm4_furniture_id run scoreboard players add $next_id gm4_furniture_id 1 +tag @e[tag=gm4_new_furniture,distance=..8] remove gm4_new_furniture # cleanup kill @e[type=marker,tag=gm4_furniture.marked_block] From c9642159bfac87373a484fb8abae24653d324989 Mon Sep 17 00:00:00 2001 From: Thanathor <73304324+TheThanathor@users.noreply.github.com> Date: Fri, 13 Sep 2024 01:29:41 +0200 Subject: [PATCH 27/34] update to 1.21 --- gm4/modeldata_registry.json | 55 +- .../assets/gm4/font/container_gui.json | 14 + gm4_furniture/assets/gm4/lang/en_us.json | 5 + .../gm4_furniture/font/container_gui.json | 14 + .../gm4_furniture/font/container_gui_OLD.json | 264 + .../assets/gm4_furniture/font/default.json | 18 + .../assets/gm4_furniture/font/furniture.json | 18 + .../assets/gm4_furniture/font/guidebook.json | 8527 +++++++++++++++++ .../gm4_furniture/font/half_invert.json | 18 + .../assets/gm4_furniture/font/minecraft.ttf | Bin 0 -> 228484 bytes .../assets/gm4_furniture/font/offscreen.json | 18 + .../assets/gm4_furniture/lang/en_us.json | 5 + .../cloth_set/horizontal_flag_1.json | 67 + .../furniture/cloth_set/paper_lantern_1.json | 114 + .../block/furniture/furniture_station.json | 115 + .../metal_set/gold/3_candelabra_1.json | 292 + .../furniture/metal_set/gold/skull_1.json | 63 + .../metal_set/iron/3_candelabra_1.json | 292 + .../furniture/stone_set/statues/allay.json | 174 + .../furniture/stone_set/statues/axolotl.json | 210 + .../furniture/stone_set/statues/bee.json | 243 + .../furniture/stone_set/statues/frog.json | 195 + .../stone_set/statues/pufferfish.json | 226 + .../furniture/wood_set/fancy/1x1_table_1.json | 164 + .../furniture/wood_set/fancy/2x2_table_1.json | 223 + .../furniture/wood_set/fancy/bench_1.json | 385 + .../furniture/wood_set/fancy/chair_1.json | 252 + .../furniture/wood_set/fancy/light_1.json | 121 + .../furniture/wood_set/fancy/stool_1.json | 167 + .../furniture/wood_set/plain/1x1_table_1.json | 101 + .../furniture/wood_set/plain/2x2_table_1.json | 128 + .../furniture/wood_set/plain/bench_1.json | 104 + .../furniture/wood_set/plain/chair_1.json | 145 + .../furniture/wood_set/plain/light_1.json | 101 + .../furniture/wood_set/plain/stool_1.json | 102 + .../models/item/furniture/paintbrush.json | 238 + .../item/furniture/set_tool/cloth_set.json | 125 + .../item/furniture/set_tool/metal_set.json | 88 + .../item/furniture/set_tool/stone_set.json | 69 + .../item/furniture/set_tool/wood_set.json | 108 + .../furniture/cloth_set/1x1_painting_1.png | Bin 0 -> 280 bytes .../furniture/cloth_set/1x2_painting_1.png | Bin 0 -> 388 bytes .../furniture/cloth_set/horizontal_flag_1.png | Bin 0 -> 303 bytes .../cloth_set/horizontal_flag_1_pole.png | Bin 0 -> 318 bytes .../furniture/cloth_set/paper_lantern_1.png | Bin 0 -> 659 bytes .../block/furniture/furniture_station.png | Bin 0 -> 1215 bytes .../metal_set/gold/3_candelabra_1.png | Bin 0 -> 434 bytes .../furniture/metal_set/gold/skull_1.png | Bin 0 -> 586 bytes .../metal_set/iron/3_candelabra_1.png | Bin 0 -> 427 bytes .../block/furniture/misc/candle_1.png | Bin 0 -> 166 bytes .../block/furniture/misc/candle_fire_1.png | Bin 0 -> 295 bytes .../furniture/misc/candle_fire_1.png.mcmeta | 5 + .../furniture/stone_set/statues/allay.png | Bin 0 -> 636 bytes .../furniture/stone_set/statues/axolotl.png | Bin 0 -> 1072 bytes .../block/furniture/stone_set/statues/bee.png | Bin 0 -> 860 bytes .../furniture/stone_set/statues/frog.png | Bin 0 -> 873 bytes .../stone_set/statues/pufferfish.png | Bin 0 -> 1225 bytes .../stone_set/statues/stone_statue_base_1.png | Bin 0 -> 633 bytes .../furniture/wood_set/fancy/1x1_table_1.png | Bin 0 -> 1335 bytes .../furniture/wood_set/fancy/2x2_table_1.png | Bin 0 -> 2862 bytes .../furniture/wood_set/fancy/bench_1.png | Bin 0 -> 3064 bytes .../furniture/wood_set/fancy/chair_1.png | Bin 0 -> 1980 bytes .../furniture/wood_set/fancy/light_1.png | Bin 0 -> 725 bytes .../furniture/wood_set/fancy/stool_1.png | Bin 0 -> 839 bytes .../furniture/wood_set/plain/1x1_table_1.png | Bin 0 -> 834 bytes .../furniture/wood_set/plain/2x2_table_1.png | Bin 0 -> 1963 bytes .../furniture/wood_set/plain/bench_1.png | Bin 0 -> 1205 bytes .../furniture/wood_set/plain/chair_1.png | Bin 0 -> 960 bytes .../furniture/wood_set/plain/light_1.png | Bin 0 -> 204 bytes .../furniture/wood_set/plain/stool_1.png | Bin 0 -> 784 bytes .../font/furniture/negative_space.png | Bin 0 -> 120 bytes .../old2_crafting_machine_gui_1_1.png | Bin 0 -> 5752 bytes .../old3_crafting_machine_gui_1_1.png | Bin 0 -> 7404 bytes .../old_crafting_machine_gui_1_1.png | Bin 0 -> 2404 bytes .../textures/font_magic/block_sheet.png | Bin 0 -> 1769879 bytes .../textures/font_magic/numbers.png | Bin 0 -> 236 bytes .../textures/font_magic/pixel.png | Bin 0 -> 122 bytes .../textures/font_magic/spacing_square.png | Bin 0 -> 106 bytes .../gui/container/furniture_station_1.png | Bin 0 -> 7732 bytes .../gui/container/furniture_station_2.png | Bin 0 -> 1460 bytes .../textures/item/furniture/paintbrush.png | Bin 0 -> 322 bytes .../item/furniture/set_tool/cloth_set.png | Bin 0 -> 270 bytes .../item/furniture/set_tool/metal_set.png | Bin 0 -> 467 bytes .../item/furniture/set_tool/stone_set.png | Bin 0 -> 281 bytes .../item/furniture/set_tool/wood_set.png | Bin 0 -> 274 bytes .../shaders/core/rendertype_entity_cutout.fsh | 30 + .../shaders/core/rendertype_entity_cutout.vsh | 39 + .../core/rendertype_entity_cutout_no_cull.fsh | 30 + .../core/rendertype_entity_cutout_no_cull.vsh | 39 + ...dertype_entity_cutout_no_cull_z_offset.fsh | 30 + ...dertype_entity_cutout_no_cull_z_offset.vsh | 39 + .../core/rendertype_entity_no_outline.fsh | 26 + .../core/rendertype_entity_no_outline.vsh | 35 + .../shaders/core/rendertype_entity_solid.fsh | 29 + .../shaders/core/rendertype_entity_solid.vsh | 39 + .../core/rendertype_entity_translucent.fsh | 30 + .../core/rendertype_entity_translucent.vsh | 39 + .../rendertype_entity_translucent_cull.fsh | 28 + .../rendertype_entity_translucent_cull.vsh | 40 + ...endertype_item_entity_translucent_cull.fsh | 28 + ...endertype_item_entity_translucent_cull.vsh | 40 + .../shaders/include/emissive_utils.glsl | 145 + gm4_furniture/assets/model_data.yaml | 5 + gm4_furniture/beet.yaml | 9 +- .../crafted_furniture.json | 0 .../hit_furniture.json | 4 +- .../interact_with_furniture.json | 0 .../lightning.json | 0 .../place_furniture.json | 5 +- .../{advancements => advancement}/relog.json | 0 .../use_paintbrush_on_horse.json | 0 .../break/decimal_to_hex.mcfunction | 0 .../break/destroy.mcfunction | 4 +- .../break/detect_hit.mcfunction | 0 .../break/drop_item.mcfunction | 4 +- .../break/find_main.mcfunction | 0 .../break/get_color.mcfunction | 2 +- .../break/lost_connection.mcfunction | 0 .../break/process_hit.mcfunction | 0 .../break/remove_block.mcfunction | 0 .../break/remove_furniture_station.mcfunction | 0 .../check_recipes.mcfunction | 0 .../{functions => function}/init.mcfunction | 0 .../stone_set/statues_allay.mcfunction | 0 .../stone_set/statues_axolotl.mcfunction | 0 .../stone_set/statues_bee.mcfunction | 0 .../stone_set/statues_frog.mcfunction | 0 .../stone_set/statues_pufferfish.mcfunction | 0 .../interact/custom/process.mcfunction | 2 +- .../custom/resolve_function.mcfunction | 0 .../interact/detect.mcfunction | 0 .../craft_furniture.mcfunction | 0 .../furniture_station/swap_tool.mcfunction | 0 .../interact/paint/detect.mcfunction | 2 +- .../interact/paint/process.mcfunction | 2 +- .../interact/process.mcfunction | 0 .../interact/sit/check.mcfunction | 0 .../interact/sit/find_seat.mcfunction | 0 .../interact/sit/init_seat.mcfunction | 2 +- .../interact/sit/spawn_seat.mcfunction | 0 .../interact/waterlog/check.mcfunction | 0 .../interact/waterlog/log.mcfunction | 0 .../interact/waterlog/unlog.mcfunction | 0 .../{functions => function}/main.mcfunction | 2 +- .../place/check_diagonal_placement.mcfunction | 0 .../place/check_layer.mcfunction | 108 +- .../place/check_size/depth_loop.mcfunction | 0 .../place/check_size/depth_offset.mcfunction | 0 .../place/check_size/depth_prep.mcfunction | 0 .../place/check_size/height_loop.mcfunction | 0 .../place/check_size/height_offset.mcfunction | 0 .../place/check_size/height_prep.mcfunction | 0 .../place/check_size/length_loop.mcfunction | 0 .../place/check_size/length_offset.mcfunction | 0 .../place/check_size/length_prep.mcfunction | 0 .../place/count_heads/east.mcfunction | 22 +- .../place/count_heads/north.mcfunction | 22 +- .../place/count_heads/south.mcfunction | 22 +- .../place/count_heads/west.mcfunction | 22 +- .../furniture/furniture_station.mcfunction | 16 +- .../place/place_furniture.mcfunction | 4 +- .../place/prep_place.mcfunction | 0 .../place/resolve_id.mcfunction | 0 .../slow_clock.mcfunction | 5 - .../activation/process.mcfunction | 0 .../activation/turn_active.mcfunction | 0 .../activation/turn_inactive.mcfunction | 0 .../build_trades/build_trade.mcfunction | 10 +- .../build_trades/get_trade_data.mcfunction | 0 .../build_trades/prep.mcfunction | 8 +- .../build_trades/resolve_trade.mcfunction | 0 .../lightning/detect.mcfunction | 0 .../lightning/get_scores.mcfunction | 0 .../lightning/revive_villager.mcfunction | 0 .../paintbrush/remove_from_horse.mcfunction | 2 +- .../paintbrush/return_from_horse.mcfunction | 0 .../paintbrush/used_on_horse.mcfunction | 2 +- .../technical/relog.mcfunction | 0 .../functions/update/update_seat.mcfunction | 5 - .../update/update_villager.mcfunction | 18 - .../get_color.json | 0 .../crafting/furniture_station.json | 2 +- .../crafting/paintbrush.json | 2 +- .../loot_table/furniture/base.json | 35 + .../furniture/furniture_station.json | 2 +- .../loot_table/items/furniture_station.json | 52 + .../items/paintbrush.json | 12 +- .../technical/drop_horse_paintbrush.json | 2 +- .../loot_tables/furniture/base.json | 20 - .../loot_tables/items/furniture_station.json | 29 - .../chance/animal_statue_sound.json | 0 .../holding_bucket.json | 0 .../holding_empty_bucket.json | 0 .../holding_paintbrush.json | 0 .../holding_water_bucket.json | 0 .../is_sneaking.json | 0 .../{blocks => block}/furniture_blocks.json | 0 .../tags/{blocks => block}/player_heads.json | 0 .../function}/crafting_template.mcfunction | 0 .../furniture_place_template.mcfunction | 4 +- .../loot_table}/furniture_item_template.json | 33 +- gm4_furniture/generate.py | 70 +- .../raw_data/furniture_set/cloth_set.csv | 6 +- .../raw_data/furniture_set/metal_set.csv | 8 +- .../raw_data/furniture_set/stone_set.csv | 12 +- .../raw_data/furniture_set/wood_set.csv | 26 +- gm4_furniture/raw_data/tool_cmds.csv | 5 - 207 files changed, 14607 insertions(+), 281 deletions(-) create mode 100644 gm4_furniture/assets/gm4/font/container_gui.json create mode 100644 gm4_furniture/assets/gm4/lang/en_us.json create mode 100644 gm4_furniture/assets/gm4_furniture/font/container_gui.json create mode 100644 gm4_furniture/assets/gm4_furniture/font/container_gui_OLD.json create mode 100644 gm4_furniture/assets/gm4_furniture/font/default.json create mode 100644 gm4_furniture/assets/gm4_furniture/font/furniture.json create mode 100644 gm4_furniture/assets/gm4_furniture/font/guidebook.json create mode 100644 gm4_furniture/assets/gm4_furniture/font/half_invert.json create mode 100644 gm4_furniture/assets/gm4_furniture/font/minecraft.ttf create mode 100644 gm4_furniture/assets/gm4_furniture/font/offscreen.json create mode 100644 gm4_furniture/assets/gm4_furniture/lang/en_us.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/cloth_set/horizontal_flag_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/cloth_set/paper_lantern_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/furniture_station.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/gold/3_candelabra_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/gold/skull_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/iron/3_candelabra_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/allay.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/axolotl.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/bee.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/frog.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/pufferfish.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/1x1_table_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/2x2_table_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/bench_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/chair_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/light_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/stool_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/1x1_table_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/2x2_table_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/bench_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/chair_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/light_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/stool_1.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/item/furniture/paintbrush.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/cloth_set.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/metal_set.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/stone_set.json create mode 100644 gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/wood_set.json create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/cloth_set/1x1_painting_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/cloth_set/1x2_painting_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/cloth_set/horizontal_flag_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/cloth_set/horizontal_flag_1_pole.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/cloth_set/paper_lantern_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/furniture_station.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/metal_set/gold/3_candelabra_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/metal_set/gold/skull_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/metal_set/iron/3_candelabra_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/misc/candle_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/misc/candle_fire_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/misc/candle_fire_1.png.mcmeta create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/stone_set/statues/allay.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/stone_set/statues/axolotl.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/stone_set/statues/bee.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/stone_set/statues/frog.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/stone_set/statues/pufferfish.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/stone_set/statues/stone_statue_base_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/1x1_table_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/2x2_table_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/bench_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/chair_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/light_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/stool_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/1x1_table_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/2x2_table_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/bench_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/chair_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/light_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/stool_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/font/furniture/negative_space.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/font/furniture/old2_crafting_machine_gui_1_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/font/furniture/old3_crafting_machine_gui_1_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/font/furniture/old_crafting_machine_gui_1_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/font_magic/block_sheet.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/font_magic/numbers.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/font_magic/pixel.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/font_magic/spacing_square.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/gui/container/furniture_station_1.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/gui/container/furniture_station_2.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/item/furniture/paintbrush.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/item/furniture/set_tool/cloth_set.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/item/furniture/set_tool/metal_set.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/item/furniture/set_tool/stone_set.png create mode 100644 gm4_furniture/assets/gm4_furniture/textures/item/furniture/set_tool/wood_set.png create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_cutout.fsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_cutout.vsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_cutout_no_cull.fsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_cutout_no_cull.vsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_cutout_no_cull_z_offset.fsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_cutout_no_cull_z_offset.vsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_no_outline.fsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_no_outline.vsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_solid.fsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_solid.vsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_translucent.fsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_translucent.vsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_translucent_cull.fsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_entity_translucent_cull.vsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_item_entity_translucent_cull.fsh create mode 100644 gm4_furniture/assets/minecraft/shaders/core/rendertype_item_entity_translucent_cull.vsh create mode 100644 gm4_furniture/assets/minecraft/shaders/include/emissive_utils.glsl create mode 100644 gm4_furniture/assets/model_data.yaml rename gm4_furniture/data/gm4_furniture/{advancements => advancement}/crafted_furniture.json (100%) rename gm4_furniture/data/gm4_furniture/{advancements => advancement}/hit_furniture.json (91%) rename gm4_furniture/data/gm4_furniture/{advancements => advancement}/interact_with_furniture.json (100%) rename gm4_furniture/data/gm4_furniture/{advancements => advancement}/lightning.json (100%) rename gm4_furniture/data/gm4_furniture/{advancements => advancement}/place_furniture.json (89%) rename gm4_furniture/data/gm4_furniture/{advancements => advancement}/relog.json (100%) rename gm4_furniture/data/gm4_furniture/{advancements => advancement}/use_paintbrush_on_horse.json (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/decimal_to_hex.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/destroy.mcfunction (87%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/detect_hit.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/drop_item.mcfunction (56%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/find_main.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/get_color.mcfunction (91%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/lost_connection.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/process_hit.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/remove_block.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/break/remove_furniture_station.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/check_recipes.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/init.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/custom/furniture/stone_set/statues_allay.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/custom/furniture/stone_set/statues_axolotl.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/custom/furniture/stone_set/statues_bee.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/custom/furniture/stone_set/statues_frog.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/custom/furniture/stone_set/statues_pufferfish.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/custom/process.mcfunction (88%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/custom/resolve_function.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/detect.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/furniture_station/craft_furniture.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/furniture_station/swap_tool.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/paint/detect.mcfunction (85%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/paint/process.mcfunction (91%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/process.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/sit/check.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/sit/find_seat.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/sit/init_seat.mcfunction (85%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/sit/spawn_seat.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/waterlog/check.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/waterlog/log.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/interact/waterlog/unlog.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/main.mcfunction (70%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_diagonal_placement.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_layer.mcfunction (54%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_size/depth_loop.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_size/depth_offset.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_size/depth_prep.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_size/height_loop.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_size/height_offset.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_size/height_prep.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_size/length_loop.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_size/length_offset.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/check_size/length_prep.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/count_heads/east.mcfunction (74%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/count_heads/north.mcfunction (74%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/count_heads/south.mcfunction (74%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/count_heads/west.mcfunction (74%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/furniture/furniture_station.mcfunction (75%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/place_furniture.mcfunction (95%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/prep_place.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/place/resolve_id.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/slow_clock.mcfunction (54%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/activation/process.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/activation/turn_active.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/activation/turn_inactive.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/build_trades/build_trade.mcfunction (75%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/build_trades/get_trade_data.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/build_trades/prep.mcfunction (76%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/build_trades/resolve_trade.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/lightning/detect.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/lightning/get_scores.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/furniture_station/lightning/revive_villager.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/paintbrush/remove_from_horse.mcfunction (91%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/paintbrush/return_from_horse.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/paintbrush/used_on_horse.mcfunction (70%) rename gm4_furniture/data/gm4_furniture/{functions => function}/technical/relog.mcfunction (100%) delete mode 100644 gm4_furniture/data/gm4_furniture/functions/update/update_seat.mcfunction delete mode 100644 gm4_furniture/data/gm4_furniture/functions/update/update_villager.mcfunction rename gm4_furniture/data/gm4_furniture/{item_modifiers => item_modifier}/get_color.json (100%) rename gm4_furniture/data/gm4_furniture/{loot_tables => loot_table}/crafting/furniture_station.json (88%) rename gm4_furniture/data/gm4_furniture/{loot_tables => loot_table}/crafting/paintbrush.json (89%) create mode 100644 gm4_furniture/data/gm4_furniture/loot_table/furniture/base.json rename gm4_furniture/data/gm4_furniture/{loot_tables => loot_table}/furniture/furniture_station.json (70%) create mode 100644 gm4_furniture/data/gm4_furniture/loot_table/items/furniture_station.json rename gm4_furniture/data/gm4_furniture/{loot_tables => loot_table}/items/paintbrush.json (58%) rename gm4_furniture/data/gm4_furniture/{loot_tables => loot_table}/technical/drop_horse_paintbrush.json (93%) delete mode 100644 gm4_furniture/data/gm4_furniture/loot_tables/furniture/base.json delete mode 100644 gm4_furniture/data/gm4_furniture/loot_tables/items/furniture_station.json rename gm4_furniture/data/gm4_furniture/{predicates => predicate}/chance/animal_statue_sound.json (100%) rename gm4_furniture/data/gm4_furniture/{predicates => predicate}/holding_bucket.json (100%) rename gm4_furniture/data/gm4_furniture/{predicates => predicate}/holding_empty_bucket.json (100%) rename gm4_furniture/data/gm4_furniture/{predicates => predicate}/holding_paintbrush.json (100%) rename gm4_furniture/data/gm4_furniture/{predicates => predicate}/holding_water_bucket.json (100%) rename gm4_furniture/data/gm4_furniture/{predicates => predicate}/is_sneaking.json (100%) rename gm4_furniture/data/gm4_furniture/tags/{blocks => block}/furniture_blocks.json (100%) rename gm4_furniture/data/gm4_furniture/tags/{blocks => block}/player_heads.json (100%) rename gm4_furniture/data/gm4_furniture/{templates/functions => template/function}/crafting_template.mcfunction (100%) rename gm4_furniture/data/gm4_furniture/{templates/functions => template/function}/furniture_place_template.mcfunction (92%) rename gm4_furniture/data/gm4_furniture/{templates/loot_tables => template/loot_table}/furniture_item_template.json (83%) delete mode 100644 gm4_furniture/raw_data/tool_cmds.csv diff --git a/gm4/modeldata_registry.json b/gm4/modeldata_registry.json index a79ed98c6b..7c80351902 100644 --- a/gm4/modeldata_registry.json +++ b/gm4/modeldata_registry.json @@ -225,7 +225,11 @@ "gm4_metallurgy:shamir/infinitas": 100 }, "command_block": { - "gm4:gui/advancement/root": 1 + "gm4:gui/advancement/root": 1, + "gm4_furniture:item/furniture/set_tool/cloth_set": 2, + "gm4_furniture:item/furniture/set_tool/metal_set": 3, + "gm4_furniture:item/furniture/set_tool/stone_set": 4, + "gm4_furniture:item/furniture/set_tool/wood_set": 5 }, "compass": { "gm4_metallurgy:shamir/sensus": 101, @@ -968,6 +972,32 @@ "gm4_metallurgy:shamir/defuse": 106, "gm4_animi_shamir:shamir/animi": 124 }, + "leather_horse_armor": { + "gm4_furniture:item/furniture/paintbrush": 1, + "gm4_furniture:block/furniture/cloth_set/paper_lantern_1": 11, + "gm4_furniture:block/furniture/cloth_set/horizontal_flag_1": 16, + "gm4_furniture:block/furniture/metal_set/iron/3_candelabra_1": 18, + "gm4_furniture:block/furniture/metal_set/gold/3_candelabra_1": 30, + "gm4_furniture:block/furniture/metal_set/gold/skull_1": 31, + "gm4_furniture:block/furniture/stone_set/statues/frog": 32, + "gm4_furniture:block/furniture/stone_set/statues/bee": 33, + "gm4_furniture:block/furniture/stone_set/statues/pufferfish": 34, + "gm4_furniture:block/furniture/stone_set/statues/axolotl": 35, + "gm4_furniture:block/furniture/stone_set/statues/allay": 36, + "gm4_furniture:block/furniture/wood_set/plain/1x1_table_1": 37, + "gm4_furniture:block/furniture/wood_set/plain/2x2_table_1": 38, + "gm4_furniture:block/furniture/wood_set/plain/bench_1": 39, + "gm4_furniture:block/furniture/wood_set/plain/chair_1": 52, + "gm4_furniture:block/furniture/wood_set/plain/stool_1": 53, + "gm4_furniture:block/furniture/wood_set/plain/light_1": 59, + "gm4_furniture:block/furniture/wood_set/fancy/1x1_table_1": 60, + "gm4_furniture:block/furniture/wood_set/fancy/2x2_table_1": 62, + "gm4_furniture:block/furniture/wood_set/fancy/bench_1": 63, + "gm4_furniture:block/furniture/wood_set/fancy/chair_1": 64, + "gm4_furniture:block/furniture/wood_set/fancy/stool_1": 65, + "gm4_furniture:block/furniture/wood_set/fancy/light_1": 66, + "gm4_furniture:block/furniture/furniture_station": 67 + }, "leather_leggings": { "gm4_washing_tanks:guidebook_icon/washing_tanks": 1, "gm4_weighted_armour:shamir/helious": 103, @@ -1254,11 +1284,14 @@ "gm4_heart_canisters:item/heart_canister_tier_2": 8, "gm4_scuba_gear:item/scuba_helmet": 9, "gm4_heart_canisters:guidebook_icon/heart_canisters": 10, + "gm4_furniture:block/furniture/cloth_set/paper_lantern_1": 11, "gm4_zauber_cauldrons:item/crystal/speed": 12, "gm4_zauber_cauldrons:item/crystal/regeneration": 13, "gm4_end_fishing:item/enderpuff": 14, "gm4_tinkering_compressors:gui/advancement/tinkering_compressors": 15, + "gm4_furniture:block/furniture/cloth_set/horizontal_flag_1": 16, "gm4_metallurgy:item/lump/bismutite": 17, + "gm4_furniture:block/furniture/metal_set/iron/3_candelabra_1": 18, "gm4_metallurgy:item/lump/baryte": 19, "gm4_metallurgy:item/lump/thorianite": 20, "gm4_metallurgy:item/lump/bauxite": 21, @@ -1270,6 +1303,16 @@ "gm4_relocators:item/relocator_empty": 27, "gm4_ender_hoppers:block/ender_hopper_side": 28, "gm4_ender_hoppers:block/ender_hopper_minecart": 29, + "gm4_furniture:block/furniture/metal_set/gold/3_candelabra_1": 30, + "gm4_furniture:block/furniture/metal_set/gold/skull_1": 31, + "gm4_furniture:block/furniture/stone_set/statues/frog": 32, + "gm4_furniture:block/furniture/stone_set/statues/bee": 33, + "gm4_furniture:block/furniture/stone_set/statues/pufferfish": 34, + "gm4_furniture:block/furniture/stone_set/statues/axolotl": 35, + "gm4_furniture:block/furniture/stone_set/statues/allay": 36, + "gm4_furniture:block/furniture/wood_set/plain/1x1_table_1": 37, + "gm4_furniture:block/furniture/wood_set/plain/2x2_table_1": 38, + "gm4_furniture:block/furniture/wood_set/plain/bench_1": 39, "gm4_tnt_landmines:item/tnt_landmine": 40, "gm4_tnt_landmines:item/tnt_landmine_grass": 41, "gm4_tnt_landmines:item/tnt_landmine_dirt": 42, @@ -1282,12 +1325,22 @@ "gm4_metallurgy:gui/advancement/metallurgy_blast_ore": 49, "gm4_metallurgy:gui/advancement/metallurgy_cast": 50, "gm4_relocators:gui/advancement/relocators": 51, + "gm4_furniture:block/furniture/wood_set/plain/chair_1": 52, + "gm4_furniture:block/furniture/wood_set/plain/stool_1": 53, "gm4_zauber_cauldrons:item/crystal/instant_damage": 54, "gm4_zauber_cauldrons:item/crystal/instant_health": 55, "gm4_zauber_cauldrons:item/crystal/jump_boost": 56, "gm4_zauber_cauldrons:item/crystal/poison": 57, "gm4_zauber_cauldrons:item/crystal/strength": 58, + "gm4_furniture:block/furniture/wood_set/plain/light_1": 59, + "gm4_furniture:block/furniture/wood_set/fancy/1x1_table_1": 60, "gm4_relocators:item/relocator_full": 61, + "gm4_furniture:block/furniture/wood_set/fancy/2x2_table_1": 62, + "gm4_furniture:block/furniture/wood_set/fancy/bench_1": 63, + "gm4_furniture:block/furniture/wood_set/fancy/chair_1": 64, + "gm4_furniture:block/furniture/wood_set/fancy/stool_1": 65, + "gm4_furniture:block/furniture/wood_set/fancy/light_1": 66, + "gm4_furniture:block/furniture/furniture_station": 67, "gm4_metallurgy:shamir/infinitas": 100, "gm4_metallurgy:shamir/sensus": 101, "gm4_weighted_armour:shamir/helious": 103, diff --git a/gm4_furniture/assets/gm4/font/container_gui.json b/gm4_furniture/assets/gm4/font/container_gui.json new file mode 100644 index 0000000000..a343831830 --- /dev/null +++ b/gm4_furniture/assets/gm4/font/container_gui.json @@ -0,0 +1,14 @@ +{ + "providers": [ + { + "type": "space", + "advances": { + "\u8100": -1, + "\u8020": -224, + "\u8021": -128, + "\u8022": 39 + + } + } + ] +} diff --git a/gm4_furniture/assets/gm4/lang/en_us.json b/gm4_furniture/assets/gm4/lang/en_us.json new file mode 100644 index 0000000000..4df8a8373b --- /dev/null +++ b/gm4_furniture/assets/gm4/lang/en_us.json @@ -0,0 +1,5 @@ +{ + "OLDgui.gm4.furniture_station": "\u9021\u9020\u9100\u9022\u9023", + "OLDgui.gm4.furniture_station.offset": "\u9024", + "gui.gm4.furniture_station.offset": "\u8022" +} diff --git a/gm4_furniture/assets/gm4_furniture/font/container_gui.json b/gm4_furniture/assets/gm4_furniture/font/container_gui.json new file mode 100644 index 0000000000..a343831830 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/font/container_gui.json @@ -0,0 +1,14 @@ +{ + "providers": [ + { + "type": "space", + "advances": { + "\u8100": -1, + "\u8020": -224, + "\u8021": -128, + "\u8022": 39 + + } + } + ] +} diff --git a/gm4_furniture/assets/gm4_furniture/font/container_gui_OLD.json b/gm4_furniture/assets/gm4_furniture/font/container_gui_OLD.json new file mode 100644 index 0000000000..9f469fde05 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/font/container_gui_OLD.json @@ -0,0 +1,264 @@ +{ + "providers": [ + { + "type": "space", + "advances": { + "\uf824": 3, + "\uf808": -10, + "\u9100": -1 + } + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/block_compressor.png", + "ascent": 13, + "height": 166, + "chars": [ + "\u9000" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/block_compressor.png", + "ascent": -32768, + "height": -83, + "chars": [ + "\u9001" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/custom_crafter.png", + "ascent": 13, + "height": 166, + "chars": [ + "\u9002" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/custom_crafter.png", + "ascent": -32768, + "height": -83, + "chars": [ + "\u9003" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/disassembler.png", + "ascent": 13, + "height": 166, + "chars": [ + "\u9004" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/disassembler.png", + "ascent": -32768, + "height": -83, + "chars": [ + "\u9005" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/enchantment_extractor.png", + "ascent": 13, + "height": 166, + "chars": [ + "\u9006" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/enchantment_extractor.png", + "ascent": -32768, + "height": -83, + "chars": [ + "\u9007" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/ender_hopper.png", + "ascent": 13, + "height": 133, + "chars": [ + "\u9008" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/ender_hopper.png", + "ascent": -32768, + "height": -133, + "chars": [ + "\u9009" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/forming_press.png", + "ascent": 13, + "height": 166, + "chars": [ + "\u9010" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/forming_press.png", + "ascent": -32768, + "height": -83, + "chars": [ + "\u9011" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/liquid_tank.png", + "ascent": 13, + "height": 133, + "chars": [ + "\u9012" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/liquid_tank.png", + "ascent": -32768, + "height": -133, + "chars": [ + "\u9013" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/smeltery.png", + "ascent": 13, + "height": 166, + "chars": [ + "\u9014" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/smeltery.png", + "ascent": -32768, + "height": -83, + "chars": [ + "\u9015" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/teleportation_jammer.png", + "ascent": 13, + "height": 166, + "chars": [ + "\u9016" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/teleportation_jammer.png", + "ascent": -32768, + "height": -83, + "chars": [ + "\u9017" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/tinkering_compressor.png", + "ascent": 13, + "height": 166, + "chars": [ + "\u9018" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/tinkering_compressor.png", + "ascent": -32768, + "height": -83, + "chars": [ + "\u9019" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/furniture_station_1.png", + "ascent": 20, + "height": 256, + "chars": [ + "\u9020" + ] + }, + { + "type": "space", + "advances": { + "\u9021": -224 + } + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/furniture_station_2.png", + "ascent": 20, + "height": 256, + "chars": [ + "\u9022" + ] + }, + { + "type": "space", + "advances": { + "\u9023": -128 + } + }, + { + "type": "space", + "advances": { + "\u9024": 39 + } + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/empty_hopper.png", + "ascent": 13, + "height": 133, + "chars": [ + "\u9100" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/empty_hopper.png", + "ascent": -32768, + "height": -133, + "chars": [ + "\u9101" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/empty_dropper.png", + "ascent": 13, + "height": 166, + "chars": [ + "\u9102" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:gui/container/empty_dropper.png", + "ascent": -32768, + "height": -83, + "chars": [ + "\u9103" + ] + } + ] +} diff --git a/gm4_furniture/assets/gm4_furniture/font/default.json b/gm4_furniture/assets/gm4_furniture/font/default.json new file mode 100644 index 0000000000..cb0ad84f41 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/font/default.json @@ -0,0 +1,18 @@ +{ + "providers": [ + { + "type": "space", + "advances": { + " ": 4, + "\u200c": 0 + } + }, + { + "type": "ttf", + "file": "gm4_furniture:minecraft.ttf", + "shift": [0,-0.5], + "size": 13, + "oversample": 7 + } + ] +} diff --git a/gm4_furniture/assets/gm4_furniture/font/furniture.json b/gm4_furniture/assets/gm4_furniture/font/furniture.json new file mode 100644 index 0000000000..b107682546 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/font/furniture.json @@ -0,0 +1,18 @@ +{ + "providers": [ + { + "type": "space", + "advances": { + " ": 4, + "\u200c": 0 + } + }, + { + "type": "ttf", + "file": "minecraft.ttf", + "shift": [0,3], + "size": 13, + "oversample": 7 + } + ] +} diff --git a/gm4_furniture/assets/gm4_furniture/font/guidebook.json b/gm4_furniture/assets/gm4_furniture/font/guidebook.json new file mode 100644 index 0000000000..cd490fb2a2 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/font/guidebook.json @@ -0,0 +1,8527 @@ +{ + "providers": [ + { + "comment": "Many thanks to AmberW#4615 for this invaluable concept", + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -3, + "chars": [ + "\uf801" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -4, + "chars": [ + "\uf802" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -5, + "chars": [ + "\uf803" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -6, + "chars": [ + "\uf804" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -7, + "chars": [ + "\uf805" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\uf806" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\uf807" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -10, + "chars": [ + "\uf808" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -18, + "chars": [ + "\uf809" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -34, + "chars": [ + "\uf80a" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -66, + "chars": [ + "\uf80b" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -130, + "chars": [ + "\uf80c" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -258, + "chars": [ + "\uf80d" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -514, + "chars": [ + "\uf80e" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": -1026, + "chars": [ + "\uf80f" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 0, + "chars": [ + "\uf821" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 1, + "chars": [ + "\uf822" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 2, + "chars": [ + "\uf823" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 3, + "chars": [ + "\uf824" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 4, + "chars": [ + "\uf825" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 5, + "chars": [ + "\uf826" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 6, + "chars": [ + "\uf827" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 7, + "chars": [ + "\uf828" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 15, + "chars": [ + "\uf829" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 31, + "chars": [ + "\uf82a" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 63, + "chars": [ + "\uf82b" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 127, + "chars": [ + "\uf82c" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 255, + "chars": [ + "\uf82d" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 511, + "chars": [ + "\uf82e" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 1023, + "chars": [ + "\uf82f" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32770, + "height": -32770, + "chars": [ + "\uf800" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/pixel.png", + "ascent": -32768, + "height": 32767, + "chars": [ + "\uf820" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/acacia_boat.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0903" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/acacia_door.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0904" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/acacia_sapling.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0905" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/acacia_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0906" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/activator_rail.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0907" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/allium.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0908" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/amethyst_cluster.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0909" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/amethyst_shard.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u090a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/apple.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u090b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/armor_stand.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u090c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/arrow.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u090d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/axolotl_bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u090e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/azure_bluet.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u090f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/baked_potato.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0910" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bamboo.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0911" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/barrier.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0912" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/beef.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0913" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/beetroot.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0914" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/beetroot_seeds.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0915" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/beetroot_soup.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0916" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bell.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0917" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/birch_boat.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0918" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/birch_door.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0919" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/birch_sapling.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u091a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/birch_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u091b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/black_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u091c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/black_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u091d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/black_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u091e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/blaze_powder.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u091f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/blaze_rod.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0920" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/blue_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0921" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/blue_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0922" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/blue_orchid.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0923" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/blue_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0924" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bone.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0925" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bone_meal.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0926" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/book.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0927" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bow.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0928" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bowl.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0929" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/brain_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u092a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/brain_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u092b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bread.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u092c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/brewing_stand.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u092d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/brick.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u092e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/broken_elytra.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u092f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/brown_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0930" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/brown_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0931" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/brown_mushroom.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0932" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/brown_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0933" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/bubble_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0934" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/bubble_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0935" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0936" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bundle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0937" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bundle_filled.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0938" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cake.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0939" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/campfire.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u093a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u093b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/carrot.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u093c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/carrot_on_a_stick.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u093d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cauldron.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u093e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chain.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u093f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chainmail_boots.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0940" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chainmail_chestplate.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0941" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chainmail_helmet.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0942" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chainmail_leggings.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0943" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/charcoal.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0944" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chest_minecart.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0945" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chicken.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0946" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chorus_fruit.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0947" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/clay_ball.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0948" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/clock_00.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0949" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/coal.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u094a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/cobweb.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u094b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cocoa_beans.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u094c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cod.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u094d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cod_bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u094e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/command_block_minecart.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u094f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/comparator.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0950" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/compass_16.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0951" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_beef.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0952" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_chicken.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0953" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_cod.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0954" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_mutton.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0955" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_porkchop.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0956" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_rabbit.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0957" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_salmon.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0958" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cookie.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0959" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/copper_ingot.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u095a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/cornflower.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u095b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/creeper_banner_pattern.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u095c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crimson_door.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u095d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/crimson_fungus.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u095e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/crimson_roots.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u095f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crimson_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0960" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crossbow_standby.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0961" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crossbow_arrow.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0962" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crossbow_firework.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0963" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cyan_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0964" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cyan_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0965" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/cyan_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0966" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dandelion.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0967" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dark_oak_boat.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0968" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dark_oak_door.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0969" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dark_oak_sapling.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u096a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dark_oak_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u096b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_brain_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u096c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_brain_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u096d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_bubble_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u096e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_bubble_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u096f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_bush.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0970" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_fire_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0971" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_fire_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0972" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_horn_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0973" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_horn_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0974" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_tube_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0975" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_tube_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0976" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/detector_rail.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0977" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0978" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_axe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0979" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_boots.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u097a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_chestplate.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u097b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_helmet.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u097c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_hoe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u097d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_horse_armor.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u097e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_leggings.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u097f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_pickaxe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0980" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_shovel.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0981" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_sword.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0982" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dragon_breath.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0983" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dried_kelp.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0984" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/egg.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0985" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/elytra.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0986" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/emerald.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0987" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/enchanted_book.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0988" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/end_crystal.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0989" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/ender_eye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u098a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/ender_pearl.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u098b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/experience_bottle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u098c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/feather.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u098d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/fermented_spider_eye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u098e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/fern.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u098f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/filled_map.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0990" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/filled_map_markings.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0991" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/fire_charge.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0992" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/fire_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0993" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/fire_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0994" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/firework_rocket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0995" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/firework_star.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0996" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/firework_star_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0997" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/fishing_rod.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0998" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/flint.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0999" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/flint_and_steel.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u099a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/flower_banner_pattern.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u099b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/flower_pot.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u099c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/furnace_minecart.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u099d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/ghast_tear.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u099e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glass_bottle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u099f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glistering_melon_slice.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/globe_banner_pattern.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glow_berries.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glow_ink_sac.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glow_item_frame.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/glow_lichen.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glowstone_dust.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gold_ingot.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gold_nugget.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09a9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_apple.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09aa" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_axe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ab" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_boots.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ac" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_carrot.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ad" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_chestplate.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ae" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_helmet.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09af" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_hoe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_horse_armor.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_leggings.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_pickaxe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_shovel.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_sword.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/grass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gray_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gray_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/gray_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09b9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/green_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ba" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/green_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09bb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/green_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09bc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gunpowder.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09bd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/hanging_roots.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09be" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/heart_of_the_sea.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09bf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/honey_bottle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/honeycomb.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/hopper.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/hopper_minecart.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/horn_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/horn_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/ink_sac.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_axe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/iron_bars.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_boots.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09c9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_chestplate.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ca" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_door.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09cb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_helmet.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09cc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_hoe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09cd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_horse_armor.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ce" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_ingot.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09cf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_leggings.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_nugget.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_pickaxe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_shovel.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_sword.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/item_frame.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/jungle_boat.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/jungle_door.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/jungle_sapling.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/jungle_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09d9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/kelp.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09da" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/knowledge_book.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09db" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/ladder.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09dc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lantern.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09dd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lapis_lazuli.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09de" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/large_amethyst_bud.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09df" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/large_fern_top.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lava_bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lead.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_boots.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_boots_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_chestplate.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_chestplate_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_helmet.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_helmet_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09e9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_horse_armor.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ea" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_leggings.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09eb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_leggings_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ec" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lever.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ed" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ee" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_00.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ef" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_01.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_02.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_03.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_04.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_05.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_06.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_07.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_08.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_09.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_10.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09f9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_11.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09fa" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_12.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09fb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_13.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09fc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_14.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09fd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_15.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09fe" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_blue_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u09ff" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_blue_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a00" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/light_blue_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a01" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_gray_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a02" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_gray_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a03" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/light_gray_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a04" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lilac_top.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a05" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lily_of_the_valley.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a06" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lily_pad.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a07" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lime_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a08" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lime_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a09" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lime_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a0a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lingering_potion.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a0b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/magenta_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a0c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/magenta_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a0d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/magenta_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a0e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/magma_cream.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a0f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/map.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a10" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/medium_amethyst_bud.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a11" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/melon_seeds.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a12" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/melon_slice.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a13" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/milk_bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a14" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/minecart.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a15" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/mojang_banner_pattern.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a16" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/mushroom_stew.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a17" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_11.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a18" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_13.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a19" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_blocks.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a1a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_cat.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a1b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_chirp.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a1c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_far.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a1d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_mall.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a1e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_mellohi.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a1f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_pigstep.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a20" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_stal.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a21" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_strad.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a22" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_wait.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a23" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_ward.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a24" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/mutton.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a25" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/name_tag.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a26" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/nautilus_shell.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a27" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/nether_brick.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a28" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/nether_sprouts.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a29" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/nether_star.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a2a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/nether_wart.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a2b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_axe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a2c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_boots.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a2d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_chestplate.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a2e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_helmet.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a2f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_hoe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a30" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_ingot.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a31" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_leggings.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a32" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_pickaxe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a33" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_scrap.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a34" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_shovel.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a35" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_sword.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a36" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/oak_boat.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a37" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/oak_door.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a38" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/oak_sapling.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a39" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/oak_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a3a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/orange_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a3b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/orange_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a3c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/orange_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a3d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/orange_tulip.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a3e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/oxeye_daisy.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a3f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/painting.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a40" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/paper.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a41" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/peony_top.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a42" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/phantom_membrane.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a43" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/piglin_banner_pattern.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a44" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pink_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a45" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pink_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a46" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/pink_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a47" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/pink_tulip.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a48" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pointed_dripstone.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a49" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/poisonous_potato.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a4a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/popped_chorus_fruit.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a4b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/poppy.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a4c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/porkchop.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a4d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/potato.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a4e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/potion.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a4f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/potion_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a50" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/powder_snow_bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a51" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/powered_rail.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a52" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/prismarine_crystals.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a53" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/prismarine_shard.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a54" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pufferfish.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a55" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pufferfish_bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a56" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pumpkin_pie.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a57" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pumpkin_seeds.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a58" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/purple_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a59" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/purple_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a5a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/purple_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a5b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/quartz.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a5c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rabbit.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a5d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rabbit_foot.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a5e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rabbit_hide.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a5f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rabbit_stew.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a60" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/rail.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a61" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/raw_copper.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a62" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/raw_gold.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a63" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/raw_iron.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a64" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/red_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a65" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/red_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a66" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/red_mushroom.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a67" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/red_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a68" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/red_tulip.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a69" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/redstone.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a6a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/redstone_torch.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a6b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/repeater.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a6c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/rose_bush_top.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a6d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rotten_flesh.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a6e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/saddle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a6f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/salmon.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a70" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/salmon_bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a71" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/scute.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a72" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/sea_pickle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a73" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/seagrass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a74" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/shears.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a75" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/shulker_shell.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a76" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/skull_banner_pattern.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a77" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/slime_ball.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a78" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/small_amethyst_bud.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a79" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/snowball.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a7a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/soul_campfire.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a7b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/soul_lantern.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a7c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/soul_torch.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a7d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spawn_egg.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a7e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spawn_egg_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a7f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spectral_arrow.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a80" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spider_eye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a81" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/splash_potion.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a82" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spruce_boat.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a83" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spruce_door.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a84" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/spruce_sapling.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a85" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spruce_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a86" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spyglass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a87" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stick.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a88" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_axe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a89" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_hoe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a8a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_pickaxe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a8b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_shovel.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a8c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_sword.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a8d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/string.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a8e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/structure_void.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a8f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/sugar.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a90" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/sugar_cane.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a91" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/sunflower_front.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a92" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/suspicious_stew.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a93" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/sweet_berries.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a94" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/tall_grass_top.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a95" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tipped_arrow_base.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a96" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tipped_arrow_base.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a97" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tipped_arrow_head.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a98" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tnt_minecart.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a99" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/torch.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a9a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/totem_of_undying.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a9b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/trident.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a9c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/tripwire_hook.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a9d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tropical_fish.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a9e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tropical_fish_bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0a9f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/tube_coral.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/tube_coral_fan.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/turtle_egg.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/turtle_helmet.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/twisting_vines_plant.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/vine.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/warped_door.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/warped_fungus.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/warped_fungus_on_a_stick.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/warped_roots.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aa9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/warped_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aaa" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/water_bucket.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aab" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/weeping_vines_plant.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aac" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wheat.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aad" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wheat_seeds.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aae" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/white_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aaf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/white_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/white_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/white_tulip.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/wither_rose.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_axe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_hoe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_pickaxe.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_shovel.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_sword.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/writable_book.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0ab9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/written_book.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0aba" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/yellow_candle.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0abb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/yellow_dye.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0abc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/yellow_stained_glass.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u0abd" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/numbers.png", + "ascent": 3, + "height": 4, + "chars": [ + "\u0abf\u0ac0\u0ac1\u0ac2\u0ac3\u0ac4\u0ac5\u0ac6\u0ac7\u0ac8" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:font_magic/block_sheet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ad7\u0ad8\u0ad9\u0ada\u0adb\u0adc\u0add\u0ade\u0adf\u0ae0\u0ae1\u0ae2\u0ae3\u0ae4\u0ae5\u0ae6\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0af0\u0af1", + "\u0af2\u0af3\u0af4\u0af5\u0af6\u0af7\u0af8\u0af9\u0afa\u0afb\u0afc\u0afd\u0afe\u0aff\u0b00\u0b01\u0b02\u0b03\u0b04\u0b05\u0b06\u0b07\u0b08\u0b09\u0b0a\u0b0b\u0b0c", + "\u0b0d\u0b0e\u0b0f\u0b10\u0b11\u0b12\u0b13\u0b14\u0b15\u0b16\u0b17\u0b18\u0b19\u0b1a\u0b1b\u0b1c\u0b1d\u0b1e\u0b1f\u0b20\u0b21\u0b22\u0b23\u0b24\u0b25\u0b26\u0b27", + "\u0b28\u0b29\u0b2a\u0b2b\u0b2c\u0b2d\u0b2e\u0b2f\u0b30\u0b31\u0b32\u0b33\u0b34\u0b35\u0b36\u0b37\u0b38\u0b39\u0b3a\u0b3b\u0b3c\u0b3d\u0b3e\u0b3f\u0b40\u0b41\u0b42", + "\u0b43\u0b44\u0b45\u0b46\u0b47\u0b48\u0b49\u0b4a\u0b4b\u0b4c\u0b4d\u0b4e\u0b4f\u0b50\u0b51\u0b52\u0b53\u0b54\u0b55\u0b56\u0b57\u0b58\u0b59\u0b5a\u0b5b\u0b5c\u0b5d", + "\u0b5e\u0b5f\u0b60\u0b61\u0b62\u0b63\u0b64\u0b65\u0b66\u0b67\u0b68\u0b69\u0b6a\u0b6b\u0b6c\u0b6d\u0b6e\u0b6f\u0b70\u0b71\u0b72\u0b73\u0b74\u0b75\u0b76\u0b77\u0b78", + "\u0b79\u0b7a\u0b7b\u0b7c\u0b7d\u0b7e\u0b7f\u0b80\u0b81\u0b82\u0b83\u0b84\u0b85\u0b86\u0b87\u0b88\u0b89\u0b8a\u0b8b\u0b8c\u0b8d\u0b8e\u0b8f\u0b90\u0b91\u0b92\u0b93", + "\u0b94\u0b95\u0b96\u0b97\u0b98\u0b99\u0b9a\u0b9b\u0b9c\u0b9d\u0b9e\u0b9f\u0ba0\u0ba1\u0ba2\u0ba3\u0ba4\u0ba5\u0ba6\u0ba7\u0ba8\u0ba9\u0baa\u0bab\u0bac\u0bad\u0bae", + "\u0baf\u0bb0\u0bb1\u0bb2\u0bb3\u0bb4\u0bb5\u0bb6\u0bb7\u0bb8\u0bb9\u0bba\u0bbb\u0bbc\u0bbd\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc3\u0bc4\u0bc5\u0bc6\u0bc7\u0bc8\u0bc9", + "\u0bca\u0bcb\u0bcc\u0bcd\u0bce\u0bcf\u0bd0\u0bd1\u0bd2\u0bd3\u0bd4\u0bd5\u0bd6\u0bd7\u0bd8\u0bd9\u0bda\u0bdb\u0bdc\u0bdd\u0bde\u0bdf\u0be0\u0be1\u0be2\u0be3\u0be4", + "\u0be5\u0be6\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0bf0\u0bf1\u0bf2\u0bf3\u0bf4\u0bf5\u0bf6\u0bf7\u0bf8\u0bf9\u0bfa\u0bfb\u0bfc\u0bfd\u0bfe\u0bff", + "\u0c00\u0c01\u0c02\u0c03\u0c04\u0c05\u0c06\u0c07\u0c08\u0c09\u0c0a\u0c0b\u0c0c\u0c0d\u0c0e\u0c0f\u0c10\u0c11\u0c12\u0c13\u0c14\u0c15\u0c16\u0c17\u0c18\u0c19\u0c1a", + "\u0c1b\u0c1c\u0c1d\u0c1e\u0c1f\u0c20\u0c21\u0c22\u0c23\u0c24\u0c25\u0c26\u0c27\u0c28\u0c29\u0c2a\u0c2b\u0c2c\u0c2d\u0c2e\u0c2f\u0c30\u0c31\u0c32\u0c33\u0c34\u0c35", + "\u0c36\u0c37\u0c38\u0c39\u0c3a\u0c3b\u0c3c\u0c3d\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c44\u0c45\u0c46\u0c47\u0c48\u0c49\u0c4a\u0c4b\u0c4c\u0c4d\u0c4e\u0c4f\u0c50", + "\u0c51\u0c52\u0c53\u0c54\u0c55\u0c56\u0c57\u0c58\u0c59\u0c5a\u0c5b\u0c5c\u0c5d\u0c5e\u0c5f\u0c60\u0c61\u0c62\u0c63\u0c64\u0c65\u0c66\u0c67\u0c68\u0c69\u0c6a\u0c6b", + "\u0c6c\u0c6d\u0c6e\u0c6f\u0c70\u0c71\u0c72\u0c73\u0c74\u0c75\u0c76\u0c77\u0c78\u0c79\u0c7a\u0c7b\u0c7c\u0c7d\u0c7e\u0c7f\u0c80\u0c81\u0c82\u0c83\u0c84\u0c85\u0c86", + "\u0c87\u0c88\u0c89\u0c8a\u0c8b\u0c8c\u0c8d\u0c8e\u0c8f\u0c90\u0c91\u0c92\u0c93\u0c94\u0c95\u0c96\u0c97\u0c98\u0c99\u0c9a\u0c9b\u0c9c\u0c9d\u0c9e\u0c9f\u0ca0\u0ca1", + "\u0ca2\u0ca3\u0ca4\u0ca5\u0ca6\u0ca7\u0ca8\u0ca9\u0caa\u0cab\u0cac\u0cad\u0cae\u0caf\u0cb0\u0cb1\u0cb2\u0cb3\u0cb4\u0cb5\u0cb6\u0cb7\u0cb8\u0cb9\u0cba\u0cbb\u0cbc", + "\u0cbd\u0cbe\u0cbf\u0cc0\u0cc1\u0cc2\u0cc3\u0cc4\u0cc5\u0cc6\u0cc7\u0cc8\u0cc9\u0cca\u0ccb\u0ccc\u0ccd\u0cce\u0ccf\u0cd0\u0cd1\u0cd2\u0cd3\u0cd4\u0cd5\u0cd6\u0cd7", + "\u0cd8\u0cd9\u0cda\u0cdb\u0cdc\u0cdd\u0cde\u0cdf\u0ce0\u0ce1\u0ce2\u0ce3\u0ce4\u0ce5\u0ce6\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0cf0\u0cf1\u0cf2", + "\u0cf3\u0cf4\u0cf5\u0cf6\u0cf7\u0cf8\u0cf9\u0cfa\u0cfb\u0cfc\u0cfd\u0cfe\u0cff\u0d00\u0d01\u0d02\u0d03\u0d04\u0d05\u0d06\u0d07\u0d08\u0d09\u0d0a\u0d0b\u0d0c\u0d0d", + "\u0d0e\u0d0f\u0d10\u0d11\u0d12\u0d13\u0d14\u0d15\u0d16\u0d17\u0d18\u0d19\u0d1a\u0d1b\u0d1c\u0d1d\u0d1e\u0d1f\u0d20\u0d21\u0d22\u0d23\u0d24\u0d25\u0d26\u0d27\u0d28", + "\u0d29\u0d2a\u0d2b\u0d2c\u0d2d\u0d2e\u0d2f\u0d30\u0d31\u0d32\u0d33\u0d34\u0d35\u0d36\u0d37\u0d38\u0d39\u0d3a\u0d3b\u0d3c\u0d3d\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d43", + "\u0d44\u0d45\u0d46\u0d47\u0d48\u0d49\u0d4a\u0d4b\u0d4c\u0d4d\u0d4e\u0d4f\u0d50\u0d51\u0d52\u0d53\u0d54\u0d55\u0d56\u0d57\u0d58\u0d59\u0d5a\u0d5b\u0d5c\u0d5d\u0d5e", + "\u0d5f\u0d60\u0d61\u0d62\u0d63\u0d64\u0d65\u0d66\u0d67\u0d68\u0d69\u0d6a\u0d6b\u0d6c\u0d6d\u0d6e\u0d6f\u0d70\u0d71\u0d72\u0d73\u0d74\u0d75\u0d76\u0d77\u0d78\u0d79", + "\u0d7a\u0d7b\u0d7c\u0d7d\u0d7e\u0d7f\u0d80\u0d81\u0d82\u0d83\u0d84\u0d85\u0d86\u0d87\u0d88\u0d89\u0d8a\u0d8b\u0d8c\u0d8d\u0d8e\u0d8f\u0d90\u0d91\u0000\u0000\u0000", + "\u4001\u4002\u4003\u4004\u4005\u4006\u4007\u4008\u4009\u4010\u4011\u4012\u4013\u4014\u4015\u4016\u4017\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/acacia_boat.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d92" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/acacia_door.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d93" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/acacia_sapling.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d94" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/acacia_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d95" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/activator_rail.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d96" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/allium.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d97" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/amethyst_cluster.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d98" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/amethyst_shard.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d99" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/apple.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d9a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/armor_stand.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d9b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/arrow.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d9c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/axolotl_bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d9d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/azure_bluet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d9e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/baked_potato.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0d9f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bamboo.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/barrier.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/beef.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/beetroot.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/beetroot_seeds.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/beetroot_soup.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bell.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/birch_boat.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/birch_door.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/birch_sapling.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0da9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/birch_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0daa" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/black_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dab" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/black_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dac" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/black_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dad" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/blaze_powder.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dae" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/blaze_rod.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0daf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/blue_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/blue_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/blue_orchid.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/blue_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bone.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bone_meal.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/book.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bow.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bowl.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/brain_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0db9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/brain_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dba" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bread.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dbb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/brewing_stand.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dbc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/brick.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dbd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/broken_elytra.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dbe" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/brown_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dbf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/brown_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/brown_mushroom.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/brown_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/bubble_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/bubble_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bundle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/bundle_filled.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cake.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/campfire.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dc9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dca" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/carrot.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dcb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/carrot_on_a_stick.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dcc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cauldron.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dcd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chain.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dce" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chainmail_boots.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dcf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chainmail_chestplate.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chainmail_helmet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chainmail_leggings.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/charcoal.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chest_minecart.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chicken.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/chorus_fruit.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/clay_ball.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/clock_00.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/coal.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dd9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/cobweb.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dda" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cocoa_beans.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ddb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cod.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ddc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cod_bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ddd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/command_block_minecart.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dde" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/comparator.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ddf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/compass_16.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_beef.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_chicken.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_cod.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_mutton.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_porkchop.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_rabbit.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cooked_salmon.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cookie.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/copper_ingot.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0de9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/cornflower.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dea" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/creeper_banner_pattern.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0deb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crimson_door.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dec" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/crimson_fungus.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ded" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/crimson_roots.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dee" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crimson_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0def" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crossbow_standby.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crossbow_arrow.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/crossbow_firework.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cyan_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/cyan_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/cyan_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dandelion.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dark_oak_boat.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dark_oak_door.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dark_oak_sapling.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0df9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dark_oak_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dfa" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_brain_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dfb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_brain_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dfc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_bubble_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dfd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_bubble_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dfe" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_bush.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0dff" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_fire_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e00" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_fire_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e01" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_horn_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e02" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_horn_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e03" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_tube_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e04" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/dead_tube_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e05" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/detector_rail.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e06" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e07" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_axe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e08" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_boots.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e09" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_chestplate.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e0a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_helmet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e0b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_hoe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e0c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_horse_armor.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e0d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_leggings.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e0e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_pickaxe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e0f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_shovel.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e10" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/diamond_sword.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e11" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dragon_breath.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e12" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/dried_kelp.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e13" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/egg.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e14" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/elytra.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e15" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/emerald.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e16" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/enchanted_book.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e17" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/end_crystal.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e18" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/ender_eye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e19" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/ender_pearl.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e1a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/experience_bottle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e1b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/feather.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e1c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/fermented_spider_eye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e1d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/fern.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e1e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/filled_map.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e1f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/filled_map_markings.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e20" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/fire_charge.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e21" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/fire_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e22" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/fire_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e23" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/firework_rocket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e24" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/firework_star.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e25" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/firework_star_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e26" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/fishing_rod.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e27" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/flint.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e28" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/flint_and_steel.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e29" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/flower_banner_pattern.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e2a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/flower_pot.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e2b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/furnace_minecart.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e2c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/ghast_tear.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e2d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glass_bottle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e2e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e2f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glistering_melon_slice.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e30" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/globe_banner_pattern.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e31" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glow_berries.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e32" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glow_ink_sac.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e33" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glow_item_frame.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e34" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/glow_lichen.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e35" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/glowstone_dust.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e36" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gold_ingot.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e37" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gold_nugget.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e38" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_apple.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e39" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_axe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e3a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_boots.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e3b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_carrot.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e3c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_chestplate.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e3d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_helmet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e3e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_hoe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e3f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_horse_armor.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e40" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_leggings.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e41" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_pickaxe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e42" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_shovel.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e43" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/golden_sword.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e44" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/grass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e45" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gray_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e46" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gray_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e47" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/gray_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e48" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/green_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e49" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/green_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e4a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/green_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e4b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/gunpowder.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e4c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/hanging_roots.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e4d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/heart_of_the_sea.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e4e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/honey_bottle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e4f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/honeycomb.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e50" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/hopper.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e51" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/hopper_minecart.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e52" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/horn_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e53" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/horn_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e54" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/ink_sac.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e55" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_axe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e56" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/iron_bars.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e57" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_boots.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e58" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_chestplate.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e59" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_door.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e5a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_helmet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e5b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_hoe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e5c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_horse_armor.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e5d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_ingot.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e5e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_leggings.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e5f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_nugget.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e60" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_pickaxe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e61" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_shovel.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e62" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/iron_sword.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e63" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/item_frame.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e64" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/jungle_boat.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e65" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/jungle_door.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e66" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/jungle_sapling.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e67" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/jungle_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e68" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/kelp.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e69" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/knowledge_book.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e6a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/ladder.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e6b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lantern.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e6c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lapis_lazuli.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e6d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/large_amethyst_bud.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e6e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/large_fern_top.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e6f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lava_bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e70" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lead.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e71" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e72" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_boots.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e73" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_boots_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e74" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_chestplate.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e75" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_chestplate_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e76" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_helmet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e77" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_helmet_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e78" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_horse_armor.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e79" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_leggings.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e7a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/leather_leggings_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e7b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lever.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e7c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e7d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_00.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e7e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_01.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e7f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_02.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e80" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_03.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e81" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_04.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e82" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_05.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e83" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_06.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e84" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_07.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e85" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_08.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e86" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_09.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e87" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_10.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e88" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_11.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e89" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_12.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e8a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_13.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e8b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_14.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e8c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_15.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e8d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_blue_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e8e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_blue_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e8f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/light_blue_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e90" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_gray_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e91" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/light_gray_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e92" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/light_gray_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e93" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lilac_top.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e94" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lily_of_the_valley.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e95" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lily_pad.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e96" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lime_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e97" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lime_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e98" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/lime_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e99" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/lingering_potion.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e9a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/magenta_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e9b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/magenta_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e9c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/magenta_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e9d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/magma_cream.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e9e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/map.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0e9f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/medium_amethyst_bud.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/melon_seeds.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/melon_slice.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/milk_bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/minecart.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/mojang_banner_pattern.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/mushroom_stew.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_11.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_13.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_blocks.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ea9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_cat.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eaa" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_chirp.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eab" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_far.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eac" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_mall.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ead" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_mellohi.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eae" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_pigstep.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eaf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_stal.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_strad.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_wait.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/music_disc_ward.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/mutton.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/name_tag.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/nautilus_shell.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/nether_brick.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/nether_sprouts.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/nether_star.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eb9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/nether_wart.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eba" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_axe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ebb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_boots.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ebc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_chestplate.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ebd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_helmet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ebe" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_hoe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ebf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_ingot.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_leggings.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_pickaxe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_scrap.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_shovel.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/netherite_sword.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/oak_boat.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/oak_door.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/oak_sapling.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/oak_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ec9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/orange_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eca" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/orange_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ecb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/orange_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ecc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/orange_tulip.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ecd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/oxeye_daisy.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ece" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/painting.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ecf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/paper.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/peony_top.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/phantom_membrane.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/piglin_banner_pattern.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pink_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pink_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/pink_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/pink_tulip.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pointed_dripstone.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/poisonous_potato.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ed9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/popped_chorus_fruit.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eda" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/poppy.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0edb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/porkchop.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0edc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/potato.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0edd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/potion.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ede" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/potion_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0edf" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/powder_snow_bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/powered_rail.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/prismarine_crystals.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/prismarine_shard.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pufferfish.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pufferfish_bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pumpkin_pie.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/pumpkin_seeds.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/purple_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/purple_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ee9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/purple_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eea" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/quartz.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eeb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rabbit.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eec" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rabbit_foot.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eed" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rabbit_hide.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eee" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rabbit_stew.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eef" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/rail.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef0" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/raw_copper.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef1" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/raw_gold.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef2" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/raw_iron.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef3" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/red_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef4" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/red_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef5" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/red_mushroom.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef6" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/red_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef7" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/red_tulip.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef8" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/redstone.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0ef9" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/redstone_torch.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0efa" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/repeater.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0efb" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/rose_bush_top.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0efc" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/rotten_flesh.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0efd" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/saddle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0efe" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/salmon.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0eff" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/salmon_bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f00" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/scute.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f01" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/sea_pickle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f02" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/seagrass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f03" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/shears.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f04" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/shulker_shell.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f05" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/skull_banner_pattern.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f06" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/slime_ball.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f07" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/small_amethyst_bud.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f08" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/snowball.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f09" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/soul_campfire.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f0a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/soul_lantern.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f0b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/soul_torch.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f0c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spawn_egg.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f0d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spawn_egg_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f0e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spectral_arrow.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f0f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spider_eye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f10" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/splash_potion.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f11" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spruce_boat.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f12" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spruce_door.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f13" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/spruce_sapling.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f14" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spruce_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f15" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/spyglass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f16" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stick.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f17" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_axe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f18" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_hoe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f19" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_pickaxe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f1a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_shovel.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f1b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/stone_sword.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f1c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/string.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f1d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/structure_void.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f1e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/sugar.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f1f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/sugar_cane.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f20" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/sunflower_front.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f21" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/suspicious_stew.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f22" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/sweet_berries.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f23" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/tall_grass_top.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f24" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tipped_arrow_base.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f25" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tipped_arrow_base.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f26" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tipped_arrow_head.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f27" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tnt_minecart.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f28" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/torch.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f29" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/totem_of_undying.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f2a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/trident.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f2b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/tripwire_hook.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f2c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tropical_fish.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f2d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/tropical_fish_bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f2e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/tube_coral.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f2f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/tube_coral_fan.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f30" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/turtle_egg.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f31" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/turtle_helmet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f32" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/twisting_vines_plant.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f33" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/vine.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f34" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/warped_door.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f35" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/warped_fungus.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f36" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/warped_fungus_on_a_stick.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f37" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/warped_roots.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f38" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/warped_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f39" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/water_bucket.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f3a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/weeping_vines_plant.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f3b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wheat.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f3c" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wheat_seeds.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f3d" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/white_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f3e" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/white_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f3f" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/white_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f40" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/white_tulip.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f41" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/wither_rose.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f42" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_axe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f43" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_hoe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f44" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_pickaxe.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f45" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_shovel.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f46" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/wooden_sword.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f47" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/writable_book.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f48" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/written_book.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f49" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/yellow_candle.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f4a" + ] + }, + { + "type": "bitmap", + "file": "minecraft:item/yellow_dye.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f4b" + ] + }, + { + "type": "bitmap", + "file": "minecraft:block/yellow_stained_glass.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u0f4c" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/boots_of_ostara/boots_of_ostara_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4101" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/boots_of_ostara/boots_of_ostara.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4102" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/scuba_gear/flippers_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4103" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/scuba_gear/flippers.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4104" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/scuba_gear/scuba_helmet.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4105" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/scuba_gear/scuba_tank.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4106" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/trapped_signs/secret_trapped_oak_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4107" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/trapped_signs/trapped_oak_sign.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4108" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/heart_canisters/heart_canister_tier_1.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4109" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/tunnel_bores/piston_minecart.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4110" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/orb_of_ankou/orb_of_ankou_overlay.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4111" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/orb_of_ankou/orb_of_ankou.png", + "ascent": 8, + "height": 9, + "chars": [ + "\u4112" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/boots_of_ostara/boots_of_ostara_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4201" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/boots_of_ostara/boots_of_ostara.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4202" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/scuba_gear/flippers_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4203" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/scuba_gear/flippers.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4204" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/scuba_gear/scuba_helmet.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4205" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/scuba_gear/scuba_tank.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4206" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/trapped_signs/secret_trapped_oak_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4207" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/trapped_signs/trapped_oak_sign.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4208" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/heart_canisters/heart_canister_tier_1.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4209" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/tunnel_bores/piston_minecart.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4210" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/orb_of_ankou/orb_of_ankou_overlay.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4211" + ] + }, + { + "type": "bitmap", + "file": "gm4_furniture:item/orb_of_ankou/orb_of_ankou.png", + "ascent": -32768, + "height": -9, + "chars": [ + "\u4212" + ] + } + ] +} diff --git a/gm4_furniture/assets/gm4_furniture/font/half_invert.json b/gm4_furniture/assets/gm4_furniture/font/half_invert.json new file mode 100644 index 0000000000..06efacd978 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/font/half_invert.json @@ -0,0 +1,18 @@ +{ + "providers": [ + { + "type": "space", + "advances": { + " ": -2, + "\u200c": 0 + } + }, + { + "type": "ttf", + "file": "gm4_furniture:minecraft.ttf", + "shift": [0, -32768], + "size": -6.5, + "oversample": 1.0 + } + ] +} diff --git a/gm4_furniture/assets/gm4_furniture/font/minecraft.ttf b/gm4_furniture/assets/gm4_furniture/font/minecraft.ttf new file mode 100644 index 0000000000000000000000000000000000000000..079171abb34c9e19939f05b0ffb67cc9c951cbcd GIT binary patch literal 228484 zcmeFaf1FiSxyQfuVTN-KqN0w12{XfwfiX!DnWUVGjEI}0Q&Ev&qM}lvVNp?8QDIV% zl2MV7k)cphp;1whQB7XDQE_kFE*0HSNvTUkH!5xre&3&G?Pu?O&YS_Q`~AM|AKxRN zS!=Jo*0Y{p>sdecKF5%R5RMOv!+_8;ZQ9HitXeVjf-vC5d6W*nrEka zY?=SstF9RQs_va3Jd@iUz1Ll_XhHSg!oA#|OhNngS6p}XiV52fhXJE{LnsYd@Y>fe z{L5_@z96cK^C>J zHsN~82U&UGek`|}`cqw?68`!hUTA6n*w)_?O=l4~ndY;y|>F-+gg^6i`f63$dVm;+Ww;uKM{o46;THem@AB#_~S4=$ysZ4pdV=+}f#cOXbKAaaX`+HNT zFBx2qPRsqluj^B9tJLqw2A(gbUbk5Gc=F=mSbQ9dPJg-$%k^jP1fULR`bZFNue>)RCj^1Ronr|0*N zm3q4(9ob&jeor)td8c`_arAif=yd8+_3iL`_5JI9u@CuQBmEWYh*mvazwR&f{ykMa z&x^L}%FBxPRp!^lRC$NmI}NYnv>K(}PWteCqjtJqgmhEXp?LT9-p{eFy`IMlzphV< z{nX$4-@cX{>aU*n`hHx`t`o2C<(_&wzwg(cdOc5%r3UHo$6v8-kw4{&w7fsH^?ZF>UHd&xi*<^5-7orH z(Ko!F>eSOI#tzjh@>qXQ*G{XL*4HcEYm}F+9Fo7-r~9b4^XsB)%DWtXzh3@geWz7S z8{L1rWkouT@{Q;;s`o_7Tt_bVvD&(R`>Q8ldfv{jRabdW z-EWFA`8{vz*Iu_sOLgjb@cZ76+B+@3H;t1yw~?oQPpSL4+UdT0)XR$XJg+*ct9oAM zsbZVwl{TVNU#D1KdEHkZ&a3C^(_%ZtTwP1I;>~sJ@y4%h=^{LaTlXu;q`p*NGJEQAvDl`Vclyq!r^Pyr@@nUGy{~%P6tDa1$LTccLuK;8 zMshpt{@Qu@(fZXruh(CCtoF`Ff9cWMOMm_KTP$}P#j;}F?|Z6y@(UloO5IPq{8)Zb zq_4cwR@z9`;(g`S#`{-aDw7=@MSi?5-E-PrU-i^p_dM@(RabenS6=$`_Qkr2U*1M^ zbx&nV8^P-;t>;%|joK8;8nt&Bl}aAJcD{?eyKTIl`-$qhte*F4r>8c4&*|u%(|6lA zO>d`iLFJw=rrut(i{;9zAEn-}r(Ra9@BB$$-nUY3Q!J~^w^~1{CpaDHy0%{JwbxS} z<%Ofwe?0fpr}I&pwwiAg`||tFhx>;2Q{><4$~UF&{~t%!f&8kQ5qc?*KKrJ%zS_g6 zSDi~OZLv14^CwvMONm12&+oercv|nD_1CJW_M+u}(Pxj=#_Ksx&a=zm<;P0Jv-cyN^e40HOZ1fYe!Oje{dnDCJ-v17HuZJ-yRPS_zj`Y7wYjHWx4wVrPai`S8^F z@%p;1pBq%Bd01&ZKiRtBMSh$QujBprb$@BSefq0+ zta8ax54VAr>)Okd275P5?|_X5O}u{gYI}byw7i8k#Pq(|c+x>u-c)%eua{j(VL4nG z-X6YE`ab)YVRL9cr}?GLOPk-< zd~5Ul%?~vHrujg5>yYmb`R5@&81mSu51#th(^^hDIO4<+qei@G#9Kz(-gau+h_>gp zy`b%7ZI`vZt!-o5=CD zhmIUIa^lFRjhs62qLG)6eDBB=BYQ{g82P7B&7%g7I%QPrsIy0Pjha4c=BTSj-8^dD zsBesVV03Bp8KXyz{?X{)kN(@3*N^#4N2z0Y$C!@s9g{k`JLY$MsN+)|U+MT($B#O8 zc04k6;MmI8ma*+)&mVi?*lWkWcI-`KKRWiVv0KOfXzbo`rE%49CyX05ZtA!hGrGm#lro z+AG$+dF?ybet7L?)^1q)z&$U#=c+>k4-GxkcBt#n1&5{{y7;l<9{U^b-RTXxPlc}* zbo?H4e9M4O5BM=U4oz1!y{_qfP1~DG&F411Jk{}cnzuLaN5`v8$JlF&$r3(D84^UpfA|@o#@hFdcVgI$peX?Ai%yFJ61;+BxWW@!Az@*RB1++TMG5 z&~Z3)%Apa5&N3Z8KkE3ghadaaV_P2k(qnf$_OZui9QpH+-yiwik>4KKcVzF8hmPET zWb={FA6a$e<40~k^06ZyJ@Szww;dri9C^u+p2KhZyNAdc*pO)@w>Zzx9oQs zDdEviJ^INx^rR3T+4snQ zJ@V)y50l&VNbe)xe&pUqUh&8aAGz=mM))I7dF0GT!ms}NtM7;Kt2=(Rg1;a5)l&Yx z`B&HeYBuR4p!YfX?D_1&e+%K^Uq1Y{hcD3e!_|jN4;^~wz(Ws)@X(i4Li&M+7C&_D zL)Tb-I@e<#>Uii>yA>Y%$%FSlc-MoUeDLETJUH*cD;~UP_s(C={LkO~;;LWF-bMes zAp5MJfAeQQ_!;lP{%qaPKDqO!|MAbUW&C@^-NmcRzUNmbG#?LNgT#~R#mgUGnoMY1 zFKJJRKeeCa`L);aDzBGZS${uKBuqcaOO;8`Du3tbFX?=+5WGEElAw2T@6%t>`M+%_Sbk-8dz#6X+}strQx2-)6&VMC;3$&H>@2ovHV7>{igDAOFu~IZROj`_*QvU`4eT{w=SQrAq@SqVVP&7Jtgd`2rFCcJ(`jx^1)brkIZ*ji<cDEb zTB%m6gQ~|>2Um};o=`opI;471_2lX))t2h1)zhj&tHY|NSD#cpqdL4gqS{(*ua2ya zs*bLXsdiMyR>xJ*ZuQLSldES{pHe-$dQNph_1x;j>Uq^k)voGOtLIlISD!|Wr&l%B zL$$m54E{b-dD3T9FRVVNI+fgWtIrFARW^8t{xVARryaZ<3;@!KWS54&ieG<$^v$Gb zz_5UHTMG1E`e};S(R^G)2}=xso>0Of1Mubn?<4;P(q$1ELj!IB^jCT-DK;2@PnB*Z z{V~`AUGo@cnxU@ zoI@TjXg(JZaR&Sg>C3@V^7~0?D>Ol;89s!jk)-q|G>sztPK3sK^8*o0V@TE4Z>ZBj zDq07~PtjT>-V)J#I_Y9?JLR-%h0iu-zUD4c zXtu%lz>7$s(}tb~5)ay@gBOs8R$C8v8Tq%7VlP2avh5WSik5AcMGU-|6d!4$?m+C? zM!#(v$*(14CT`nIei!MtK`;4-Ngn|C^uR|*(SIBMH}JQlKLPmPz(0`g2K&hWh4jC{ z0qlxS+WrgPoPar)7ptrKhkg*-P%O{f#2PmM7{O!owj^4_;KQ^L#2I&NF zKIN+WH1G`aV@NNIC=+4Zp9j!c`N^aggG~QgkMi&m&y`ZXiF2bRoEf z{8LF+gKv_j-N@6xQ1a9p3133_^`sLc%Cs8^KSKEpq|c7fd^2)tMEOmm@FkQNk@f)W zQGPS&dn3w9mxC3QGu}pG2cgV(8~LLM&0Qn^Eu#EE(j5`y+erTuQT|W}uoy<+k7a0$ zssMbjjGv7<4&a03Riq~Y>`}gh^mHKoGhRk@L}*4FH4dQH@;cJ9A~ZXWIy<7go^%qx zXUm@>#Xp7e7f5GDlsAyh0asFfFX>!xHTjLC?*ccI|1#;F5t?a7tpRsY{tZ&~4a(SK z)Yk!J;50X-^gQ!F>?UEQ2qreGK^9EKkzLq`WLhY=zs^If-XDI zy`WV=$B+oE3_4mODo-YbN1=kgJMeX(GM;oyMCB=@x&{^O(1HGi$~mOn5tRv~JzzfN z=aMdt&|0HoNkrum(xnj<)m;{$bw|f?fFD&}M7kP$iu_AS?*m^XKZ_K3JHA5xQc`Tz zfn6%INw3jHp~q`bb3Onh;Q37(0+U*OFEu zD%X<^0Vh-bT2k~TR9;7lo&>FU#^TF@Rz73fBPxu|vFK~;`INtrl<_+D0`iMVpAn(8 z(by>w74$Ur!idUEq;mkgRNh1SDnS30TS(QO`;`xqqPMXhB>!@QJf# zMN~GDG7irAFY0`W1DY!%w00bSHMoZIO{CXFXeBuwT?$%Jj=v$If=`WqJ9r1>_!e#- zp3*^{IB@o`h{~@>v8hmbgp@cWXia+d2+v&f_GwHJd+$P+u)G6vSZg8UhzbHEkkN01WVg=!lq zG}pe9d^;(Au@--+jv`$LuvK*o=@$U{uBy-82(59~J`hobk9*MhJ&e&RvEm-=B~-_U za43L*w5d)H$sY$9LiH-rafVQx zOZrkns9sI_X+x-9L;634P`x%Je`+y=>O9g8L#V!r^jt%za#HxG2MwY6nvndNJP6hK zA^D%*7((?rHpCw?gzELA^aVoowP9ds5DE=Rx*1SD{Uo83<~;Q~^(l?{3}A`g90qbK zSqW9nDvx8YaeO!-oEV0Llfud26i&iV4X1^nd|UN&zNvaf7|x=VgRsyZMlzL;4r7>1 z#)fgBGn^To9M0m*lY^yjPM8qR<%IV0EDSVBc($~Xg)^Rt4t2n)$$FBTM;gjLD;nl34-Vk2JYT!L#W%=&#I_{G8PP!-?G#tzVv>mh!9Olc`v^@^m$8mk!K6byu0Cfga=Xly2KLtSh_;p}! z2q#p)3;^vDmVnLRKnN#J0`tKdu#=tI5HJ-`Z^$aJCxnxl0Q63p2Ude!A)HKqCqwV# zWnc@Sk5f7UJe<-C4)Tx)+ARwKby~Ku+k?)jW56On|EINs#c{_+zzajUH*_VS?y#v~ z4xsMog8}zWpAD9SoqQ>L0+yccK>`dce96I-%W(ESfCXR;*w0Kk9&kOOmzi=npzgUFc*s-% z(3}YU^V-3Du!*nq4+Dz;^}DFkH5Dua)O%_Zm;u%R^8XOGa zX*0oka3F-IPXI{2hi`{!|yGO2XnzHK>cUJ!!zOUne_8a z%AUD5glA0xw0RbNP9Z;q`ct?!WgCFzv#I}V=stTPSPgcDaN#g8AFKn^c@FKKvjXf2 zVd`Ko6D$F}Aw0JU%my2I07$!OH-b$eJZ}h?1J(m*OrHW)f_)+U(+ogg&mRotgRLQ4 zMB9s?dC{H_W{{sjA2aB4#*PqPKp!ud4rud&10h^I9zgrz^?>V3W&mWmgnSS6dZ5#@ zIfNGu2he}v_7Gmw2^NFhA-s4JSPCegIT@?~o50}^UPAkq+z7aS$^H;tIsq&MTlp;s z=)G(fSPr%T>d%@D=x-MHU)~OSz#2f?OUYll3UKcg0n7yJz^)KxPX^GPy&3EY;WFA@ z2CtXV?`8W!cqP}boDHD$%H1JcJ|1xY@{Qm?2y-R??$22XdPBIP33P)cU<(I%g8}_t zxdLqCw>O4>nSlCN?d4(XRIn6K_v#9u?$z_aG621+_k?iG9IzvVYiW1wazK7wJ6H&| zhw!Q~U=bky>R|vHuU;3J+Q1C30_jaAd?XQ~*D8FuB2-i;mw7-5^2(N|KYv+T_ zOi)c=F4zDLgm43NZ-DOWh5+inZc7NSuYg&A@`aQyq z5w1T%{f}%3;iH2Av_85RKyNJk@UUtK=mASWFW4W#C!qU@nE<+Ny^TZkVPFy19KxL~fcAHC@6N3ud>VS6o&lDE9U-h~2h+iFuoFQ4u5Q5n zySRV%c)-22L%=++A%u0%Uq^o3MsPTU&p_`p@b?+|`)mb3^Rtsd4_E+}gKYp_@1gBI z)V~K^-m@iy^@G72uo6(`bF}~57=V1ATL$3abM*1~DS$pdPye5X$1h9(^8xL?upR6V zVM9Bh&W5F6YY6w!*S$*s{oFSgOb4q&_+k^71y+DO4T5 z2X=+<&rM(wm;yevG1v(9h47={fI2_g0QQEk9Xi{W z0NVU(6PN*(f%RZ#2>&(&K;z$*1M2*k`afO@c89Q|0;U75cl3tv?*Y*M-{JEowEGF= zKY@?`SO7MF{UPk^1d9N5c5VWDLij0le+r$S!spN6;b(II^nOm=pHuhe&;sD^SG0MA@<&zymA{kuc>19bkd2vF}2-23mTU?qUgA7=sbf7}_ufiYkK*dD^4CIIq(+5mO{ z>i(I&{!HCJQ}-{!0Q4yi2kH0VR=~yoOaUvwo)G>Djla$Z@buTcoU(KR>K4vv!v;{+)Crb@T_I^E-#i;|-Ml>{1Dn7Uun?>R`$AHNW|^`w?aN!i zfsj-vt4s%L0PU)@tIh>00ClPdLo%obECyT;qRnwr!6Lx*afd@PxD(6->%q>D96tfj z=J?eB-cD!%^T1L-ofGKig#95oaR}%J$aEt8ok;nR!Jr4w-;m7!`X`M6vjJ^S+7ptK zhk;1|9!{peQ)qJva-Fgg^oFE`>z2u2E?5qBgyhr;m_H0qX$e!zmv=9?S)l4TsJM%0|opv>&kz>ot4xo=wTfo7PjHZv#v%qSwCnRH9z!Wea ztOvB~7zUuzLA#D!AsIUuECldAc1K9Y4FS`^jex#8sozOIovXm^keo>$XVUge>OOfq zSPZs@I&7x)7`eJ3?}PJ6H@h0oqOG zdNTJX_lD$Y<;{?iN5l-OB)dKBF6~06RkR%nIQ8 znKuIZc^2)SwFc}B$&}$>4(J86d-ixR3#AFJ!cA73TQKR7~uZY zxnK#P?72+lZ zzY=i&BI;kX2^5S2)KU1U@!(u1@!lVbs@Q!vWsT}=v<8amvHYA?p?AaBt7)a z-Z<%53O0x2h0uB-v|o55SOa>&{*b(AGN6watq;kIo4_OhjTbKi^!sA?m`T~p1%Ns) zserivnlEh!l)rR)NM64_YePt0J{-&g(Bh#&a_J1P4(tfYE5?91fO@Z> zpV{1-y&UWf$z`;;j5e>N%`2yam0)*BE}sC9;qtBEKuG4$X3kOoKUcv270|l^dRIX2 z%5Ja(P?!C1a@9-#&AIS2m;794&fON0tGRdeQ~;f;w}j-H!GQbMtOxXQEqz?O0_+RP zJo=vp&3QXR@+#=R3L3Ab-&aop3jp+AeK;hqq26n_e$5)NCnWR70Iuglb3Qb$qwRIe z0r#$_?)6Ime7?35kbf=o7mNps!43e;8@PAFYydAeYzBKn^160_%&*%RlGir@czr$h zU%x9P3&()@U^Srb8-@YuzJY$8;97l17xxp6S)0o1*be%>|-ECa~!_9*~*?`Q#w!S0YOo($#!$`@}7 z$vbKPPRic72y6<;ySRSW46qa+$Gef^-SfeQkSrMvmVg~0xrzKu)VT>>-!la)1JJ*j z`Zq)C=FK5lIt0uFtH92Xytf_90^39KzUg3FNZ#KAxc~lLAz3yRz}GTpexMsH2ei9o z7?=Y#h2&Q9w=Mv*xt0Ew4+q>^z6Bf($p@zZ+I(0&!|S1kh2{KOQn zJ|uUv0NUMgFeIOx54MD4^%y{Y^=hyqB%cakDp(43hvd%5fP0@F4B+w8l&zTwwuR)b zDPUtr?j8ni1iM1Awi~PhheN_XHCYEu_Nd8cdPDNr;Q$(+T@QAJKnT z>;|htvat!!cH@DNd}$uo9g;842M0s)l_`MwU!lKEDP!pxrn2hlKrOazB0Czd0n|91Ljl%?%;hG7KyRTfpIvd}}&b z3F!CR(EIl4kbI{CrU3f>&Zdy`!gnvUd!gM+oA1sBOfY#Ok zW&q`>|2^t|kN*Cp9V`HwL-Kv{-(LduhGZLcw^4T+^nL(8KUf!%AHwqw>Hmj2L-M1k zU{y%ASHMDWFeLvv7id$Hufbs>3Z2!NM|xc4wTJWQW^NcSuUJ45oTNr3#Xpz#Rhk3j#?P5_-p z$?v88-ua+6B)_KLU#|?wZw7-U;BZL(YiUUKwSd(j`R#bHEhN9A{_mju`>B9-`$_kc z{(J4-WEVm;U~`92^MAp>6=JL(n?3CnSftK1|)i$JD~n!{6=#a4(5QJp_FukjiFSU47fL72$&5vhf)*unihbiU^UnTwu1wq)XXmv zH`BIxAy^OggwnvlU@D;fK-vu48%pJwU=i35N|gZG!7Q)_(55;DkPf1+L32atxE8Py z91f+y&>6f8YzAB(KOC$8J3{G%$pGF?SPpu@!B9GpvJ>Y6u7@;%@n9;L3#i9_s5E3x zD4hhIlPEt4+U$o)?1xGx&j4JXyd{)Q;rf(WU@=$;HUa9j3<1c~vIZOsrBk7QDs@if z{%PDhjr?i5Lun|qhC*v7`C(H4`C;2a>2&%$eFLEFlcodcJZXO@ok9K#>YQ;Pl!n9G z@c95a7r1?vHPo;4NF*I7G5Y5Z`o0MPy^ z)P2f$0N-bmKYIqCpR*5#(mAw0hxX_6f`g$nfj%Zo1uMbsP&$`(=Pm*8dG5YYV&74k zI15lVac?M{Hw;k!Jno-I{YhL;;(F3Durrjp#(=qCO(;FJ0_K6$02!WoAe7E;0h7RN z0FCo0n>+=~2kS%WY0!Gw%20YbWlvuMc7@Uf(7Av%>_JKw(B^`@q0~JAECL%t=^4oW z4B9;d8qZh(HUoHj#=%f}W;=k+Gxvwmv!L@V@>5#CmQZ^3bg(^?E}RSYh0=5Acj|c1 z8%odZ20KG(8ht!30O(Hd1RFx>pJssFq4a!cT{IZ14y75B!KP4p!6dLglrEJilw16doWlTN|y}-%R=duEdc&59|NE>2YRf_OIIN06+1%d$~oXbC|w1O zt4Qb4hP8L;>g}O)4fL$#N zlL0hd#l2Up2i$wr!BBeja4-eT2g|`mfE=%>fJtB;p!_xP`I-ZvG@ttOrviAKzXogz zrR$nNH&_U$cij%KFO;sQ{CetN51s3|UN95T=M6&uWvtapH>?7^q4YZHzHU624_1I3 zq4fH}fa}+<38jV5SvVEI59{^P8_2(bwr_ym8y5o7H%$Q4eG~ab)L(QXI2=km&nmqc znchO1x2z1Mx3&ZNU~OJ{D|K(A-Hp(=aXr`{O03UIZ(9PkhSJ;N;qCPK_6=ZPD7|A0 zmc@8_O4-I3V{B*p!Y6lyqmIj)9&5N!LCqRLVrsZ z1L)k;3HFB4du9OY-%Q<`=YdV3v~)aJ3J!+Sd%6GKm7(-LczE9&ur8F|Px^l9z5j41 zE$are0dg$c97-Q(0&@X;eSrJ7aQ_ziyk%P`-O9aN;o(;5-nuK4mQMh)0rZ#e2&E4W z2U7v{Ke!Pb2&LO7W9?qL4H<6R9!ejA#)qbW`Ct{;8A>Yxm=551#ja5LFm*nR3?H5a zmH~ME@ZM1R2xT9c2i5`VeRMK_&PP`QX!D$_v~mJi1h$0I#|8u1d~7D5-pAnSW3;<{ z2$%ur@Ae&`^znAEIh0nx`>G|NH%ls-+}Pp<$wLut(fK;LWV>n`$ltqi5R zp?5cY-mU!pP+B`3P=D?AP+B((%mnnc4u00r?lZLe%pySkv+(xW1z=Ms-9x|k%mW+1 z!BAR11uO%-q4c>X0G-cq?{oV@>GN{{G(UeJl)gZ{FDwN+0qr(Gll?dF!M;%X3T0oJ3~mHl!QN2X)CqdP=1}@-0CT`)il3Hq&X938nkFcmK-3|5tbUc|Mwd<=a>5B+U8QqHPoF`&Stojd3ZqX2gZNCFIB1aF zpU8WBh5P5*{T3>;w6v&oqCdRDH;uRc0(Vmyr;hF#Ep(|{dhI%|Rb=zeG-wQhh7!68 z%^96C?-!oPJB1m&uJg)Jy&y51m8b_Ow+w3O9HiE*t&r~QgxWNtWq%}3%9mt|6o-nY zq=Zk=ap-#VH~^iT#2}G1LFq>S!DR?6VfjejNLMu5c*Aj=NpIYx)S-vmqq{CBSw|*- zI*Jm1^s`kk2C$aoh=ltq2HZK8bAeukV;lDy^A|L&f8Cav{PurG8HB!5 z`3FgU=|#Wz(&^1*2`hj*GU<(4*|GXCYO z0)A;y8$B7bwRM_QKXIbUTXJ6IOPLNBFN_srpD1N@%QZq62>(T&%SVSvw#l)O?JXKWJ>oFQQD5DwHIeq!L*X7MECwPn1b~O2?)b_{wzL z+Ctl?9;76cM4xQR+WLsiVv>4yE+%%iYPjdUi;|kw+E~30%|@kZMv=qi%M{ZpN(2#e zO_dg8hPCek1$S5QWyE|9Ip5rD@S(xjrq1WqgPUW8@ez+4z#b;BQ7Z zvyb^6B=BCMq>Ll|c)Xv8gmv*=66wB;wZ`{bQW-n5*cUY%`0&`H)Xj{V@=q29 zj3>o`x;`iB1K<7kS%_8g&6@u6j`CdIWyA55dy0FANpfm&EIG00@m!%(d={N`^PhBj z67Ru#REgH1{i!y8*%UQs;-F4!+u7OKO(5t*HwpyNE^$sdF>7z*SYBsVrE051&+g7n z*|N_#lRm_)fUjBFiC@`RiGjCu5CH{WtsN(|bBDJz=`(*y2M8vCj{?6MAK4gHuk@&~ zISoO(CyLK}eNd<=9w&CQX_m2KijDO&uNL@KR5k;cV1p!BuKzfnSe)|+1qa4Nt0MTIg1$Yj;ceJU zR&sAMduhBdVy$uNY^;+y&2_O`E&~>f?FXU4Zs{-Qr);aIBK>S$5=}9tfB?~n)3nU1 zjdvEa3%prd$)#qsZPCb}I-AIsiZ-eBA`7w_*YKPBd{wXN(_{2r^FR5mI+Ngx6skXw zF)KeTc&U9Psr}>uCZt8U*a*HL*hDB+U)L@b{dZ7V*T27W`6j=;TeN<^WEdKKW;P4 zywbj|QNK3vHL>Z{`%Y8yh(cK^i}M6q_-0g?bwB|hWJM=`ubh#_#6tUK_?G44I7IV9 z^OdtWMAt-WnJWD-%;3vDZac*Yw;lCc@iK+Iqw(n;;%Q1TO?;`Dj`IS2i$8RL&J}y4 zhfZ5#Mc*)+6?E!4&bJ!13Z=RFVBSh2*}0O}ShsOGkv(Q%&u39dJYtY+>}bCB2yAOZ z@fde%=J6UpI6Yc4>9TgyQq6mOie4R8m)Kbjso>O#8!*}AHjnFr$30ik)~wgJU-Sf@ z;+1h~n(8!5qh5(9Bfv-2t|+H@hQ?K4HEeOJvr}=Dh91}A8Yz#3)<%7rbg?H|FjdJG z#BQ_2MAwb+C@zgZc_V7HI6@N)m97qpG2bFDyjf3b?^eqc+KMflzs7rh%$2TZ^8Ia; z!D6$=HM3|I&?YK^xSb^Te*`;U186iCqjwe?B|DagDGw%^Uz+fIr8;+|qKAHE`%wo~eb34U# zQuGn)Q9eFYoMs>5CJdXS=lUOj?R<8ih33c3R+efp1~udjT^4N|d6U`Dh}3}n;t0vt zr*Z5S`jI`XFV$9W@eB)I`1l?q+U|d84vTJW?D2)zKAS1>Z?+l+h&PWNjSl^e5-bR?v97wUXy!9UGO%_G9 zw$1StOS`i;RCkUj%BQBiNQcO+$wr>g2qA58yhR_&{Iei?rUTQ1b}~^D@o#o%9E;`1r;nRlr=zn`<`k8td`tSsyGifk z$U>9;6xLs{i#UE8&mA0y^f?>#^MST}Pk?t6Igz*6brxml2_YHDu)`S0c|d#WU%xqA zSevB!k*=c-;#i(m@GBq5<8m$vnzos(aBbY6;K+x@pB8qR_TkG|vI_PG50QTiVnrst zY)p$QjRWb|#-0owsyq1Z%vq>p;=1ex}-jer@%md$I!c*$MNJPJM3oGw-wb4*z+kSH+_m%fcNL z;v6PUeYNFMXeQGqb!lZ0CjR4Abb{3UQQIb->WLf4(TyC^xydn+vjoaCcekdtNM}Ru z(Np3IM5HA7xJ*MEpPRJruba4f&oao(#W(6fuo zwb5!lo!awd_k)+0o__YrTY@a zY+n`PJ@O#_J1?7bw1MrWO|0K)BO|qu%$m}XpY=KShB0{s>p>hL&M`i&-1GXZ#M1E< zo649PV@jiZ>hCDy40&C?D$VofWkMh7CfSLQIv9~xzPvoW2Y zb(_apw~k`%IDX&boH!;Wm3v)b{5O(TqCq3Hzkndf^#O5&iDEHCXPa% zidP zpT=~2K6idjOrMFmM18o5(n){y1T}6mYt&8EPw==R@t5D zygp?>D$e4T%dco$l)p>Xu#Z`Dko8WG;Mgk4Uuf%b z2A{CL)i!b;U7^r8%I|G`oV#~r^5?xn$2Q)BA`uHz1s*c_#eY%$NFi?>#Ww-sdLz!I zspeegUHGA>#A7MENAVXe#Mu~+iF1qljn*qe?Hz(oHMpG37S?+JE>1lSi5teACEUWzxC(pP{3D3RsY4go|qST)`&qR z1iV(ZQ0gW-b1M2%(VH@DX3U7a=tl8Lho3vt+9->_8vDp)az+oL!VtW zDfVcCRUS=jj?;62{0zaZUE@8Bf4j~`C@VJf#Gh&QWXJ-%>!t_q(R}H%WftQVMHC~` zU9#y}1}E~_iARr0P&ps*)*n6NL^`Ua7d3PgdhQ3#--*oTBWmaKzEm@BV3^l3nz8Ek z%;}y2-H{DfS#>;1hdv}5bdYtC>B8-l>DIlsRu^bcqzf#^?PsQ3=eg*|&U20BkD?LT zsnCN@_E{fs-n|s>l0UeveVo}!&f-Y!5qN>3HG1ysi7t_C5!4x8;cK$|T+KD%T+8Dv z-`|=neO4sH_U~ivv!WC^wG!h(QX7+)r_+4aw4K?={h)?3^jJqL^VdeS9-pt)QItq- z_ztfiH|E9R2AJ}r&5lhpMLBEPYioiW$b{Rh@)nM%_x zvNf9f%oARtMZ+68jfdhI&DI9;)}cU>PSl&8ak(Y$^L3V<1-m7wiML5Z{jakKV)3+u z;~?MPxsKv{Qtl6?c|CK}hradbO)7{_-x{}d`=@QA<@>a)pPx^xe;ZD6Yb@yv*R*#? zIRnl@#=q-7$8>@<3lUKjHPTvT6g~B_Q}^= zMXKhjH7i5pi*z$q(_x!(i@e#{Og>&~xRcx#tuy8z%11K8U7Ww1j@A>>T0Gyeb~XyL zwaHNQFWu8v%PN}lk4Gt@$VaEL9s_gz$r}nWunvV6?x<~sa4 z>6!|yC!>4x{jXU(9fMgu^~U_1D2v=0NRe@EevNgfU(a{p`QQ_zpZY*5g3qtTHEeo@ z+ep)jK{aaD@JU%c+8pq>XvwKuvo3eNAJolRjp&*u@u!Z{bW}Yqy%xt+AG`HKzgDmH zaiAE}j3S&{WRdkUiY+YNHL9G~_(E`uOL|Tb-`+`2VdGe*z33Uu_*ND+(hEimQawy( ziqm_5kMHa(KDLDcGlh*#+QyiwbGLkSi+dt+R|>a-MxVW+tw+FOLE~E^oBy)CwR|mo z8s=JHOxVe9@yOHm!~Mr(NnG4jFmxE}w&3$;;BcU^?=;+(QvXghXY-@_Hy%VmQM2{{ zSf!2DdiDD;(W>XmDVl4i?4`aU#X#539Qx4w(o|v5;H_t`NT7MVc#>^@A$Fs*wpNp~; zSYzE5IkaggRjK?bTTkkJ+caK6rH&`*F@H%k#;T}3Ta)I`t!h17Ql>UmYH_2$3`7<9 z;3eZps7zG_V;7ET(ftlwSgNl}q2H+a??BDKzP&XEdGZb22^esauDq(iv6FW1i>zJKRfVq>!S8+XhGMby=cT(um7jJ&4K79%0((J(m8C9`LlZU`f*QUF?uL< zZP3eMA(_U{Tvp~c(M7_{yQI4)WjefTBuwRtepQsOhK^`N4N2=!DCjoS_vZZ_BI(2Ujuuuc`^4cXd0i(B=F8NQ3S#`rwCL~Q=u`pk zl6KIYnD?>d`)1Z9x-0J(2OzIg&@PVW+VAycEj6B9`^HFQ2jiNn$5Vs8 z<1hF2%$uY==OcA>Q$}PbI;e3}KaV_NTB$uXc`)Cl>w@AtDy+QG4E*G>=?V>rTjN;6 zQJkfp$S_Yz(r;r)aglcIJMVh>c5K=ZMUAze{4IFV_VF3t`As#@56>E-MSA)gk;NbA z_!&Zsi+t0{ZHZlxIC6nh_GCYMzrLjqYqA!phOD=gbs0_HKr%m0^{jP$rh)X#9Yt#T zwXegO%ZV@Q`+NTBckNRBXFcdUMv*pubuO!S{!`lWYS=~qsM=TJQ(67}(3Ga?$%lQ| z@|`I?>Wbs;Xf)&Vu&BRd($urgl&1C;{>>QrmDak5SH>^u(pN>K3boLGNEZ8$A1Q9c zw*k~LYZv)9ou__i&sLcmO!v`O{F$iU2BM@ZF3LbQ8x~ff4azTdnvK0{o@1Rqy9F{?3Qd zh)hKF*f%+%pY>fA*a($2fXkCf9|PmL7^^Qm9KnR&$T*)_l*_m#$k; ziG3EdN~@^STwY(-y1!;Koy)C-vHXLc$=K|rcNSb<`5cwM{bD^fZm+pU^s=)rU+2Zh zShpU+Lu+YSc+>)~z*4#*O5gqPeUaPo@28utkc`{>_d@FVtvmaX%^Gtp{bBvSjBC=5 z-CPy=H^+0@=wxEsmL=)h+@Jf#_Wa^lOz5fp4Zq#mGU5F;x0 z?Wo7-0om+_buwximnk(PXBY!u(M9t%A ze`^6-*}3=R3`I)tBc5Ql&mJk?pJ#S}irF;Rnp7s53P8?ds<@QJjIR4%zV|B9&E%H$ za;iqUpuos(_METrxG|l%#G)sRqlerwano=9Yl_Ww{xV#CrrCZ&B^G{mu}@B8J#nT$s)Nt;S+Yn~c$(+gYF`&{ob7sq~P z!F2Rw*RaCBC`lZZj7|@P@kKsgYZhZl`ux!KS)dBHeQ3rf@#59@)o!1By=A8~vWwHS z8Bt*ZhFE7sUZP$6U6#1-vwe^_;OW023vD{Ji}${q|609Rf8JM3zfm0)yJPQB9X0Po z=DJ8vF6$_Xml`^*f|RMF*~&aLrB}@7Cwq`a$9*IHsi4TG+tK;V_2_&yqMB(_q*9u$(A>`2I~31@(_cVwnbVjX z)n>s)zcV8F(VNGo_^c#v$vR78PoviqZtd(l)-pk^Z}%4`2#l?4Etu=6)|#$&=!(nCnx=ozjmtOL(!Lb#^Q-ggF`_TeMLU=* zwY1ZaK@T1*#Il_=V%wVMC3QRZg14A%HTLRh`%5d>TB|%ePRRC1Mc?)_0decPaLv0f zLOgTF*paqv=?9K$eLOymIK5~^ahT0iqAE~k#?zS;d)Vv~kDOvZjch25*PdgTj}6VJ z`fp0=tV>G*{!Yx!r*(uKXV3gq zyotMdAB(#LeQU2z%x$DqXhfd+a2q`>W4JzsXnkI{HLf z^fDfgM$-&rA*JAB*(x;i4LnR1vgjj4@h>%P48&2-`8z3@XLV&<$fHaW{7KJ!Nc?%0 z`-GjG#T96md13S;o21~eCI3yK?3}j?uDk_fAnHyrlJB?5`R%0_jR}htb$h0`%dVY| zoL@`v4NEiYiVGP=AAChKU3y(yho|S}&KJL$#uxu=qSZhs#=b_scc>^5fAb(+VKVSE zo}_Tz&EF3*8ZQA5RiT!Yov+t}8xHp}RO^V);Ha_Tjw z$l^4M5t3R?qcs9K;*3@t*w*4izAqE4^b|R+B(1&;oAkUg?)fxl)WuQvIn%TKk$R;X z`^{RP$70+lTFi9;zxl~k8XKWw!^!Buy6jJpCI%cj(#(ImBR{*6KAoQFR#zTxMZyV^ z)vtO;HGHBU^4Is{@+hOzmCkfl&HgA><34Irl+7he?M$CpdwF8P?(r9AQiABoWKAWM z-ej@bF&o!F?muvZeN8&klC?pc?(S(i3V|=}72=r6o-?>S@(#%)4-sF+hK-8I35w1i zG{mv#&u~)z5QX?yLys41O&nu!j13;i%@SSKTWSHtmh>Ny1+Oglb9{y(FZ8iz@kCsv zoJVj;cO1w0@AW(}T2QgDfJ&ehWfxzz-iUfbcYbazCM;S`>)}~u zJTvz;6OYwqVmGS}`+3B4z2N=i&s7x3OlI|LYa=ri-C8WvNGLo{ioZV=*J-BtG>V!Q z3;qwsco(MD7)4(D88h*a#;h3EWodei9<2VAQ|L~QyKOXDAgLV#wGm07}x`>7`|7n{{|hG_bV<1Vh_i(D4_N_U@WN2YCAG4*fB*eCX zA2;rBpi!Iu5-LQq^V^C2&E*QH8sGNEG~(kcjT5d%Bc;q<9S8d=n=S|d@6 zUWz;7O&|G59($sn_-@@jM5%G8=phTKC&Z$;^n!#ElE3!z+E!vtB-(NO$$$Mc#P}4w zsQFCmd~ILkL@_EXe#sFU?l;-*m8$=Yf^n%Y{ab4ts72Km`_4un_Q@m}N-i5gk!#H` zuz=s1e)K2GV0Mplqs`24kn#}Me+4>Fi0(sUc!35pmFYRIL;L==VZN4?{!KsdNsOlL zG(OT}{@fyu$(bawOWLctHs;Oy{4AvLZ|K2Y`Yh|x?ES0wcJ|27!LKUWzSKP$yPM9% zSy$0BQtx1#o6dOC2*YWOz-4p~4BD9|02v1FgfUoFkJFM&=iRp(U^E@je2Tp!x0=mpyGou~9I3Ab^i zE?!k4s(28tr8C|*kYx^f;wO>yOXfDFJ$B~j_Kn{SvY6S01hkLdXaQ7_Ge4;R2fwqJ z(IpfT>G8?*@H7s?)c0zBhX`wBW2-C;19^VVq-ir7z4jm>#`M<0yWH+S78gV#YoD@U zd#!j5*Y|ye`Z!aJE_M3SKtnX=CvNbaZvHGL-&Gf-J2u@^Uz#SPFY>pZ-+FGd9x}^f zha#JQ$MeZ(Nu%SB(=@RiohRwteVNpxH7A1(epY0OO<&>Nxcs?|uj*G$n|er$g}D>)A+Yf1MV~fBWzs1*6P3Tl&y{`T=t>a>7Jq`kB!&*XCN{D`Ln^y zmUXnFE_0{W5Uy7#!bG+;hd1z>x;N13dXSDA(9Z=Bbwp@PJB>MtS#@-s^S@u$776R9 zMs90q=B&D|^L1PL+x?0*;!$xho=r+)Xj0+IzO!plwcnUp@NmhM$5gFFF^O%1$QDAX zjvr(V_odv|{q3S`RU;XVJA11`SMK%D%|fa_qJ(cg+4|OfKb~XQH#eZrmrIy41`9kI zhc2`8mwgj_D17w8nP}DVm2&0lzDw;nN*psrMH&>M1<;_rHPce~0m3LARCQp9-XdR` zkK^9Jf1}6!ER)cvW||XKW}ql5uN-j=YrdhxRQ7>>oJ)L<>QbB65;4RrylO@=d&pbj zLW-0Q^0l1;HvY!GNWapXu4)PtM8l|xreb00EgDr(Y1(cyj%AsrK+kBTmbI9ca%TP~ zsu_#0=hM_Nzpq#mcTC=#*PODMTRp^SN^24uFZD4kMqjOJ>*p%dr%NGC$ls+3an4`J zMP=A^WS=6loB!T+{#~iRzaPjm3j7oMVN-xad~BVYzb|rJ_ANyB3QObe(MD68+VBT? z7&Dus(U`|~Yo1}*UfZSjv@somksV?f9j!^lkB?3L&PY0@&|zb)U)#>r4*8Q0f;&3jwz=Vj7Ge~kNaKjBaE)8`!We{|DuH`{Ozs|T@#?Q0=6>Kszq zi2I*xMltGz-KwbK7ll2lNOGVaEg+xG`SquHXZSClS>26j0_Pw#rnf$CL--|*aTAFAl8j%i4L0^iX>4!1J z(Ls-N=<}ZIDSuPSS3?<1w@D;o#NzDYFJR?g-tn`rIDY)y45yg#n9_-lscdYpM(S@~ z>aYlJ@}#n5BP2hmllG#Jg}*v4Gfk#*RAfB<|4HiS6OF&qv)}gar?;W9Q#St>dWzvi z-j{Al^B&_|lb-MS8C2mL{EAre8bMOv3-l0YiPplRC8g-A79T?%r%q%96*MKPsfXGM z(x_*gr_}o{Uedi`3{$dFI{w{9PO5#wkY0@IF6k@HYuu(IK#7!u8Awck{D({9+{Iu2 zZG(S=w(*Vntv8>~jJD4gvTxsK{917t?`Yk$Z*w+ObWx^kJtLzCX!zpZ*r5 zsCZnE9%O~O)wU>S^s|L+ruWoa>c^(Wd))t+XQs4kIFEz8G2h2Lb171-bDE7xEUNpk*Rk&2M1qmZ&`u9cOy*wO&!jA_$+ppp+410QKRq%6%k%K5KKP ztmhnOTBzq&-1>Zz`-88hi+Zi&GNYLKSuKyo;Spqewf z!YIi`rPK0p5|^*OiLv$Tpp1Ubm+u1pUiz*+3o4m!yWhpNU*qweabD{$wS1>vT5L3C zithlrSG%1pZAdreSFTwYi#fmY?~&P49H(dT&PI&&R6o)+HQM5}7*PF-f_-`K-=Z3q z)SzBtdDBx)SVrpJKM+R`_8&=MaXA_ap+R1&HLoFr%Er^-fYe2Wa@72bJ{W-}b*@ z(tJf-e+N#UCSB8uddt3*X8ntL@xzubb>KLjZ9n5W@;z?Raz>?&rc@ILu*A>@ZP~dA z*ZhODVw=$}z9Up0gIrrmBezZ&(?-$|&eW96(|$IQovU^oiE9l{p@1+Q5%2l^5#8Wp>o$>>1@C`=3kelJaaGaXV&l0?pV6PJP^{rP|U- z7;VkNNz*`~Z6Uo#`|#>|s-;_u6Ll1!X5+@G=^~{S<#zo@_TpO{qT_&P?RzA#e~38t zoS$nkrn67&!{c|h(|23aktQleq4HaXcWiihP#qxn{IbNntf^>Z$;PCBeCE^BbbKJ|`sa~kRMIiaR)oFBYBaW6k0jd4ov&&LrY zuGQAs7iN0J^7xUn5HT#VGp|CdjL)=8@^n5JjlTFNIqiL!xF^*4v5#0zO7cFnkIT+v z-IAg)sFj!PHE}?N>4{B)eNie^3FeHxiVfoLl*ASN=omS3`ikJO54S3*|NcMjs!_mf z5_|A?9wnxjKJxd*vK3KRwyuM^)(2QwDzcB>aMAxw5k~C+pvOavr~G6!>cHYk!R99a z(A1-&=XiiOf)ueNqOX)ujWwS;G;ign$H>?fsViq5sTCw`ZN86(W{Byrn`|a){Qg?e zMo1~ySe8d4Xq3ly?lkw>e1#t9C-tO72g-)g5bIb`tU%2spIo1Dw7DOf^lGbdV9JX+lmf&H?bG-gpQY!~QN4?YMiep{k_9U8 zgZwd0i%#~=t~A!ANMw3UcXRPMy6FMkp+j6sgG@Sf8rtg=c**EMOaF)Yp@3c`J%9$y z<3DK!O1VDb-oRpYE|2Kx$~+4hOf&NAxMS_i+Sk7mpmrvaC|GQf3iQD!W|ep)y+)fp zKEISL?W|o)#7~QyO6yzgaVBQJmZ!C8#zj}kjmhG!EzRmMfse9$%*9ig6e|kfu8OoI zjl9IqWEdA|`#5LAiLa9j|Cft6!^j?H3vDyp6gby0`ZJHPoe6Ewo%u7@d2H8M%&n*T zk{e{YkAtbfSDCZ%T--Cu2YftdXBFl^Vp}c{rIym)Nqc2rh%s{p{ zK5A`h8t$TRyo$dj4ULIzA|$aIv{QYJ1M@^%`)U13ZMjnZZdRNt;`h|jaqTVBwilFA z7qnFy?WH|42pO?`beqD1$!udXj$(~Rv2SXCcaQOIPmA#>7v9!VlOT@gRCqI9Tu0~M zwX2oGTBaW6R767&4n{IUMk?DY6nTj&ts)(1)~+)zja)_5$|7>q7$Z7)gUMFZ@PJLE z)wmWnEf^=ZK!X|Dc%0Q3%j2x|rFPy{l%o3R(&pdz)f{NXn2#T&=Lcy_p?B-K%V?=R zBa61t63~JZ7>NE5{jY4Jyk>O9`3|MgOasW4J<*Hv?;F?Z&VSLiem_&APaEd&Vmguf zVkU~{y!n2qmVUoyHB3X%(`u+iF*VLiKi%Yfzf-$YvcRJe%8`iH{`tFsvQ0jlOAfQE zG+gjrtL&)bZ|E`_SphiLdA@$jZDa&2~ zqw93eYhkv~n$UD+ysDyJxQP3TR_^<^uc0S@LvsFEz^MKHe$+s=3o-8^Rv7a`X`Gsp z#KMj()ul#rbLpQ?-+f>7(R73q$f%td(f`{$ej=SX#{74HYvs~WavV=uM`vrFF0+^7 zVrsEe-;j?cld>@#0Xp_k9212ZTCMY#E-~Xnc`20GX2U7#UwTh{hW;~8^BKXEWHKTg z&DpEP_W4}r-!I9|0_op4_cSVq_EGb=ikQH*(bu(xjWnXiWaCkSqE*J4cIJ)hi{ngN z={K&$XRMyuQZXYvd59XWk<#|>W;?i}E4Je@W1($~cOGrBQ*QH8g{kzPt$*Z4?$g?D z+l(Q5oSFj9jaId{O5$&drop86{&1f;!*wZIZX4x!*^e%<3O(ZE-lRiw3`U4wLjhP;^^P8iz(Yjvx z^SLJfT~PCkVo!Cw(P!*XQ&lFnx7X;C+&-?%=5a{DWqbkI$D_B2XTvqEwB8kiu_X$p zv8-O$Px<^rtU^v71^MZgJTte8&lmmGrH4#^{j9+ym#@K%A-(jc&324q;wO&`k_N~E zN;S*Ig^#_-sy}unS@(Rc=Dj`X9hhV_vx?2wJff9?%=Dy1TWD^vr)#NRj6$3T71r>! z-0pqX7~;6b)4YoqpLE<~zL&-Dbd8br*+u)5^YoV`G)}O@`NtaE>vuYPd@UU9rIz- zj}2EXr6ItHpa=fqTDCcj_so#eOIP#<_f<=gQ;R5wpj9jzzr`zZb?Y#T0-_?Ha=(Z? z#D=hL!=v$9I`sv$_WtY7OU%%)AYVeqeB7svd+{H8H~aI)=9YNA;$t9NOQrq5YiuLU zYNgCyqMamd%x5a0^Jr<*4c=g;O8v3bVpsfbfV|ztj#`V)p;1b%x`>%vX{8)@dt$+O zH)4=9N6zQic=nyW?~zh-z2$yjc7TwWiUt%xg@k;-Sc#3zoPOOL9-o`b=b3BF_ZclQ z>_G}W{Xf*bJFg{MmYtVWi@42Oq^L$`;eco`rN%`ePodB#^tsq55KKZ48b}#3bO9Lx zN`?#>GGxe*K|_ZAFzvQAzA@%pkBHd&oP1O@6`A{aV$J86bItXL*aielJV%-Jz)3@^ zszFw1Y^k6m`=kBOp#~*e(UJyZWzLDS&KqAd&v@O|^A@+6lktFNi&a!{L$VD}k&ZD&?um)ITNKwNXkG%uv&NrEJpa<%iR=3VL z6M7l98Jz3=q8L*!#F1#SYp*Tz7+}<37+!Y+P%`%#MEBu)|AEHn?Wn_g$d3JV%v5e4 z^40Jo7GbSa+FtO<%WMwoxDe1!wWC?)LM!s7SU!r{@7YV|*Lv z!e~St-&Dn7jgqiky%T;N}@R|GjOTdZlxn+rasj z9OQgi1q9HdbgoI0!oq)&73Ms`Vu_W4yrinuxhz!ltWUZF600({DS7@yzbcMRErs}y zn~x%_?^e&GQ|ya_*~QZrw-nZ2Ko zPOgN#vRG=~>Hjef!I$tLPl=D4SY(-h*^l1(?z2IT3Q_QD=}cCW@`&nP&yVAZs^dUK z)`EnD!RBQ?y^%C$TH|WBBOR~z+IIFtNV>boG+FKD=veJ*T*l0W`d3#(iZDhU5lYXx zkw3?JA5`12_)q&!|LgR+z9ZNno)$e*vb1=;7exN2z|*=?^Uoew|F zp$XF}8War6Sbz4H>r9okOmR{9AlYE`ea+~TFWu|twm#B*<|sx6!()lYp3QRKoqPCA zza20cPgQhia!o#qUxkm042H%dePL=4Hhuav^Q}_Y z!31bC-_d&_r~SK@{%PxzTE50zzX}7ZoRZOrfiJOc9bqHWUCofABsE7We%By+Kdy7C`nmf(R{lr)B5&d?H0oFQ+*XT3-QT=l@4eJ|jSLy? zJk!o4_VB@#9-d7S75kFc)+X+R*RE4-5bt1 ztFGN=v|{15Oj~>O2IRW3xM&eWqDdf;(EoC*YtP(KR*_m@#BstC+MoJ|a# zbHVUwTXV64`9Po#y(_3QZR8{LJNK<~KPSpy?tr#PIrYDg5B*Cvx&vQBM}#ed^I*u!r~>_eEFc0nd+Gc@@yskEaV-72Kks=#_f+oF z!H)unvA@n!-!|5Ry7~u&o3-G8#gvHziDh1UjptP^XR+3Il`rafp&c|8z99+&aukgxEF`6{Ej-LMONtt$Ptw_YP-_59+e z|CLAd66Vs5N<}fb(3$I$%yz2i!Xe@|_Fk)t8R(qQ6PINeWnmUw}hS%yQ!=aW*WN*~J94$d2Zjj&1vA-%EM8q-ue}_=q*?DE}cZWZ_dT6VMglI%P(Q?<1t!7_)pO)ooY=u@ti(D=T(r>4R z{k+r>OAXu7l%|*Vm+^Io`q>K>d2vMioB6_N&*|T_QW)=xxW=Pq5jTz8B&7GXTGzi7 zvwEuK_iO0NHk#JabLj4MW#_%lsr#7T{&%%Iyrdf+$mif$6g#iP1w78|?H~2-A z?G_Jma@YI0UZ~nO>Xx>+HEmmVr`~1$v*SHEN*u|+PkL>9F!QZ7NV*XY2AAB1HFR2z zTmzNg^RxX@p%%8(kNH}sPum!6a4sB~H#$iE_yEg^tuf?yaZil#I$qlLhqW%O$m3)5 z=&FbKFtx-U(v5!T_4$YB`gLQQwo}XNKBT3SeyAv+SjH~jGM_hh`^GAsxh!j`Mj)Ay z%e`vFWa1}npzVEptljlBD^yTB1@hu(?y;b{PwoGZIf_5+r&X&p*vQ&9)Gk_7*0L61uzc#kGY4%Nm*L>w{9x<$GeAx@-513^vmg4%J;>2q8tWOZo~ zutIrle8z@8^rGmINcmrpgn;UmC19O3YL8=Izu#}f^tY_z@DS|*5MsPJlX^xT?|WmT zhjl=1^l0p2HydsuwsT5|6M3q`!QIp;gDgJ>eeAbqtPQ&*vB~D{ zb?V+QlfEhy*}>>mC9R7!zHwf3j!`=59lf$`tkgIf@&Mo^Zb}{`TINI7K4)Zy9aq*+ zIqP$$E45J!)AuC4kOu@AMc}b92^|V^xt%A;!`6wylgMW1#@Ir~Ic~ng*dl?HX!3;X z%s(^F+Di`i7dc5uN776@vS!+u!_j8>6{Gxje8%V4W1)%fh1>Ubd~Qw=-mIx-^p>1w z+bPd;uB?Lun+)`^?HMd=X`l4W!jEsf;H!Z@`KKl;Hjw3VPv}RaqMaNec5eAu3&o4R zJzrnE@S$7CUp_s2X553zSpyi0v}p`D?i-uF@I};c3m|l9b*Ii8kqI?X3Ci1*!V+Qk zLF0H)JLZMbz2&&MEtXR*Q8N?yoIO06Jm?r;ZlY&Uov$X6-HPr`R?wV-32f_isZ%>L z#c5V8^b=}ND@0aXL=eU%-)aqJkdgPs`Q zoy4Vc?D*~TkDa?}UMW#f@l$=Nesv&xvS|Cc?I_wdoodqx_$RA5~8>`A-TmmMdU zed(C=n)DBSDZiN^ijuwNq-OkpH)9U1oqGtk0)zu7KlZj_w&xL6si0zP4NO7D^OAsR z^sCso;xGLwGm@KZ*>ltJF!Ex-Q(a(R(75O`^J!^AHcb{oFZWf!w1X#~CEkb8m(F?C zSp&BWYs{?gopU0WdxvmPAjzG?XmQMobWEPv{V(Zm^kr%xCn>q;yotwqeW{`1_?$kU zm~#FxR~(;(fbh=!+0kq7OCw^=US;6?$9<_MGSZ~-A#LvWrIa-?j1+cDZWzAk`=BrN z={C=(q2sgZ`}WPi%w=DSTS!lPUm86}H7*M|GAk;AY&QZmfi^=?tzjJV!dv>%+$Wty zvW~0Hk$q)}V^R4Z&TD^S860EPtJH*_3_57_e8`}M7MHZtN>vf|pj*ji4sn2(4%PHE z_8h&GD2bLIw(^rc&02#_gy!x|^rXI9T@=d)OaJ{`^PZ=9tu$u)jCFb*`rzketT`Kx z6y4{?JLn++q)6Q3SDrRHr`!cbh6Yp~ZjCj@HP4C1>)-Jbjtlp5uDkPw`)^xQL|s`Q z@BQQ0!aG=$S`%q315Yk~6zVu5{SNc=Uod}_-~{XyW5nhg=dWC0*q6pa_`hlXYD2*S zfvQp3|Bb16KO5}Tezi~eghdJ&(nCNR2PiST_y)Z0u{7_3Xc`Ocksm_J)NORVgQ$2^ zkL~#@_n94^3sw2eQi`&XNT0*|P)HDntmm&1rSyjq8Cl84++T641>6^S{z`dU4$yhQ z-k5h>;!m95NCcvX(vq0zzk%joqhH&9I^Gin+g`S3x>QG&DhhXBw|+cprP@DJ7IQwk zDSq*7WyoR7-zLU zAiKyq{kV)XXGVPQbTLqR4fI1+&kqCWjI-XC!mn@Kqi4?!-&!D5T-nxCv}9@e&aPftHcL0NXUSL5xkzVwW_3fWh+W^z zvC5ayi|z8<^oZ46z7ewr`+079tkxTtj#U+)5OS4SvUH4 zSHEV+J;!l520xy!SXH;=+Aq1ba_LQ&)jfQK3#{^ZcyQMe~+*`e}QwqKjbjeL2@oj7Cqi( zY>_d*SJPwePqacW_)5OPFOE9U=y9M%<9cOJf1lT5kHdMQDWvGU&NtIv!OH3@YwHjx zDTSu*=<)6q`d1$xt1V-pEYQJIM3J^h!2J`}e!u zKd<%);?5O0c50OLtK_COILIttN(CpGbf;#PilFO~72`b)_|2#dn*J5f2OPzC^sVqD zWD6^-k0r+mE6En%Dto{EGv6%1O>80G<@o@WH8}0*2*xzN9X6~Mig;Uw3{Zw(4Z+qL+CnH-rs|k~G zGu@NB2lBEG;y1HY+u2lK2$YgbD~n2d3ev2*DJIRx zx<0hPks@_8BWQ`Ip3{oT9Yzx(;!A2JFmNtQ}H zxa#lq+JEclWLAq@<#m2U)u9)Kpd6F`davTDrvt!=Gks3=@;o)RG1FsZevd2id34tN zYg8gBhFmQVsEQmCsLZ36NRY9z;XzS?v~y0ZaheRYqBVXMH=)+=X)B6-h|DOvGk;Fs z`j5Iwc-GzCCk9TCx%J@Fpc%mzn#5gk!76k9dY$zp=GzC6t*n~lr%f|{v$UTw*`|-% zdlV{})INEt>wnuv`oP~~DXi|1crN_xYp^pXI4jEY`OYv(YpLUA{l0N%i-k++rW+(O zODN&G?N-ONbXRRjriRC=7voa6;vbOZoh;=8=WJrQbEy1_Zjalb8*K1j`fK#-9TPp? z2_j^f)QC@&Nq~a=F9L}u^`P3L!gu<-(!{67853*qI!)PmO9_H}B|?B9i2sTxPIIuX9oRbp0BmF6|8XS>XM2=#9w zWJSfAUq~q>Ykf!p_hx5Hc&rV(5^hRo$wF(0mD;AH>bW5Hsn;)<5a~Rymk`Ev`pd6Q z(psd(ed=WY+{^!mlbzD%Kxyo=lG&LnGKKni>;yxFylt*lY~#*rZ>%lEa;g(L{_!nub(MbRKhD<7&t!ZDbC12sg>#szuc( zmE-gH{pi%^v;Xd1vU@}P>b%l95Nl$I^)pa*rV$$sy$C-NA^-JW-FE4A(Q9WMOuvwE zQOop5mX?7SM`J(3JA#O@6+iUU9xq7$^Yy>pD~N8TUwh22)S4glx2ic&w^1Yp;iwpD z?^zt->EXV_JG?f&QRmD{i7akKVU86ief|6Ry@02Zyfsjryh^RYqXeGg!7rte0X2ej zo*))}HLe%KTaqHyy;U#eWUn^zmE9)u&8@*r2TXh+9hn9IX3tgU<;3Q`T6ry%WigN! z!B)`@!9?o4!sYw4ehO zT93ZlF+nuce-EIPzYh8IZEfjwF#W`H+r!oGA!c?N>^EDaC5cJ;>fK3m%`-=iX!-kML6y^eJ4#YX;R9szCbM*1W&*`(hx2W=Ta9+5HXzX$YJ`Jvx&*6|S!kL=nK zCsrk*Duw4~BDJO;)ZTS$>UZ+C#~z+J%10Kj-V?UOF&6BCGA0L+fDRsw>eI|*bREe23PdwTD4+G!MFPr zyRL{Fme{S}fMJ|6+fQ4*p}kG$>7FsC${K}7MC541hRG z1+AdAk-NPHs5V|$$cllPK3e5`?LMJ-?(3Lip5?pnM8)Me^ts{HBW*MxZ%bD&#$#P8 zAz3V>tm>kYl$KV4+TanrzM03Sg6t`?t@Ezl+X-&xI83_=0In<^`G!oaP4%2jjl85I zzi!e+9fX_}r7Dd@MsrHK)1e1;z4v^lQ=@XM1sO;j$cc`B&~2fJB285CW$csr)YxGeBv#UA-B-lab+*RiIxpshEBiKasI2Gr*1lWm4vs9=hUN-mSVT$ zPQ}z*Q>Z!ahi!{@<=xfJ&YPfei9@a<@sHZcu&R}qW3vd|AG4m=)_g;I=GYj92w|D8 zKCETpja33{@3l;&HBGi@4orD@wtd4KnB-Pli7q{~I@WS`&DmGM4FBKUPm=V2ltWIv z06*8gw2j~2(w5#~)i-luWWV$y()Ot`9fg#fgQl!CPCfB&Z2X{&7_mBeRfp9q@8VUo zZH@g(<78G#oA@M_f__0>5^!YBp*`NU?n-NYKd)1X6+(BW8z^Qz6MvMBM7JJs!$zwg;d;%xRrqHImcG+5l3n8m?y zry zO>`HflNrCf9c#m}lO#(?*ukf6EyBkZ;B~q1su}ph#H%-iD7;jQGp>jpNjpl|iu^I!#^vAnHHpfsmCgL?&A|sGCHQEYP(o zx#|mPNjg^EWC}eI7wwz6=DX#QO`SK}h{6EK%yrM*X7OjC_|V2ErDE&;Z_m}8?PxW# zbnsf{)79zjj+PvoYneLB<8$ZPq-Ezzey92Ur_Rfg;i z>F>I&>cnH)rCqgJWSn(k%U71MeBz;S1f}++tTXMB)w`CG*UD0ZpI4E60}=C8-!!a@2eZ-?^TwdQW3p?OQK zS8Ot4LOzfVe%8p%8;YU=&|PfGI^1$SV(8d~s4h5AWN!M-h!RI*JoOp2$=!86ke)Xl z#;yG7crTx+c!+I3eUk6y_-NO8?sXbEV=?M7;}@_YX{@I=k{xeRmsr&$elm8jx8|r( zr=h5j|A`=4^W7Y!xeb_mnt90Hqf!wc9cnv(f=mnFtaYw=XjZhu+oz>A?ERuW`)Mxa zWxucM-db<-rlXRprq(lOEMr2+-_*q44Uw80sF{Jv8#B-RRn5QBraV_x*QZ7rTf$?2 zmzbT3aJBo)L#zIxK!lg?kl_&#`db?)DP`?kM=w_F}=%xp6#RP+%~cZ17uE6GCXlM zbEmYFy@qW`uOklOTcd--c+R`YlRU`fSg^nhIP?}1N@+gnNg}{+Vr!1KkQKh>4ITSd zeM0r>CaZq^A{XlHyBagfbKx@ErE1b|icKw|L9qQK-XOrBwBV9mYM_Zb?p7xFdDicO zB;Po~ol($M=Nezj-&;=poD*aVF!(ZQ9L`A`;GgGr?6;JEbOycW&!i1D0;(oF(75T0 zDM!Ub+F#`nOC$4UyBWL~k*@uyZ+WKg+lF%vrLtN}jclS6tLcrV&=|W`tzDG=qOL@7 zTUyLtrozhT#ZlwlijkUYsv1HXVg(+?Txlz;q~mqjsC#dyv9LDgXSNQtj`^dzRKK z*diifz41@7%72oTI%rl*lJiD9v10;GyG^&62)p2uwkRVSJ5turPffaSD_@W^D<8-r zwneu@Qu0BgFhoY4mx1}&N)BT;*R}Lqt|`r&f{ipA=9LaCrgkKe_!XR1|8$fA>fx&q ztoR9pu?_d+o;9K-d^ ziXkxYk8z}R%0_t(r%jz}93%bJaSu6>K0vM+wlGj*(v8B08RBl3m@ zlQ+)k&L%=Qlxrv~%dBx!HLvBD7KtJiikWShxrW>toORD=eApj_GPM!A3PYj^17;RB zxiR<}eSCY8X%xds$UfaiXPix6fY#yx6g7cBc3E)C@1Hs+k$bI60L7xln$b$T{-zd2S zj~BYe5!ZcPrE@;A+-zgxV#Jm)fq`b-w&t@Mx)x2=TFZOUaO#N6?%^DtnR*p+)QK%J zvF=r~Om43>NE0ehs0`0lEJ97P7xCdkUoAC5WB-W!4f7;Y4|*Ga>}k&0M)_#+pB8$O zB>1gLhlM{rbk!#J@U@=0f6lnVz0OT-t)CI_1C(?oz7(*vFz%*~LH7|oAKem-R+T3( z1m<9}k#Gl>LcgyBFf|Y%Kj=Bg<+C#c{TCw3DpD3= zJRwbF3a!ecvI`V`c1n6N*PfF?tH#mHW{#5LefWh7mqoCmuI>C8&E+-8LZ$@pQ;rd< z?&tVTG6}7L{fD9v`5j88Fn1~DtFnbSR6j>sw;g0KnjS&jQs>6Q+n=xVI3tt9e9Q^F{d6{ zGU{%gBJkDu>D;Fak6^HI*tV3M$s@dx*G6Sx`Kpg~wSjyf9|}SSDTGw|9(OJNn*D#D zZCh!9haSsbBUt5wOBu_)&X?j;s8Y)zr6W{Mv~7<*`qzv}RvK6|R&{s-d(8VnRud6D zmRch7XZqbJC?vjG2E2g`I+#5c0)g-nms{R6Le=D8mr%xzwj!3~I#^3WwP(uPd}R7u z%fq?1)Oujp=I?%7k_1N;;ZQbJrB?fA#oFl{aco^a+@m9-^*Qe~A5b~Et%D9W4Cjz1 z-ursLktdL+&y8#tKQ8sE6fxOxJZb`Y0Sj$7lHTe1#82yH`XDN6Js$j3_C2=tMtXa) z#xAm=S~u_P{pyh(5}SX=xH+fraw-v$Xq)^>+p)$WnRR8pl8I*cJ;&d7@7IGOA|K5d^+#Xy(qpj8)t2*=~xVMXhbGoEO4@I!Jilf3sN=UBm>lo{% zlC@0W=0?286vQHfPbIAQZ|ahIvR2WfOESQ!jjVfCC-|f8I$5KAL?$8WB}+;K`3e-< z7*p=C8W3wDdEdc^Qb^eW+$aup1apnr-gnad%kgzqqewx>vF^1G>p)W#7h^ z+^2FHM`{E(=b6!a%pcvHpRl%kE`{;BwjIaklYY(3h_Zb%S1p()GlFSJl_tK}g zR0Hq&opOP5+H#C$Y)kRMnx1jVk|1U3 zzDt*xcQPkac@d3}g|P&fF6)yGaWxl2$bo7+*)|yKkQzkmmAq=%-|bWW4eu6OD>=gm~y(UtQ?P7&xx5rB|#_!6$fg1 zu{PB+v6dbC@L&XITX`&rn+L*CMUPF6&H*I}7FQcqZgcPW&#qtoa@cIm0KS3`9nc=0 zg@$2EedqUNeyhT>4)n8B@`~#mayD|!m<^xNcRW>%1)Z4|4l(%9_qO50*;+%D#fIfP z3@?zyc-Vi&Tg@9{D;^+}wh~R^b;nEp<9>H-*F8mB%6(X&TFnJ%6$-NWv_s7e!v|#g zQAp!EB7w%r4Yk~P5qY9nV# z9l1n(pv=^IjJdg$iusR~xKP0@7&mk>9EMEC#X6pT^4%|b6yx@Isw67A)atPnLaJz1 zAN7ge+dk$cld5VZQ3GK}@ebdqFCRKj9PINXmU#8Spa;rUsu6m}1pUIq zY-=y+5+_gPm#8Ib9C=~oOvz3k;-ALsZrdxnTJz8uw$vLGm)9B3tun6kpw=?>>+Huu zjBz#wg@$Chu%Bh>T(??|W_?U&psr|Xo<_7X7rOc)*Ae}0j)NB&op0*%kQa_3X~Us( z-so9Xm%caPZ4CX1FUsDlO|m|))Dh6Eyk4A7IKQfKyjSl7qFW=GGezu!ljI0~9pE{=CLl%X5*-QPz`(Isc0SIfrx z5kr=*MUC&2R$Xt1=A09lo-+#Q37f_bMW4h`HrE^JU0bI09v>)&=%5B8c3Qf=Iv%U> za0D$#ur;x)WGla*y^djqln>2(tFa=rEwFmW1{4WgqkSNw?=a>+ZSt*=Lu~iX1#dWQh?p-A0*6+Gjuaer`W zKJ1GBd4N$K&8?FP)QgFzlNtO?J(+vgtC{cVkuV$vH8rd};JUbcE}LYJ#q4?93VELN zPPTQ1j*hUz=iccd6*bf+cJ}-^`;9_pd%0dWi>4!5pN}dkw#7on+&|a55poBYH9}kC zq4j}xjS!3y$sYWol@Ar&@uGL|`>Q+kWk=qoOZlz8J618_A+BsCYI}~n)oZ3TEB$L@ zV)XzeuhW9)5FDalDzZ%1z{mb|*{>lxT=%k(#88VDuuVe@DMi2g+R#rfUwa>{Zp*Jo zhGQfwD?`4(6I0Y*6W=S3j+L$tF6qnKj+SXlQI){RpY&!M+e}gt1a&;FIlkssudsO< zgE^19_RA`Vc~%5kqRt^&jC+67+&(K3Xx2V3s%_x1vCd;I<-N|$T(!^atcG`-9iUwu z#3LWH#)Z?7ciaO2NEsl=T%6FjZ@p*bW?716$K&=YD7MxTFvP_K;v9f#_KB1Jiuzb& zdPa>Av+R<3(iX%PJsT)}+(H{NvfeW1CYGuo{lU!~u&7(Pos5Y!dB4snGzQ(%3Wq%( z1cgm+=7H2UK_i1oVrGEsSo=p<(y{glsnbQ%zCC4D8ry<-qh}NJ?xi7Pe(z=RPxV&~~FBQbj~$zLka~ zTWItQNbWU1t$mbb(Z|wAA(WClncHmN5d*7z$;N`UydMW~HDJ$&(gyFWZD?!#ogbb%}1GpXBZF)ZeTeek+>%`bSosHS{ftyS0ahQ~oO2;VjH?3WY5kni5 zmBL%(89pdPEk2M`L$#qBxSCZ8Sz~yj`$#G)zJ=njR8+L6WIHB+b@(%HWV~tf$``kV zHfV)b&ULd;fK1njov$-%Xmh!(B}BX6KH@N`l~a#o3;JM&__CL!kjHq@Qb2y*kl8GWJ11Fs{Cv z3wic7zv?T&6Td-rXBot-)-oRK-`7R^BJ$>#CRfQ`JvvQR#|ZX}WXu21ZyjYaNt*S| z?k+%W4n!bk(Z!tN)6aoS*r$tD4JaW3_8uma=(8 zr~DS6y)9ur%bsu5)eaov*~C|mc`_RTA{&)gul}wLJt3-Zu)2?ty8UU1=j8A9#n8L^ z0Q@{Cw|{rfg1?70Y^)R=z2Gn5ka?3!f6<~Pa4S7!c5dTUIg_(>zV|EBBajgE&s>yg zDRPl<))})t9?>Zpw&IfeJv<%e^Ic11&Q;gC&g&+gY9A>|4x5U`NX|<(a%WB*T<*CL z`@`QdbU#G?AN`O8ahmfx6Xo414}12<&KIn5Gd*$l;7gKdh^HC@jPexQxK|!9$$jJEY#*tGvuO3?C*pj<~jtvbent z8?4Q(NMJVWU)QoacX(*SR<~na#;nzLVr9nTzzTFkZNm!&W)5^5UP?Li^T=KOr!a#w zmIy6)m$num5tjNmHlt5T&)IUMm7cr3Wl+ppiVk?TWZc)MIG^>2EUP}q#aQbQ16d(K zCTLlfwk|YC$rS@H<(U-&JwjdO7!@8~rFl_lIufC0>X*Fp)>w20NGY}CXJK9PlS90} z`Liyb8u%GlTQx)`*+bS4Hg)P9tQF0^l7dz`(lA{yjhQcHm+x9bCjWO<7-(zM^{cT0 zK{-X1)^on83f1i1<@YMC>#zJ~1$>%^QQhnd3E zqHg0~dM3E%foGiddhPF>!CL04*W-8gzE!)_C|`D94YlxL@%*q)MSF)r>9JNozuq+ zThKRsV(>ZZ9<8?%ladJwmK8G-hMY~eUl&07tppwau`eq0Q_kJSn88eEvB42eWV3$2 z4Ows%N6eu&j)q1?N@|~gLs!hd)jj~641s;RzWgxzYF}_3A7Zyx#^7zEejTA}xmPm@ z;dX0em+%+knPC&KVSKnoS%|7N;}VD=fAl9d{?%BcEIZ1sx`QVlVrG*wbCIi>g^#i< z4lE~@P1sNFo$@yk;3h!&o<5&D!e)*(S-t$l8i{S0T&s~{Vau#Vn*a2cRHV~qHJ63f z5t4UU5)ZWj6%ezQoqn0?d~d?CsX>%O)Z-ZqiQrUE6e+`|)Ay~*kP^h+^|#E~p4N=7 z$StwZ`JiKg2y_*SmrF2S4Xzcgv$O`ZpM<<0fulJgI?WGZ|;WzAt-`d)t6EMhUt_$ls>^JRRV z>B#GFzFFSJEWg1bD*lZV?ZVVD3Dk5*BEmtscbv`jnDfqI`z95!bG4|lE(4*e+1THN z?S?#9PVCrgz{v60@e$l`?s6tp)BV8S=Xz$#B->~W{l}{122J>J*RSEPmf1M}C_4Bm z@hbWN1HILs&_2<*^uS`Wrpn|H$%cmAJf>&uQfLGOikGOB6;L zd7Z_=5X8)Y7cdp2zHW1b=28!5%-TC7)XLbS^+1qhDGXZ(FGEY0Tx#R4zbDMy*UZ}W zOxt+`-?mNVVcQr5z4KYN!A|Z@MH_u>=3JLI*B!d=CPJamlBZA+pR%CVwME+GkRCR| zZr)*3Jw~o#Z)vVC>D`1Q1I}4=@q?E**ssvgQ8MbCBD)}-Z*#)v3&O+WYEjzhuXJl0 zxNWgeEJcVN*;)7XhhE3;-;SE8DBmO{T*yFeY2*=d^`cURXIsR$;!oLMQ1taOZQ>P~ z(q1(0(Y~Mz-56-6o0wnk7`D)Dc@t)lvSo!BM4dyrMwvNq&Y6M?;|nY3F+OX)kM<(t z-FteYWH5rubSKuje!r~Zo{EEBduGgZZB_}I072T4c=n6kZ`9seYznp(S+R%X->pT! zHQkg`R7VbBexk3|TOtB#PS`ReN;8mEy6&}X?oYedb#?bgI7=QsE1Hy6M9H>ve};~B zwcm(t(8K~kd~I#@^jto#-(l``-}xKur7={cy*Y>`KMpXWR;8@2?KR!TJ@X0+Ewn^l zN2O^z6)k!Xku$9r&NCE2B(llRl8u_P>%KLo80SqZ0b|XqHhDxg67dz4GPU-oEuoatntwgri9!pJtz@-VWszq-CmU$xqI%bHfnl#<9qii%eshOh4B zAJb{w`qdGs_8>qSM&IcpFo~{Ua=+qHnkp)-A9hdghP??qB^!nUI%KcL&`B=5r?yRF zd+n?hDtYcoM|Q&xs;~)E3R`WufGFFQZHU8~2@(B<1McGSjf9Z*(OpzV+7?w#MInhDero$cIp7fBn zy>$&?+BMxnh7V=Jx^ka1Ui z7rw~;I->-11Q(Ke;j1Xxz2M+7_h2M)@6|u;#~eiIGP01RG4w(z&-AYP zP@!3Qv4v3#9B6!rEHch_kOeAL>sc1|3}ct|H}0O^{o8jL=@^sJ#;@fozYl5?+CjSg zCd^CO{5rd;t$gx+e0Z$CbN9_W{9|{HF*vGc2}bx0L&xNbG~Vkh5C*MW^kSkb*GrE!wz(g|CKvv68e04fWguAF$pRwVHvv;0P`ev=JAy8a# z-dp(^Ip4xp9=_(A7#RBAY`2Ob_is^|Um4hRPQ{g8m%MVRw+v3ka{7(txPWh#Ty+)C zqSuz^Ro2J%YUuXK=wwWRA6ll|LHLeTriTuj+n--OIbDT>7@6=3EwwiJDzY zukZJK9yBNJdTyaST5?(YA)nA+peY$ALHVM`5k0>^m9}Q!Mb;zrMP3rH$Vz)XXAT01 zImDxF(Kzb)NNl)zDmE_rsww1j*vk4O(gR4b^CJJu@Bc>q$8TIwt@Pou=+a&sToz@l z#E<=hrfq-m>iKW-e14r^V%0ewN$YpUnHWjG@La!jUVFS{Ma!ZXbnd}Mq#380)E??5 zu$hkeyS~1P9G@1VjlWxZ`>I?pkS4s`!+2&G3e*hev8FBU%xC+P4P<~hXCWvHda^z4 z+w{&F1bj!m2U~pg0o8T6m*?m^#=Bq295(V>ayVAign{AYB~4<;b4sk`%$mt{&P{D@ zY7Y*>k49!_m@WNUSLX&)LxfW%Z5mKD&mCZGA{ z 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 L1MXK+(8m7{zHwKO literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/font/offscreen.json b/gm4_furniture/assets/gm4_furniture/font/offscreen.json new file mode 100644 index 0000000000..62de0741a0 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/font/offscreen.json @@ -0,0 +1,18 @@ +{ + "providers": [ + { + "type": "space", + "advances": { + " ": 4, + "\u200c": 0 + } + }, + { + "type": "ttf", + "file": "gm4_furniture:minecraft.ttf", + "shift": [0, -32768], + "size": 13, + "oversample": 1.0 + } + ] +} diff --git a/gm4_furniture/assets/gm4_furniture/lang/en_us.json b/gm4_furniture/assets/gm4_furniture/lang/en_us.json new file mode 100644 index 0000000000..4df8a8373b --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/lang/en_us.json @@ -0,0 +1,5 @@ +{ + "OLDgui.gm4.furniture_station": "\u9021\u9020\u9100\u9022\u9023", + "OLDgui.gm4.furniture_station.offset": "\u9024", + "gui.gm4.furniture_station.offset": "\u8022" +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/cloth_set/horizontal_flag_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/cloth_set/horizontal_flag_1.json new file mode 100644 index 0000000000..4203e6da6e --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/cloth_set/horizontal_flag_1.json @@ -0,0 +1,67 @@ +{ + "textures": { + "1": "gm4_furniture:block/furniture/cloth_set/horizontal_flag_1", + "2": "gm4_furniture:block/furniture/cloth_set/horizontal_flag_1_pole", + "particle": "gm4_furniture:block/furniture/cloth_set/horizontal_flag_1_pole" + }, + "elements": [ + { + "from": [19.5, 4, 7.5], + "to": [20.5, 12, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [12.75, 3.875, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#2"}, + "east": {"uv": [8, 0, 6, 16], "texture": "#2"}, + "south": {"uv": [2, 0, 0, 16], "texture": "#2"}, + "west": {"uv": [5, 0, 3, 16], "texture": "#2"}, + "up": {"uv": [9, 0, 11, 2], "texture": "#2"}, + "down": {"uv": [9, 3, 11, 5], "texture": "#2"} + } + }, + { + "from": [-4.5, 3.75, 8], + "to": [19.5, 11.75, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [6.5, 3.75, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "tintindex": 0}, + "south": {"uv": [16, 0, 0, 16], "texture": "#1", "tintindex": 0} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [90, 0, 90], + "translation": [0, -1.75, -4.5], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [90, 0, -90], + "translation": [0, -1.75, -4.5], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 0, 90], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 0, -90], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "translation": [0, -2, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [-24, 0, 0], + "scale": [2, 2, 2] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/cloth_set/paper_lantern_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/cloth_set/paper_lantern_1.json new file mode 100644 index 0000000000..3ffbdfadbc --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/cloth_set/paper_lantern_1.json @@ -0,0 +1,114 @@ +{ + "texture_size": [32, 32], + "textures": { + "0": "gm4_furniture:block/furniture/cloth_set/paper_lantern_1", + "particle": "gm4_furniture:block/furniture/cloth_set/paper_lantern_1" + }, + "elements": [ + { + "from": [3, 5, 3], + "to": [13, 14, 13], + "faces": { + "north": {"uv": [0, 0, 5, 4.5], "texture": "#0", "tintindex": 0}, + "east": {"uv": [0, 0, 5, 4.5], "texture": "#0", "tintindex": 0}, + "south": {"uv": [0, 0, 5, 4.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0, 0, 5, 4.5], "texture": "#0", "tintindex": 0}, + "up": {"uv": [5.5, 0, 10.5, 5], "texture": "#0", "tintindex": 0}, + "down": {"uv": [11, 0, 16, 5], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [6, 4, 6], + "to": [10, 5, 10], + "faces": { + "north": {"uv": [0, 11, 2, 11.5], "texture": "#0"}, + "east": {"uv": [0, 11, 2, 11.5], "texture": "#0"}, + "south": {"uv": [0, 11, 2, 11.5], "texture": "#0"}, + "west": {"uv": [0, 11, 2, 11.5], "texture": "#0"}, + "down": {"uv": [0, 8.5, 2, 10.5], "texture": "#0"} + } + }, + { + "from": [6, 15, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [0, 7.5, 2, 8], "texture": "#0"}, + "east": {"uv": [0, 7.5, 2, 8], "texture": "#0"}, + "south": {"uv": [0, 7.5, 2, 8], "texture": "#0"}, + "west": {"uv": [0, 7.5, 2, 8], "texture": "#0"}, + "up": {"uv": [0, 5, 2, 7], "texture": "#0"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#0"} + } + }, + { + "from": [7, 2, 7], + "to": [9, 4, 9], + "faces": { + "north": {"uv": [2.5, 8.5, 3.5, 9.5], "texture": "#0"}, + "east": {"uv": [2.5, 8.5, 3.5, 9.5], "texture": "#0"}, + "south": {"uv": [2.5, 8.5, 3.5, 9.5], "texture": "#0"}, + "west": {"uv": [2.5, 8.5, 3.5, 9.5], "texture": "#0"}, + "down": {"uv": [4, 8.5, 5, 9.5], "texture": "#0"} + } + }, + { + "from": [8, -5, 5.5], + "to": [8, 2, 10.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1.5, 8]}, + "faces": { + "east": {"uv": [5, 5.5, 7.5, 9], "texture": "#0", "tintindex": 0}, + "west": {"uv": [5, 5.5, 7.5, 9], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [8, -5, 5.5], + "to": [8, 2, 10.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -1.5, 8]}, + "faces": { + "east": {"uv": [5, 5.5, 7.5, 9], "texture": "#0", "tintindex": 0}, + "west": {"uv": [5, 5.5, 7.5, 9], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [7, 14, 7], + "to": [9, 15, 9], + "faces": { + "north": {"uv": [2.5, 5, 3.5, 5.5], "texture": "#0"}, + "east": {"uv": [2.5, 5, 3.5, 5.5], "texture": "#0"}, + "south": {"uv": [2.5, 5, 3.5, 5.5], "texture": "#0"}, + "west": {"uv": [2.5, 5, 3.5, 5.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/furniture_station.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/furniture_station.json new file mode 100644 index 0000000000..51686eb0dc --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/furniture_station.json @@ -0,0 +1,115 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "gm4_furniture:block/furniture/furniture_station", + "particle": "gm4_furniture:block/furniture/furniture_station" + }, + "elements": [ + { + "from": [0, 14, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 11, 8]}, + "faces": { + "north": {"uv": [0, 4.25, 4, 4.75], "texture": "#0"}, + "east": {"uv": [0, 4.25, 4, 4.75], "texture": "#0"}, + "south": {"uv": [0, 4.25, 4, 4.75], "texture": "#0"}, + "west": {"uv": [0, 4.25, 4, 4.75], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 5, 4, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 10, 1], + "to": [15, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 11, 8]}, + "faces": { + "north": {"uv": [4.25, 3.75, 7.75, 4.25], "texture": "#0"}, + "east": {"uv": [8, 0, 8.5, 3.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4.25, 3.75, 7.75, 4.25], "texture": "#0"}, + "west": {"uv": [8, 0, 8.5, 3.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4.25, 0, 7.75, 3.5], "texture": "#0"}, + "down": {"uv": [4.25, 8, 7.75, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 0, 12], + "to": [4, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 11, 8]}, + "faces": { + "north": {"uv": [9.5, 0, 10, 3.5], "texture": "#0"}, + "east": {"uv": [8.75, 0, 9.25, 3.5], "texture": "#0"}, + "south": {"uv": [9.5, 0, 10, 3.5], "texture": "#0"}, + "west": {"uv": [8.75, 0, 9.25, 3.5], "texture": "#0"}, + "down": {"uv": [8.75, 3.75, 9.25, 4.25], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 2], + "to": [4, 14, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 11, 8]}, + "faces": { + "north": {"uv": [10, 0, 9.5, 3.5], "texture": "#0"}, + "east": {"uv": [9.25, 0, 8.75, 3.5], "texture": "#0"}, + "south": {"uv": [10, 0, 9.5, 3.5], "texture": "#0"}, + "west": {"uv": [9.25, 0, 8.75, 3.5], "texture": "#0"}, + "down": {"uv": [8.75, 4.25, 9.25, 3.75], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 0, 12], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 11, 8]}, + "faces": { + "north": {"uv": [10, 0, 9.5, 3.5], "texture": "#0"}, + "east": {"uv": [9.25, 0, 8.75, 3.5], "texture": "#0"}, + "south": {"uv": [10, 0, 9.5, 3.5], "texture": "#0"}, + "west": {"uv": [9.25, 0, 8.75, 3.5], "texture": "#0"}, + "down": {"uv": [8.75, 4.25, 9.25, 3.75], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 0, 2], + "to": [14, 14, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 11, 8]}, + "faces": { + "north": {"uv": [9.5, 0, 10, 3.5], "texture": "#0"}, + "east": {"uv": [8.75, 0, 9.25, 3.5], "texture": "#0"}, + "south": {"uv": [9.5, 0, 10, 3.5], "texture": "#0"}, + "west": {"uv": [8.75, 0, 9.25, 3.5], "texture": "#0"}, + "down": {"uv": [8.75, 3.75, 9.25, 4.25], "rotation": 90, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/gold/3_candelabra_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/gold/3_candelabra_1.json new file mode 100644 index 0000000000..892f1df8f0 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/gold/3_candelabra_1.json @@ -0,0 +1,292 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "2": "gm4_furniture:block/furniture/misc/candle_1", + "3": "gm4_furniture:block/furniture/misc/candle_fire_1", + "4": "gm4_furniture:block/furniture/metal_set/gold/3_candelabra_1", + "particle": "gm4_furniture:block/furniture/metal_set/gold/3_candelabra_1" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 1, 10], + "faces": { + "north": {"uv": [12, 0, 10, 0.5], "texture": "#4"}, + "east": {"uv": [11.5, 0, 12, 2], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 1.5, 12, 2], "texture": "#4"}, + "west": {"uv": [10.5, 0, 10, 2], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 0, 12, 2], "texture": "#4"}, + "down": {"uv": [12, 0, 10, 2], "texture": "#4"} + } + }, + { + "from": [7, 10, 7], + "to": [9, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [8.5, 3, 7.5, 2.5], "texture": "#4"}, + "east": {"uv": [8.5, 2.5, 8, 3.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 3.5, 8.5, 3], "texture": "#4"}, + "west": {"uv": [8, 3.5, 7.5, 2.5], "rotation": 90, "texture": "#4"}, + "down": {"uv": [7.5, 3.5, 8.5, 2.5], "texture": "#4"} + } + }, + { + "from": [11, 10, 6], + "to": [15, 11, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 0.5, 7.5, 0], "texture": "#4"}, + "east": {"uv": [9.5, 0, 9, 2], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 2, 9.5, 1.5], "texture": "#4"}, + "west": {"uv": [7.5, 0, 8, 2], "rotation": 90, "texture": "#4"}, + "up": {"uv": [9.5, 2, 7.5, 0], "texture": "#4"}, + "down": {"uv": [7.5, 2, 9.5, 0], "texture": "#4"} + } + }, + { + "from": [12, 9, 7], + "to": [14, 10, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [8.5, 3, 7.5, 2.5], "texture": "#4"}, + "east": {"uv": [8.5, 2.5, 8, 3.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 3.5, 8.5, 3], "texture": "#4"}, + "west": {"uv": [8, 3.5, 7.5, 2.5], "rotation": 90, "texture": "#4"}, + "down": {"uv": [7.5, 3.5, 8.5, 2.5], "texture": "#4"} + } + }, + { + "from": [1, 10, 6], + "to": [5, 11, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 0.5, 7.5, 0], "texture": "#4"}, + "east": {"uv": [9.5, 0, 9, 2], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 2, 9.5, 1.5], "texture": "#4"}, + "west": {"uv": [7.5, 0, 8, 2], "rotation": 90, "texture": "#4"}, + "up": {"uv": [9.5, 2, 7.5, 0], "texture": "#4"}, + "down": {"uv": [7.5, 2, 9.5, 0], "texture": "#4"} + } + }, + { + "from": [2, 9, 7], + "to": [4, 10, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [8.5, 3, 7.5, 2.5], "texture": "#4"}, + "east": {"uv": [8.5, 2.5, 8, 3.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 3.5, 8.5, 3], "texture": "#4"}, + "west": {"uv": [8, 3.5, 7.5, 2.5], "rotation": 90, "texture": "#4"}, + "down": {"uv": [7.5, 3.5, 8.5, 2.5], "texture": "#4"} + } + }, + { + "from": [6, 11, 6], + "to": [10, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 0.5, 7.5, 0], "texture": "#4"}, + "east": {"uv": [9.5, 0, 9, 2], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 2, 9.5, 1.5], "texture": "#4"}, + "west": {"uv": [7.5, 0, 8, 2], "rotation": 90, "texture": "#4"}, + "up": {"uv": [9.5, 2, 7.5, 0], "texture": "#4"}, + "down": {"uv": [7.5, 2, 9.5, 0], "texture": "#4"} + } + }, + { + "from": [7, 1, 7], + "to": [9, 2, 9], + "faces": { + "north": {"uv": [11, 2.5, 10, 3], "texture": "#4"}, + "east": {"uv": [10.5, 2.5, 11, 3.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 3, 11, 3.5], "texture": "#4"}, + "west": {"uv": [10, 3.5, 10.5, 2.5], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 2.5, 11, 3.5], "texture": "#4"} + } + }, + { + "from": [1, 2, 8], + "to": [15, 11, 8], + "faces": { + "north": {"uv": [0, 0, 7, 4.5], "texture": "#4"}, + "south": {"uv": [0, 0, 7, 4.5], "texture": "#4"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 11, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "east": {"uv": [12.5, 0, 14.5, 4.5], "texture": "#4"}, + "west": {"uv": [12.5, 0, 14.5, 4.5], "texture": "#4"} + } + }, + { + "from": [6.5, 17.25, 8], + "to": [9.5, 21.25, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 17.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [8, 0, 11, 4], "texture": "#3"}, + "south": {"uv": [8, 0, 11, 4], "texture": "#3"} + } + }, + { + "from": [12, 11, 7], + "to": [14, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 4, -4]}, + "faces": { + "north": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [0, 6, 2, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [11.75, 10.75, 6.75], + "to": [14.25, 16.25, 9.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.25, 4.25, -3.75]}, + "faces": { + "north": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [6, 6, 8, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [11.5, 16.25, 8], + "to": [14.5, 20.25, 8], + "shade": false, + "rotation": {"angle": -45, "axis": "y", "origin": [13, 16.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 3, 4], "texture": "#3"}, + "south": {"uv": [0, 0, 3, 4], "texture": "#3"} + } + }, + { + "from": [11.5, 16.25, 8], + "to": [14.5, 20.25, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [13, 16.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [8, 0, 11, 4], "texture": "#3"}, + "south": {"uv": [8, 0, 11, 4], "texture": "#3"} + } + }, + { + "from": [2, 11, 7], + "to": [4, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 4, -4]}, + "faces": { + "north": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [0, 6, 2, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [1.75, 10.75, 6.75], + "to": [4.25, 16.25, 9.25], + "rotation": {"angle": 0, "axis": "y", "origin": [-4.75, 4.25, -3.75]}, + "faces": { + "north": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [6, 6, 8, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [1.5, 16.25, 8], + "to": [4.5, 20.25, 8], + "shade": false, + "rotation": {"angle": -45, "axis": "y", "origin": [3, 16.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 3, 4], "texture": "#3"}, + "south": {"uv": [0, 0, 3, 4], "texture": "#3"} + } + }, + { + "from": [1.5, 16.25, 8], + "to": [4.5, 20.25, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [3, 16.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [8, 0, 11, 4], "texture": "#3"}, + "south": {"uv": [8, 0, 11, 4], "texture": "#3"} + } + }, + { + "from": [6.5, 17.25, 8], + "to": [9.5, 21.25, 8], + "shade": false, + "rotation": {"angle": -45, "axis": "y", "origin": [8, 17.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [4, 0, 7, 4], "texture": "#3"}, + "south": {"uv": [4, 0, 7, 4], "texture": "#3"} + } + }, + { + "from": [6.75, 11.75, 6.75], + "to": [9.25, 17.25, 9.25], + "rotation": {"angle": 0, "axis": "y", "origin": [0.25, 5.25, -3.75]}, + "faces": { + "north": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [6, 6, 8, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [7, 12, 7], + "to": [9, 17, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, -4]}, + "faces": { + "north": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [0, 6, 2, 8], "texture": "#2", "tintindex": 0} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/gold/skull_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/gold/skull_1.json new file mode 100644 index 0000000000..c413abfc26 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/gold/skull_1.json @@ -0,0 +1,63 @@ +{ + "textures": { + "0": "gm4_furniture:block/furniture/metal_set/gold/skull_1", + "particle": "gm4_furniture:block/furniture/metal_set/gold/skull_1" + }, + "elements": [ + { + "from": [4, 2, 4], + "to": [12, 8, 12], + "faces": { + "north": {"uv": [4, 4, 8, 7], "texture": "#0"}, + "east": {"uv": [0, 4, 4, 7], "texture": "#0"}, + "south": {"uv": [12, 4, 16, 7], "texture": "#0"}, + "west": {"uv": [8, 4, 12, 7], "texture": "#0"}, + "up": {"uv": [4, 4, 8, 0], "texture": "#0"}, + "down": {"uv": [8, 0, 12, 4], "texture": "#0"} + } + }, + { + "from": [5, 0, 4], + "to": [11, 2, 10], + "faces": { + "north": {"uv": [4.5, 7, 7.5, 8], "texture": "#0"}, + "east": {"uv": [1.5, 7, 4.5, 8], "texture": "#0"}, + "south": {"uv": [10.5, 7, 13.5, 8], "texture": "#0"}, + "west": {"uv": [7.5, 7, 10.5, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [12.5, 0.5, 15.5, 3.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/iron/3_candelabra_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/iron/3_candelabra_1.json new file mode 100644 index 0000000000..5d74fc04d4 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/metal_set/iron/3_candelabra_1.json @@ -0,0 +1,292 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "2": "gm4_furniture:block/furniture/misc/candle_1", + "3": "gm4_furniture:block/furniture/misc/candle_fire_1", + "4": "gm4_furniture:block/furniture/metal_set/iron/3_candelabra_1", + "particle": "gm4_furniture:block/furniture/metal_set/iron/3_candelabra_1" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 1, 10], + "faces": { + "north": {"uv": [12, 0, 10, 0.5], "texture": "#4"}, + "east": {"uv": [11.5, 0, 12, 2], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 1.5, 12, 2], "texture": "#4"}, + "west": {"uv": [10.5, 0, 10, 2], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 0, 12, 2], "texture": "#4"}, + "down": {"uv": [12, 0, 10, 2], "texture": "#4"} + } + }, + { + "from": [7, 10, 7], + "to": [9, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [8.5, 3, 7.5, 2.5], "texture": "#4"}, + "east": {"uv": [8.5, 2.5, 8, 3.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 3.5, 8.5, 3], "texture": "#4"}, + "west": {"uv": [8, 3.5, 7.5, 2.5], "rotation": 90, "texture": "#4"}, + "down": {"uv": [7.5, 3.5, 8.5, 2.5], "texture": "#4"} + } + }, + { + "from": [11, 10, 6], + "to": [15, 11, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 0.5, 7.5, 0], "texture": "#4"}, + "east": {"uv": [9.5, 0, 9, 2], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 2, 9.5, 1.5], "texture": "#4"}, + "west": {"uv": [7.5, 0, 8, 2], "rotation": 90, "texture": "#4"}, + "up": {"uv": [9.5, 2, 7.5, 0], "texture": "#4"}, + "down": {"uv": [7.5, 2, 9.5, 0], "texture": "#4"} + } + }, + { + "from": [12, 9, 7], + "to": [14, 10, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [8.5, 3, 7.5, 2.5], "texture": "#4"}, + "east": {"uv": [8.5, 2.5, 8, 3.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 3.5, 8.5, 3], "texture": "#4"}, + "west": {"uv": [8, 3.5, 7.5, 2.5], "rotation": 90, "texture": "#4"}, + "down": {"uv": [7.5, 3.5, 8.5, 2.5], "texture": "#4"} + } + }, + { + "from": [1, 10, 6], + "to": [5, 11, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 0.5, 7.5, 0], "texture": "#4"}, + "east": {"uv": [9.5, 0, 9, 2], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 2, 9.5, 1.5], "texture": "#4"}, + "west": {"uv": [7.5, 0, 8, 2], "rotation": 90, "texture": "#4"}, + "up": {"uv": [9.5, 2, 7.5, 0], "texture": "#4"}, + "down": {"uv": [7.5, 2, 9.5, 0], "texture": "#4"} + } + }, + { + "from": [2, 9, 7], + "to": [4, 10, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [8.5, 3, 7.5, 2.5], "texture": "#4"}, + "east": {"uv": [8.5, 2.5, 8, 3.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 3.5, 8.5, 3], "texture": "#4"}, + "west": {"uv": [8, 3.5, 7.5, 2.5], "rotation": 90, "texture": "#4"}, + "down": {"uv": [7.5, 3.5, 8.5, 2.5], "texture": "#4"} + } + }, + { + "from": [6, 11, 6], + "to": [10, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 0.5, 7.5, 0], "texture": "#4"}, + "east": {"uv": [9.5, 0, 9, 2], "rotation": 90, "texture": "#4"}, + "south": {"uv": [7.5, 2, 9.5, 1.5], "texture": "#4"}, + "west": {"uv": [7.5, 0, 8, 2], "rotation": 90, "texture": "#4"}, + "up": {"uv": [9.5, 2, 7.5, 0], "texture": "#4"}, + "down": {"uv": [7.5, 2, 9.5, 0], "texture": "#4"} + } + }, + { + "from": [7, 1, 7], + "to": [9, 2, 9], + "faces": { + "north": {"uv": [11, 2.5, 10, 3], "texture": "#4"}, + "east": {"uv": [10.5, 2.5, 11, 3.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 3, 11, 3.5], "texture": "#4"}, + "west": {"uv": [10, 3.5, 10.5, 2.5], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 2.5, 11, 3.5], "texture": "#4"} + } + }, + { + "from": [1, 2, 8], + "to": [15, 11, 8], + "faces": { + "north": {"uv": [0, 0, 7, 4.5], "texture": "#4"}, + "south": {"uv": [0, 0, 7, 4.5], "texture": "#4"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 11, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "east": {"uv": [12.5, 0, 14.5, 4.5], "texture": "#4"}, + "west": {"uv": [12.5, 0, 14.5, 4.5], "texture": "#4"} + } + }, + { + "from": [6.5, 17.25, 8], + "to": [9.5, 21.25, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 17.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [4, 0, 7, 4], "texture": "#3"}, + "south": {"uv": [4, 0, 7, 4], "texture": "#3"} + } + }, + { + "from": [12, 11, 7], + "to": [14, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 4, -4]}, + "faces": { + "north": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [0, 6, 2, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [11.75, 10.75, 6.75], + "to": [14.25, 16.25, 9.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.25, 4.25, -3.75]}, + "faces": { + "north": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [6, 6, 8, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [11.5, 16.25, 8], + "to": [14.5, 20.25, 8], + "shade": false, + "rotation": {"angle": -45, "axis": "y", "origin": [13, 16.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [4, 0, 7, 4], "texture": "#3"}, + "south": {"uv": [4, 0, 7, 4], "texture": "#3"} + } + }, + { + "from": [11.5, 16.25, 8], + "to": [14.5, 20.25, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [13, 16.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [12, 0, 15, 4], "texture": "#3"}, + "south": {"uv": [12, 0, 15, 4], "texture": "#3"} + } + }, + { + "from": [2, 11, 7], + "to": [4, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 4, -4]}, + "faces": { + "north": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [0, 6, 2, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [1.75, 10.75, 6.75], + "to": [4.25, 16.25, 9.25], + "rotation": {"angle": 0, "axis": "y", "origin": [-4.75, 4.25, -3.75]}, + "faces": { + "north": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [6, 6, 8, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [1.5, 16.25, 8], + "to": [4.5, 20.25, 8], + "shade": false, + "rotation": {"angle": -45, "axis": "y", "origin": [3, 16.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 3, 4], "texture": "#3"}, + "south": {"uv": [0, 0, 3, 4], "texture": "#3"} + } + }, + { + "from": [1.5, 16.25, 8], + "to": [4.5, 20.25, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [3, 16.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [12, 0, 15, 4], "texture": "#3"}, + "south": {"uv": [12, 0, 15, 4], "texture": "#3"} + } + }, + { + "from": [6.5, 17.25, 8], + "to": [9.5, 21.25, 8], + "shade": false, + "rotation": {"angle": -45, "axis": "y", "origin": [8, 17.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 3, 4], "texture": "#3"}, + "south": {"uv": [0, 0, 3, 4], "texture": "#3"} + } + }, + { + "from": [6.75, 11.75, 6.75], + "to": [9.25, 17.25, 9.25], + "rotation": {"angle": 0, "axis": "y", "origin": [0.25, 5.25, -3.75]}, + "faces": { + "north": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [6, 0, 8, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [9, 0, 11, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [6, 6, 8, 8], "texture": "#2", "tintindex": 0} + } + }, + { + "from": [7, 12, 7], + "to": [9, 17, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, -4]}, + "faces": { + "north": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "east": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "south": {"uv": [0, 0, 2, 5], "texture": "#2", "tintindex": 0}, + "west": {"uv": [3, 0, 5, 5], "texture": "#2", "tintindex": 0}, + "up": {"uv": [0, 6, 2, 8], "texture": "#2", "tintindex": 0} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/allay.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/allay.json new file mode 100644 index 0000000000..a7c3611df8 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/allay.json @@ -0,0 +1,174 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1", + "1": "gm4_furniture:block/furniture/stone_set/statues/allay", + "particle": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1" + }, + "elements": [ + { + "from": [2, 4, 2], + "to": [14, 6, 14], + "faces": { + "north": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 8, 6, 14], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [13, 4, 13], + "faces": { + "north": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "east": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "south": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "west": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 2, 14], + "faces": { + "north": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 0, 12.5, 6], "texture": "#0"}, + "down": {"uv": [6.5, 8, 12.5, 14], "texture": "#0"} + } + }, + { + "name": "head", + "from": [5.5, 12.01, 3.5], + "to": [10.5, 17.01, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2.5, 2.5, 5, 5], "texture": "#1"}, + "east": {"uv": [0, 2.5, 2.5, 5], "texture": "#1"}, + "south": {"uv": [7.5, 2.5, 10, 5], "texture": "#1"}, + "west": {"uv": [5, 2.5, 7.5, 5], "texture": "#1"}, + "up": {"uv": [5, 2.5, 2.5, 0], "texture": "#1"}, + "down": {"uv": [7.5, 0, 5, 2.5], "texture": "#1"} + } + }, + { + "name": "body", + "from": [6.5, 8, 5], + "to": [9.5, 12, 7], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 12, 6]}, + "faces": { + "north": {"uv": [1, 6, 2.5, 8], "texture": "#1"}, + "east": {"uv": [0, 6, 1, 8], "texture": "#1"}, + "south": {"uv": [3.5, 6, 5, 8], "texture": "#1"}, + "west": {"uv": [2.5, 6, 3.5, 8], "texture": "#1"}, + "up": {"uv": [2.5, 6, 1, 5], "texture": "#1"}, + "down": {"uv": [4, 5, 2.5, 6], "texture": "#1"} + } + }, + { + "name": "body", + "from": [6.7, 7.2, 5.2], + "to": [9.3, 11.8, 6.8], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 12, 6]}, + "faces": { + "north": {"uv": [1, 9, 2.5, 11.5], "texture": "#1"}, + "east": {"uv": [0, 9, 1, 11.5], "texture": "#1"}, + "south": {"uv": [3.5, 9, 5, 11.5], "texture": "#1"}, + "west": {"uv": [2.5, 9, 3.5, 11.5], "texture": "#1"}, + "up": {"uv": [2.5, 9, 1, 8], "texture": "#1"}, + "down": {"uv": [4, 8, 2.5, 9], "texture": "#1"} + } + }, + { + "name": "right_arm", + "from": [9.5, 8, 5], + "to": [10.5, 12, 7], + "rotation": {"angle": 22.5, "axis": "z", "origin": [9.5, 12, 6]}, + "faces": { + "north": {"uv": [12.5, 1, 13, 3], "texture": "#1"}, + "east": {"uv": [11.5, 1, 12.5, 3], "texture": "#1"}, + "south": {"uv": [14, 1, 14.5, 3], "texture": "#1"}, + "west": {"uv": [13, 1, 14, 3], "texture": "#1"}, + "up": {"uv": [13, 1, 12.5, 0], "texture": "#1"}, + "down": {"uv": [13.5, 0, 13, 1], "texture": "#1"} + } + }, + { + "name": "left_arm", + "from": [5.5, 8, 5], + "to": [6.5, 12, 7], + "rotation": {"angle": -22.5, "axis": "z", "origin": [6.5, 12, 6]}, + "faces": { + "north": {"uv": [12.5, 4, 13, 6], "texture": "#1"}, + "east": {"uv": [11.5, 4, 12.5, 6], "texture": "#1"}, + "south": {"uv": [14, 4, 14.5, 6], "texture": "#1"}, + "west": {"uv": [13, 4, 14, 6], "texture": "#1"}, + "up": {"uv": [13, 4, 12.5, 3], "texture": "#1"}, + "down": {"uv": [13.5, 3, 13, 4], "texture": "#1"} + } + }, + { + "name": "left_wing", + "from": [7.5, 7, 7], + "to": [7.5, 12, 15], + "rotation": {"angle": -22.5, "axis": "y", "origin": [7.5, 11.5, 7]}, + "faces": { + "north": {"uv": [12, 11, 12, 13.5], "texture": "#1"}, + "east": {"uv": [16, 11, 12, 13.5], "texture": "#1"}, + "south": {"uv": [16, 11, 16, 13.5], "texture": "#1"}, + "west": {"uv": [12, 11, 8, 13.5], "texture": "#1"}, + "up": {"uv": [12, 11, 12, 7], "texture": "#1"}, + "down": {"uv": [12, 7, 12, 11], "texture": "#1"} + } + }, + { + "name": "right_wing", + "from": [8.5, 7, 7], + "to": [8.5, 12, 15], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8.5, 12.42984, 7.20879]}, + "faces": { + "north": {"uv": [12, 11, 12, 13.5], "texture": "#1"}, + "east": {"uv": [8, 11, 12, 13.5], "texture": "#1"}, + "south": {"uv": [16, 11, 16, 13.5], "texture": "#1"}, + "west": {"uv": [12, 11, 16, 13.5], "texture": "#1"}, + "up": {"uv": [12, 11, 12, 7], "texture": "#1"}, + "down": {"uv": [12, 7, 12, 11], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/axolotl.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/axolotl.json new file mode 100644 index 0000000000..a371527173 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/axolotl.json @@ -0,0 +1,210 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1", + "1": "gm4_furniture:block/furniture/stone_set/statues/axolotl", + "particle": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1" + }, + "elements": [ + { + "from": [2, 4, 2], + "to": [14, 6, 14], + "faces": { + "north": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 8, 6, 14], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [13, 4, 13], + "faces": { + "north": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "east": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "south": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "west": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 2, 14], + "faces": { + "north": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 0, 12.5, 6], "texture": "#0"}, + "down": {"uv": [6.5, 8, 12.5, 14], "texture": "#0"} + } + }, + { + "name": "body", + "from": [4, 6.575, 3], + "to": [12, 10.575, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.425, 8]}, + "faces": { + "north": {"uv": [2.5, 5.25, 4.5, 6.25], "texture": "#1"}, + "east": {"uv": [0, 5.25, 2.5, 6.25], "texture": "#1"}, + "south": {"uv": [7, 5.25, 9, 6.25], "texture": "#1"}, + "west": {"uv": [4.5, 5.25, 7, 6.25], "texture": "#1"}, + "up": {"uv": [4.5, 5.25, 2.5, 2.75], "texture": "#1"}, + "down": {"uv": [6.5, 2.75, 4.5, 5.25], "texture": "#1"} + } + }, + { + "name": "body", + "from": [8, 6.575, 3], + "to": [8, 11.575, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.425, 8]}, + "faces": { + "north": {"uv": [2.75, 6.5, 2.75, 7.75], "texture": "#1"}, + "east": {"uv": [0.5, 6.5, 2.75, 7.75], "texture": "#1"}, + "south": {"uv": [5, 6.5, 5, 7.75], "texture": "#1"}, + "west": {"uv": [2.75, 6.5, 5, 7.75], "texture": "#1"}, + "up": {"uv": [2.75, 6.5, 2.75, 4.25], "texture": "#1"}, + "down": {"uv": [2.75, 4.25, 2.75, 6.5], "texture": "#1"} + } + }, + { + "name": "tail", + "from": [8, 6.575, 12], + "to": [8, 11.575, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.425, 8]}, + "faces": { + "north": {"uv": [3.5, 7.75, 3.5, 9], "texture": "#1"}, + "east": {"uv": [0.5, 7.75, 3.5, 9], "texture": "#1"}, + "south": {"uv": [6.5, 7.75, 6.5, 9], "texture": "#1"}, + "west": {"uv": [3.5, 7.75, 6.5, 9], "texture": "#1"}, + "up": {"uv": [3.5, 7.75, 3.5, 4.75], "texture": "#1"}, + "down": {"uv": [3.5, 4.75, 3.5, 7.75], "texture": "#1"} + } + }, + { + "name": "head", + "from": [4, 6.575, -2], + "to": [12, 11.575, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.425, 8]}, + "faces": { + "north": {"uv": [1.25, 1.5, 3.25, 2.75], "texture": "#1"}, + "east": {"uv": [0, 1.5, 1.25, 2.75], "texture": "#1"}, + "south": {"uv": [4.5, 1.5, 6.5, 2.75], "texture": "#1"}, + "west": {"uv": [3.25, 1.5, 4.5, 2.75], "texture": "#1"}, + "up": {"uv": [3.25, 1.5, 1.25, 0.25], "texture": "#1"}, + "down": {"uv": [5.25, 0.25, 3.25, 1.5], "texture": "#1"} + } + }, + { + "name": "left_gills", + "from": [1, 6.575, 2], + "to": [4, 13.575, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.425, 8]}, + "faces": { + "north": {"uv": [2.75, 10, 3.5, 11.75], "texture": "#1"}, + "east": {"uv": [2.75, 10, 2.75, 11.75], "texture": "#1"}, + "south": {"uv": [3.5, 10, 4.25, 11.75], "texture": "#1"}, + "west": {"uv": [3.5, 10, 3.5, 11.75], "texture": "#1"}, + "up": {"uv": [3.5, 10, 2.75, 10], "texture": "#1"}, + "down": {"uv": [4.25, 10, 3.5, 10], "texture": "#1"} + } + }, + { + "name": "right_gills", + "from": [12, 6.575, 2], + "to": [15, 13.575, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.425, 8]}, + "faces": { + "north": {"uv": [0, 10, 0.75, 11.75], "texture": "#1"}, + "east": {"uv": [0, 10, 0, 11.75], "texture": "#1"}, + "south": {"uv": [0.75, 10, 1.5, 11.75], "texture": "#1"}, + "west": {"uv": [0.75, 10, 0.75, 11.75], "texture": "#1"}, + "up": {"uv": [0.75, 10, 0, 10], "texture": "#1"}, + "down": {"uv": [1.5, 10, 0.75, 10], "texture": "#1"} + } + }, + { + "name": "top_gills", + "from": [4, 11.575, 2], + "to": [12, 14.575, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.425, 8]}, + "faces": { + "north": {"uv": [0.75, 9.25, 2.75, 10], "texture": "#1"}, + "east": {"uv": [0.75, 9.25, 0.75, 10], "texture": "#1"}, + "south": {"uv": [2.75, 9.25, 4.75, 10], "texture": "#1"}, + "west": {"uv": [2.75, 9.25, 2.75, 10], "texture": "#1"}, + "up": {"uv": [2.75, 9.25, 0.75, 9.25], "texture": "#1"}, + "down": {"uv": [4.75, 9.25, 2.75, 9.25], "texture": "#1"} + } + }, + { + "from": [-1, 7.075, 2.5], + "to": [4, 7.075, 5.5], + "rotation": {"angle": 22.5, "axis": "z", "origin": [3.5, 7.075, 4]}, + "faces": { + "up": {"uv": [0.5, 3.25, 1.25, 4.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1.25, 3.25, 2, 4.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [11, 7.075, 10.5], + "to": [16, 7.075, 13.5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [11.5, 7.075, 12]}, + "faces": { + "up": {"uv": [0.5, 4.5, 1.25, 3.25], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1.25, 4.5, 2, 3.25], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [12, 7.075, 2.5], + "to": [17, 7.075, 5.5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [12.5, 7.075, 4]}, + "faces": { + "up": {"uv": [0.5, 4.5, 1.25, 3.25], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1.25, 4.5, 2, 3.25], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [0, 7.075, 10.5], + "to": [5, 7.075, 13.5], + "rotation": {"angle": 22.5, "axis": "z", "origin": [4.5, 7.075, 12]}, + "faces": { + "up": {"uv": [0.5, 3.25, 1.25, 4.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1.25, 3.25, 2, 4.5], "rotation": 90, "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/bee.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/bee.json new file mode 100644 index 0000000000..677f4fe131 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/bee.json @@ -0,0 +1,243 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1", + "1": "gm4_furniture:block/furniture/stone_set/statues/bee", + "particle": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1" + }, + "elements": [ + { + "from": [2, 4, 2], + "to": [14, 6, 14], + "faces": { + "north": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 8, 6, 14], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [13, 4, 13], + "faces": { + "north": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "east": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "south": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "west": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 2, 14], + "faces": { + "north": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 0, 12.5, 6], "texture": "#0"}, + "down": {"uv": [6.5, 8, 12.5, 14], "texture": "#0"} + } + }, + { + "name": "body", + "from": [4.5, 9, 3], + "to": [11.5, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8.5, 0, 8]}, + "faces": { + "north": {"uv": [2.5, 2.5, 4.25, 4.25], "texture": "#1"}, + "east": {"uv": [0, 2.5, 2.5, 4.25], "texture": "#1"}, + "south": {"uv": [6.75, 2.5, 8.5, 4.25], "texture": "#1"}, + "west": {"uv": [4.25, 2.5, 6.75, 4.25], "texture": "#1"}, + "up": {"uv": [4.25, 2.5, 2.5, 0], "texture": "#1"}, + "down": {"uv": [6, 0, 4.25, 2.5], "texture": "#1"} + } + }, + { + "name": "stinger", + "from": [8, 12, 13], + "to": [8, 13, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8.5, 0, 8]}, + "faces": { + "north": {"uv": [7, 2.25, 7, 2.5], "texture": "#1"}, + "east": {"uv": [6.5, 2.25, 7, 2.5], "texture": "#1"}, + "south": {"uv": [7.5, 2.25, 7.5, 2.5], "texture": "#1"}, + "west": {"uv": [7, 2.25, 7.5, 2.5], "texture": "#1"}, + "up": {"uv": [7, 2.25, 7, 1.75], "texture": "#1"}, + "down": {"uv": [7, 1.75, 7, 2.25], "texture": "#1"} + } + }, + { + "name": "rightwing_bone", + "from": [9.5, 16, 5], + "to": [18.5, 16, 11], + "rotation": {"angle": 22.5, "axis": "z", "origin": [9.5, 16, 8]}, + "faces": { + "north": {"uv": [1.5, 6, 3.75, 6], "texture": "#1"}, + "east": {"uv": [0, 6, 1.5, 6], "texture": "#1"}, + "south": {"uv": [5.25, 6, 7.5, 6], "texture": "#1"}, + "west": {"uv": [3.75, 6, 5.25, 6], "texture": "#1"}, + "up": {"uv": [3.75, 6, 1.5, 4.5], "texture": "#1"}, + "down": {"uv": [6, 4.5, 3.75, 6], "texture": "#1"} + } + }, + { + "name": "leftwing_bone", + "from": [-2.5, 16, 5], + "to": [6.5, 16, 11], + "rotation": {"angle": -22.5, "axis": "z", "origin": [6.5, 16, 8]}, + "faces": { + "north": {"uv": [3.75, 7.5, 6, 7.5], "texture": "#1"}, + "east": {"uv": [2.25, 7.5, 3.75, 7.5], "texture": "#1"}, + "south": {"uv": [7.5, 7.5, 9.75, 7.5], "texture": "#1"}, + "west": {"uv": [6, 7.5, 7.5, 7.5], "texture": "#1"}, + "up": {"uv": [6, 7.5, 3.75, 6], "texture": "#1"}, + "down": {"uv": [8.25, 6, 6, 7.5], "texture": "#1"} + } + }, + { + "name": "leg_front", + "from": [4.5, 7, 6], + "to": [11.5, 9, 6], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 9, 6]}, + "faces": { + "north": {"uv": [6.5, 0.25, 8.25, 0.75], "texture": "#1"}, + "east": {"uv": [6.5, 0.25, 6.5, 0.75], "texture": "#1"}, + "south": {"uv": [8.25, 0.25, 10, 0.75], "texture": "#1"}, + "west": {"uv": [8.25, 0.25, 8.25, 0.75], "texture": "#1"}, + "up": {"uv": [8.25, 0.25, 6.5, 0.25], "texture": "#1"}, + "down": {"uv": [10, 0.25, 8.25, 0.25], "texture": "#1"} + } + }, + { + "name": "leg_mid", + "from": [4.5, 7, 8], + "to": [11.5, 9, 8], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [6.5, 0.75, 8.25, 1.25], "texture": "#1"}, + "east": {"uv": [6.5, 0.75, 6.5, 1.25], "texture": "#1"}, + "south": {"uv": [8.25, 0.75, 10, 1.25], "texture": "#1"}, + "west": {"uv": [8.25, 0.75, 8.25, 1.25], "texture": "#1"}, + "up": {"uv": [8.25, 0.75, 6.5, 0.75], "texture": "#1"}, + "down": {"uv": [10, 0.75, 8.25, 0.75], "texture": "#1"} + } + }, + { + "name": "leg_back", + "from": [4.5, 7, 10], + "to": [11.5, 9, 10], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 9, 10]}, + "faces": { + "north": {"uv": [6.5, 1.25, 8.25, 1.75], "texture": "#1"}, + "east": {"uv": [6.5, 1.25, 6.5, 1.75], "texture": "#1"}, + "south": {"uv": [8.25, 1.25, 10, 1.75], "texture": "#1"}, + "west": {"uv": [8.25, 1.25, 8.25, 1.75], "texture": "#1"}, + "up": {"uv": [8.25, 1.25, 6.5, 1.25], "texture": "#1"}, + "down": {"uv": [10, 1.25, 8.25, 1.25], "texture": "#1"} + } + }, + { + "from": [9.5, 14, 0], + "to": [9.5, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [0.5, 0, 0]}, + "faces": { + "east": {"uv": [0.5, 1.5, 1.25, 2], "texture": "#1"}, + "west": {"uv": [1.5, 1.5, 2.25, 2], "texture": "#1"} + } + }, + { + "from": [6.5, 14, 0], + "to": [6.5, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [0.5, 0, 0]}, + "faces": { + "east": {"uv": [0.5, 0.75, 1.25, 1.25], "texture": "#1"}, + "west": {"uv": [1.5, 0.75, 2.25, 1.25], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + 2, + { + "name": "body", + "origin": [-0.5, 5, 0], + "color": 0, + "children": [ + 3, + { + "name": "stinger", + "origin": [-0.5, 6, 1], + "color": 0, + "children": [4] + }, + { + "name": "rightwing_bone", + "origin": [1, 9, -3], + "color": 0, + "children": [5] + }, + { + "name": "leftwing_bone", + "origin": [-2, 9, -3], + "color": 0, + "children": [6] + }, + { + "name": "leg_front", + "origin": [-2, 2, -2], + "color": 0, + "children": [7] + }, + { + "name": "leg_mid", + "origin": [-2, 2, 0], + "color": 0, + "children": [8] + }, + { + "name": "leg_back", + "origin": [-2, 2, 2], + "color": 0, + "children": [9] + }, + 10, + 11 + ] + } + ] +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/frog.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/frog.json new file mode 100644 index 0000000000..b67b25686e --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/frog.json @@ -0,0 +1,195 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1", + "1": "gm4_furniture:block/furniture/stone_set/statues/frog", + "particle": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1" + }, + "elements": [ + { + "from": [4.5, 7, 3], + "to": [11.5, 12, 12], + "faces": { + "north": {"uv": [0, 0, 1.75, 1.25], "texture": "#1"}, + "east": {"uv": [4.25, 0, 2, 1.25], "texture": "#1"}, + "south": {"uv": [4.5, 0, 6.25, 1.25], "texture": "#1"}, + "west": {"uv": [2, 0, 4.25, 1.25], "texture": "#1"}, + "up": {"uv": [0, 1.5, 1.75, 3.75], "texture": "#1"}, + "down": {"uv": [2, 3.75, 3.75, 1.5], "texture": "#1"} + } + }, + { + "from": [10.5, 6, 4], + "to": [12.5, 9, 7], + "faces": { + "north": {"uv": [1, 4, 1.5, 4.75], "texture": "#1"}, + "east": {"uv": [0, 4, 0.75, 4.75], "texture": "#1"}, + "south": {"uv": [2.75, 4, 3.25, 4.75], "texture": "#1"}, + "west": {"uv": [1.75, 4, 2.5, 4.75], "texture": "#1"}, + "up": {"uv": [0.75, 5.5, 0, 5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1, 5.5, 1.75, 5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3.5, 6, 4], + "to": [5.5, 9, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [1.5, 4, 1, 4.75], "texture": "#1"}, + "east": {"uv": [2.5, 4, 1.75, 4.75], "texture": "#1"}, + "south": {"uv": [3.25, 4, 2.75, 4.75], "texture": "#1"}, + "west": {"uv": [0.75, 4, 0, 4.75], "texture": "#1"}, + "up": {"uv": [0.75, 5, 0, 5.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1, 5, 1.75, 5.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [8.5, 12, 4], + "to": [11.5, 14, 7], + "faces": { + "north": {"uv": [6.5, 0, 7.25, 0.5], "texture": "#1"}, + "east": {"uv": [9.5, 0, 10.25, 0.5], "texture": "#1"}, + "south": {"uv": [8.5, 0, 9.25, 0.5], "texture": "#1"}, + "west": {"uv": [7.5, 0, 8.25, 0.5], "texture": "#1"}, + "up": {"uv": [7.25, 1.5, 6.5, 0.75], "texture": "#1"} + } + }, + { + "from": [4.5, 12, 4], + "to": [7.5, 14, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [7.25, 0, 6.5, 0.5], "texture": "#1"}, + "east": {"uv": [8.25, 0, 7.5, 0.5], "texture": "#1"}, + "south": {"uv": [9.25, 0, 8.5, 0.5], "texture": "#1"}, + "west": {"uv": [10.25, 0, 9.5, 0.5], "texture": "#1"}, + "up": {"uv": [6.5, 1.5, 7.25, 0.75], "texture": "#1"} + } + }, + { + "from": [10.5, 6, 9], + "to": [13.5, 9, 13], + "faces": { + "north": {"uv": [1.25, 5.75, 2, 6.5], "texture": "#1"}, + "east": {"uv": [0, 5.75, 1, 6.5], "texture": "#1"}, + "south": {"uv": [3.5, 5.75, 4.25, 6.5], "texture": "#1"}, + "west": {"uv": [2.25, 5.75, 3.25, 6.5], "texture": "#1"}, + "up": {"uv": [1, 7.5, 0, 6.75], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1.25, 7.5, 2.25, 6.75], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [2.5, 6, 9], + "to": [5.5, 9, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [2, 5.75, 1.25, 6.5], "texture": "#1"}, + "east": {"uv": [3.25, 5.75, 2.25, 6.5], "texture": "#1"}, + "south": {"uv": [4.25, 5.75, 3.5, 6.5], "texture": "#1"}, + "west": {"uv": [1, 5.75, 0, 6.5], "texture": "#1"}, + "up": {"uv": [1, 6.75, 0, 7.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1.25, 6.75, 2.25, 7.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [8.5, 6.1, 3], + "to": [12.5, 6.1, 7], + "faces": { + "up": {"uv": [1, 7.75, 0, 8.75], "texture": "#1"}, + "down": {"uv": [1, 8.75, 0, 7.75], "texture": "#1"} + } + }, + { + "from": [0.5, 6.1, 8], + "to": [4.5, 6.1, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "up": {"uv": [0, 9, 1, 10], "texture": "#1"}, + "down": {"uv": [0, 10, 1, 9], "texture": "#1"} + } + }, + { + "from": [11.5, 6.1, 8], + "to": [15.5, 6.1, 12], + "faces": { + "up": {"uv": [1, 9, 0, 10], "texture": "#1"}, + "down": {"uv": [1, 10, 0, 9], "texture": "#1"} + } + }, + { + "from": [3.5, 6.1, 3], + "to": [7.5, 6.1, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "up": {"uv": [0, 7.75, 1, 8.75], "texture": "#1"}, + "down": {"uv": [0, 8.75, 1, 7.75], "texture": "#1"} + } + }, + { + "from": [2, 4, 2], + "to": [14, 6, 14], + "faces": { + "north": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 8, 6, 14], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [13, 4, 13], + "faces": { + "north": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "east": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "south": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "west": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 2, 14], + "faces": { + "north": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 0, 12.5, 6], "texture": "#0"}, + "down": {"uv": [6.5, 8, 12.5, 14], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/pufferfish.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/pufferfish.json new file mode 100644 index 0000000000..0deb23a7a8 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/stone_set/statues/pufferfish.json @@ -0,0 +1,226 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1", + "1": "gm4_furniture:block/furniture/stone_set/statues/pufferfish", + "particle": "gm4_furniture:block/furniture/stone_set/statues/stone_statue_base_1" + }, + "elements": [ + { + "from": [2, 4, 2], + "to": [14, 6, 14], + "faces": { + "north": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 8, 6, 14], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [13, 4, 13], + "faces": { + "north": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "east": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "south": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"}, + "west": {"uv": [0, 14.5, 5, 15.5], "texture": "#0"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 2, 14], + "faces": { + "north": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 12.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 0, 12.5, 6], "texture": "#0"}, + "down": {"uv": [6.5, 8, 12.5, 14], "texture": "#0"} + } + }, + { + "name": "body", + "from": [4, 6, 4], + "to": [12, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [4, 4, 8, 8], "texture": "#1"}, + "east": {"uv": [0, 4, 4, 8], "texture": "#1"}, + "south": {"uv": [12, 4, 16, 8], "texture": "#1"}, + "west": {"uv": [8, 4, 12, 8], "texture": "#1"}, + "up": {"uv": [8, 4, 4, 0], "texture": "#1"}, + "down": {"uv": [12, 0, 8, 4], "texture": "#1"} + } + }, + { + "name": "leftFin", + "from": [2, 13, 5.0096], + "to": [4, 13, 7.0096], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [13, 2.5, 14, 2.5], "texture": "#1"}, + "east": {"uv": [12, 2.5, 13, 2.5], "texture": "#1"}, + "south": {"uv": [15, 2.5, 16, 2.5], "texture": "#1"}, + "west": {"uv": [14, 2.5, 15, 2.5], "texture": "#1"}, + "up": {"uv": [14, 2.5, 13, 1.5], "texture": "#1"}, + "down": {"uv": [15, 1.5, 14, 2.5], "texture": "#1"} + } + }, + { + "name": "rightFin", + "from": [11.9968, 13, 5.008], + "to": [13.9968, 13, 7.008], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [13, 1, 14, 1], "texture": "#1"}, + "east": {"uv": [12, 1, 13, 1], "texture": "#1"}, + "south": {"uv": [15, 1, 16, 1], "texture": "#1"}, + "west": {"uv": [14, 1, 15, 1], "texture": "#1"}, + "up": {"uv": [14, 1, 13, 0], "texture": "#1"}, + "down": {"uv": [15, 0, 14, 1], "texture": "#1"} + } + }, + { + "from": [4, 5, 4], + "to": [12, 6, 4], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 6, 4]}, + "faces": { + "north": {"uv": [7.5, 10, 11.5, 10.5], "texture": "#1"}, + "south": {"uv": [11.5, 10, 7.5, 10.5], "texture": "#1"} + } + }, + { + "from": [4, 5, 12], + "to": [12, 6, 12], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 6, 12]}, + "faces": { + "north": {"uv": [7.5, 10, 11.5, 10.5], "texture": "#1"}, + "south": {"uv": [11.5, 10, 7.5, 10.5], "texture": "#1"} + } + }, + { + "from": [4, 5, 8], + "to": [12, 6, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6, 4]}, + "faces": { + "north": {"uv": [7.5, 10, 11.5, 10.5], "texture": "#1"}, + "south": {"uv": [11.5, 10, 7.5, 10.5], "texture": "#1"} + } + }, + { + "from": [3, 6, 4], + "to": [4, 14, 4], + "rotation": {"angle": -45, "axis": "y", "origin": [4, 10, 4]}, + "faces": { + "north": {"uv": [0.5, 8.5, 1, 12.5], "texture": "#1"}, + "south": {"uv": [0.5, 8.5, 1, 12.5], "texture": "#1"} + } + }, + { + "from": [12, 6, 3], + "to": [12, 14, 4], + "rotation": {"angle": -45, "axis": "y", "origin": [12, 10, 4]}, + "faces": { + "east": {"uv": [2.5, 8.5, 3, 12.5], "texture": "#1"}, + "west": {"uv": [2.5, 8.5, 3, 12.5], "texture": "#1"} + } + }, + { + "from": [3, 6, 8], + "to": [4, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]}, + "faces": { + "north": {"uv": [2.5, 8.5, 3, 12.5], "texture": "#1"}, + "south": {"uv": [2.5, 8.5, 3, 12.5], "texture": "#1"} + } + }, + { + "from": [12, 6, 12], + "to": [13, 14, 12], + "rotation": {"angle": -45, "axis": "y", "origin": [12, 10, 12]}, + "faces": { + "north": {"uv": [4.5, 8.5, 5, 12.5], "texture": "#1"}, + "south": {"uv": [4.5, 8.5, 5, 12.5], "texture": "#1"} + } + }, + { + "from": [3, 6, 12], + "to": [4, 14, 12], + "rotation": {"angle": 45, "axis": "y", "origin": [4, 10, 12]}, + "faces": { + "north": {"uv": [4.5, 8.5, 5, 12.5], "texture": "#1"}, + "south": {"uv": [4.5, 8.5, 5, 12.5], "texture": "#1"} + } + }, + { + "from": [12, 6, 8], + "to": [13, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]}, + "faces": { + "north": {"uv": [4.5, 8.5, 5, 12.5], "texture": "#1"}, + "south": {"uv": [4.5, 8.5, 5, 12.5], "texture": "#1"} + } + }, + { + "from": [4, 14, 4], + "to": [12, 15, 4], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 4]}, + "faces": { + "north": {"uv": [7.5, 9, 11.5, 8.5], "texture": "#1"}, + "south": {"uv": [11.5, 9, 7.5, 8.5], "texture": "#1"} + } + }, + { + "from": [4, 14, 12], + "to": [12, 15, 12], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 12]}, + "faces": { + "north": {"uv": [7.5, 9, 11.5, 8.5], "texture": "#1"}, + "south": {"uv": [11.5, 9, 7.5, 8.5], "texture": "#1"} + } + }, + { + "from": [4, 14, 8], + "to": [12, 15, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 4]}, + "faces": { + "north": {"uv": [7.5, 9, 11.5, 8.5], "texture": "#1"}, + "south": {"uv": [11.5, 9, 7.5, 8.5], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/1x1_table_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/1x1_table_1.json new file mode 100644 index 0000000000..fb66ad1e75 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/1x1_table_1.json @@ -0,0 +1,164 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/fancy/1x1_table_1", + "particle": "gm4_furniture:block/furniture/wood_set/fancy/1x1_table_1" + }, + "elements": [ + { + "from": [0, 14, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 4.25, 4, 4.75], "texture": "#0"}, + "east": {"uv": [4.25, 0, 4.75, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 4.25, 4, 4.75], "texture": "#0"}, + "west": {"uv": [4.25, 0, 4.75, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "down": {"uv": [0, 5, 4, 9], "texture": "#0"} + } + }, + { + "from": [6, 12, 6], + "to": [10, 14, 10], + "faces": { + "north": {"uv": [5, 0, 6, 0.5], "texture": "#0"}, + "east": {"uv": [5, 0, 6, 0.5], "texture": "#0"}, + "south": {"uv": [5, 0, 6, 0.5], "texture": "#0"}, + "west": {"uv": [5, 0, 6, 0.5], "texture": "#0"}, + "down": {"uv": [5, 0.75, 6, 1.75], "texture": "#0"} + } + }, + { + "from": [7, 2, 7], + "to": [9, 12, 9], + "faces": { + "north": {"uv": [6.25, 0, 6.75, 2.5], "texture": "#0"}, + "east": {"uv": [7, 0, 7.5, 2.5], "texture": "#0"}, + "south": {"uv": [6.25, 0, 6.75, 2.5], "texture": "#0"}, + "west": {"uv": [7, 0, 7.5, 2.5], "texture": "#0"}, + "down": {"uv": [6.25, 2.75, 6.75, 3.25], "texture": "#0"} + } + }, + { + "from": [12, 0, 7], + "to": [14, 2, 9], + "faces": { + "north": {"uv": [8.75, 3, 9.25, 3.5], "texture": "#0"}, + "east": {"uv": [8, 3, 8.5, 3.5], "texture": "#0"}, + "south": {"uv": [9.25, 3, 8.75, 3.5], "texture": "#0"}, + "west": {"uv": [9.5, 3, 10, 3.5], "texture": "#0"}, + "up": {"uv": [9.25, 2.25, 8.75, 2.75], "texture": "#0"}, + "down": {"uv": [9.25, 3.75, 8.75, 4.25], "texture": "#0"} + } + }, + { + "from": [2, 0, 7], + "to": [4, 2, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [9.25, 3, 8.75, 3.5], "texture": "#0"}, + "east": {"uv": [10, 3, 9.5, 3.5], "texture": "#0"}, + "south": {"uv": [8.75, 3, 9.25, 3.5], "texture": "#0"}, + "west": {"uv": [8.5, 3, 8, 3.5], "texture": "#0"}, + "up": {"uv": [8.75, 2.25, 9.25, 2.75], "texture": "#0"}, + "down": {"uv": [8.75, 3.75, 9.25, 4.25], "texture": "#0"} + } + }, + { + "from": [7, 0, 12], + "to": [9, 2, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2, 8]}, + "faces": { + "north": {"uv": [9.5, 3, 10, 3.5], "texture": "#0"}, + "east": {"uv": [8.75, 3, 9.25, 3.5], "texture": "#0"}, + "south": {"uv": [8, 3, 8.5, 3.5], "texture": "#0"}, + "west": {"uv": [9.25, 3, 8.75, 3.5], "texture": "#0"}, + "up": {"uv": [9.25, 2.25, 8.75, 2.75], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9.25, 3.75, 8.75, 4.25], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [7, 2, 3], + "to": [9, 4, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2, 8]}, + "faces": { + "north": {"uv": [10.5, 0.75, 11, 1.25], "texture": "#0"}, + "east": {"uv": [7.75, 0.75, 10.25, 1.25], "texture": "#0"}, + "south": {"uv": [10.5, 0.75, 11, 1.25], "texture": "#0"}, + "west": {"uv": [7.75, 0.75, 10.25, 1.25], "texture": "#0"}, + "up": {"uv": [7.75, 0, 10.25, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.75, 1.5, 10.25, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [7, 0, 2], + "to": [9, 2, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2, 8]}, + "faces": { + "north": {"uv": [8.5, 3, 8, 3.5], "texture": "#0"}, + "east": {"uv": [9.25, 3, 8.75, 3.5], "texture": "#0"}, + "south": {"uv": [10, 3, 9.5, 3.5], "texture": "#0"}, + "west": {"uv": [8.75, 3, 9.25, 3.5], "texture": "#0"}, + "up": {"uv": [8.75, 2.25, 9.25, 2.75], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.75, 3.75, 9.25, 4.25], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 7], + "to": [13, 4, 9], + "faces": { + "north": {"uv": [7.75, 0.75, 10.25, 1.25], "texture": "#0"}, + "east": {"uv": [10.5, 0.75, 11, 1.25], "texture": "#0"}, + "south": {"uv": [7.75, 0.75, 10.25, 1.25], "texture": "#0"}, + "west": {"uv": [10.5, 0.75, 11, 1.25], "texture": "#0"}, + "up": {"uv": [7.75, 0, 10.25, 0.5], "texture": "#0"}, + "down": {"uv": [7.75, 1.5, 10.25, 2], "texture": "#0"} + } + }, + { + "from": [-0.1, 12, -0.1], + "to": [16.1, 16.2, 16.1], + "faces": { + "north": {"uv": [4.25, 8.5, 8.25, 9.5], "texture": "#0", "tintindex": 0}, + "east": {"uv": [4.25, 8.5, 8.25, 9.5], "texture": "#0", "tintindex": 0}, + "south": {"uv": [4.25, 8.5, 8.25, 9.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [4.25, 8.5, 8.25, 9.5], "texture": "#0", "tintindex": 0}, + "up": {"uv": [4.25, 4.25, 8.25, 8.25], "texture": "#0", "tintindex": 0} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/2x2_table_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/2x2_table_1.json new file mode 100644 index 0000000000..d0f505809c --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/2x2_table_1.json @@ -0,0 +1,223 @@ +{ + "texture_size": [128, 128], + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/fancy/2x2_table_1", + "particle": "gm4_furniture:block/furniture/wood_set/fancy/2x2_table_1" + }, + "elements": [ + { + "from": [-8, 14, -8], + "to": [24, 16, 24], + "faces": { + "north": {"uv": [0, 8.25, 8, 8.75], "texture": "#0"}, + "east": {"uv": [0, 8.25, 8, 8.75], "texture": "#0"}, + "south": {"uv": [0, 8.25, 8, 8.75], "texture": "#0"}, + "west": {"uv": [0, 8.25, 8, 8.75], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [8, 0, 16, 8], "texture": "#0"} + } + }, + { + "from": [-4, 11, -6], + "to": [22, 14, -4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 9, 6.5, 9.75], "texture": "#0"}, + "east": {"uv": [0, 0, 0.5, 0.75], "texture": "#0"}, + "south": {"uv": [6.5, 10.75, 0, 11.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0.5, 0.75], "texture": "#0"}, + "down": {"uv": [6.5, 10.5, 0, 10], "texture": "#0"} + } + }, + { + "from": [20, 11, -4], + "to": [22, 14, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 0.75], "texture": "#0"}, + "east": {"uv": [0, 9, 6.5, 9.75], "texture": "#0"}, + "south": {"uv": [0, 0, 0.5, 0.75], "texture": "#0"}, + "west": {"uv": [6.5, 10.75, 0, 11.5], "texture": "#0"}, + "down": {"uv": [6.5, 10.5, 0, 10], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-6, 11, 20], + "to": [20, 14, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 10.75, 0, 11.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0.5, 0.75], "texture": "#0"}, + "south": {"uv": [0, 9, 6.5, 9.75], "texture": "#0"}, + "west": {"uv": [0, 0, 0.5, 0.75], "texture": "#0"}, + "down": {"uv": [6.5, 10.5, 0, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-6, 11, -6], + "to": [-4, 14, 20], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 0.75], "texture": "#0"}, + "east": {"uv": [6.5, 10.75, 0, 11.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0.5, 0.75], "texture": "#0"}, + "west": {"uv": [0, 9, 6.5, 9.75], "texture": "#0"}, + "down": {"uv": [6.5, 10.5, 0, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [18, 0, -4], + "to": [20, 14, -2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [9, 8.25, 9.5, 11.75], "texture": "#0"}, + "east": {"uv": [8.25, 8.25, 8.75, 11.75], "texture": "#0"}, + "south": {"uv": [9, 8.25, 9.5, 11.75], "texture": "#0"}, + "west": {"uv": [8.25, 8.25, 8.75, 11.75], "texture": "#0"}, + "down": {"uv": [9.75, 9, 10.25, 9.5], "texture": "#0"} + } + }, + { + "from": [-5, 0, -5], + "to": [-3, 2, -3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 8.25, 11, 8.75], "texture": "#0"}, + "east": {"uv": [9.75, 8.25, 10.25, 8.75], "texture": "#0"}, + "south": {"uv": [10.25, 8.25, 9.75, 8.75], "texture": "#0"}, + "west": {"uv": [11, 8.25, 10.5, 8.75], "texture": "#0"}, + "up": {"uv": [10.5, 8.75, 11, 8.25], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.75, 8.25, 11.25, 8.75], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-4, 0, -4], + "to": [-2, 14, -2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8.25, 8.25, 8.75, 11.75], "texture": "#0"}, + "east": {"uv": [9, 8.25, 9.5, 11.75], "texture": "#0"}, + "south": {"uv": [8.25, 8.25, 8.75, 11.75], "texture": "#0"}, + "west": {"uv": [9, 8.25, 9.5, 11.75], "texture": "#0"}, + "down": {"uv": [9.75, 9, 10.25, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-5, 0, 19], + "to": [-3, 2, 21], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [9.75, 8.25, 10.25, 8.75], "texture": "#0"}, + "east": {"uv": [10.25, 8.25, 9.75, 8.75], "texture": "#0"}, + "south": {"uv": [11, 8.25, 10.5, 8.75], "texture": "#0"}, + "west": {"uv": [10.5, 8.25, 11, 8.75], "texture": "#0"}, + "up": {"uv": [10.5, 8.75, 11, 8.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 8.25, 11.25, 8.75], "texture": "#0"} + } + }, + { + "from": [-4, 0, 18], + "to": [-2, 14, 20], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [9, 8.25, 9.5, 11.75], "texture": "#0"}, + "east": {"uv": [8.25, 8.25, 8.75, 11.75], "texture": "#0"}, + "south": {"uv": [9, 8.25, 9.5, 11.75], "texture": "#0"}, + "west": {"uv": [8.25, 8.25, 8.75, 11.75], "texture": "#0"}, + "down": {"uv": [9.75, 9, 10.25, 9.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [19, 0, 19], + "to": [21, 2, 21], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.25, 8.25, 9.75, 8.75], "texture": "#0"}, + "east": {"uv": [11, 8.25, 10.5, 8.75], "texture": "#0"}, + "south": {"uv": [10.5, 8.25, 11, 8.75], "texture": "#0"}, + "west": {"uv": [9.75, 8.25, 10.25, 8.75], "texture": "#0"}, + "up": {"uv": [10.5, 8.75, 11, 8.25], "texture": "#0"}, + "down": {"uv": [11.75, 8.25, 11.25, 8.75], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [18, 0, 18], + "to": [20, 14, 20], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8.25, 8.25, 8.75, 11.75], "texture": "#0"}, + "east": {"uv": [9, 8.25, 9.5, 11.75], "texture": "#0"}, + "south": {"uv": [8.25, 8.25, 8.75, 11.75], "texture": "#0"}, + "west": {"uv": [9, 8.25, 9.5, 11.75], "texture": "#0"}, + "down": {"uv": [9.75, 9, 10.25, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [19, 0, -5], + "to": [21, 2, -3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 8.25, 10.5, 8.75], "texture": "#0"}, + "east": {"uv": [10.5, 8.25, 11, 8.75], "texture": "#0"}, + "south": {"uv": [9.75, 8.25, 10.25, 8.75], "texture": "#0"}, + "west": {"uv": [10.25, 8.25, 9.75, 8.75], "texture": "#0"}, + "up": {"uv": [10.5, 8.75, 11, 8.25], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.75, 8.25, 11.25, 8.75], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-8.1, 7.9, -0.1], + "to": [24.1, 16.1, 16.1], + "faces": { + "east": {"uv": [8.25, 12, 10.25, 16], "rotation": 90, "texture": "#0", "tintindex": 0}, + "west": {"uv": [8.25, 12, 10.25, 16], "rotation": 90, "texture": "#0", "tintindex": 0}, + "up": {"uv": [0, 12, 8, 16], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [24.1, 16.1, 16.1], + "to": [-8.1, 7.9, -0.1], + "faces": { + "east": {"uv": [10.25, 12, 8.25, 16], "rotation": 90, "texture": "#0", "tintindex": 0}, + "west": {"uv": [10.25, 12, 8.25, 16], "rotation": 90, "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 12, 8, 16], "texture": "#0", "tintindex": 0} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.75, 0], + "scale": [0.1875, 0.1875, 0.1875] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.75, 0], + "scale": [0.1875, 0.1875, 0.1875] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.2, 0.2, 0.2] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "scale": [0.2, 0.2, 0.2] + }, + "ground": { + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -2, 0], + "scale": [0.3125, 0.3125, 0.3125] + }, + "head": { + "translation": [-8, 0, 8] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/bench_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/bench_1.json new file mode 100644 index 0000000000..236afaeb91 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/bench_1.json @@ -0,0 +1,385 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/fancy/bench_1", + "particle": "gm4_furniture:block/furniture/wood_set/fancy/bench_1" + }, + "elements": [ + { + "from": [-14, 5, 0], + "to": [30, 8, 2], + "faces": { + "north": {"uv": [0, 1.875, 5.5, 2.25], "texture": "#0", "tintindex": 0}, + "east": {"uv": [0.25, 1.875, 0, 2.25], "texture": "#0", "tintindex": 0}, + "south": {"uv": [0, 2.375, 5.5, 2.625], "texture": "#0", "tintindex": 0}, + "west": {"uv": [5.5, 1.875, 5.25, 2.25], "texture": "#0", "tintindex": 0}, + "up": {"uv": [0, 1.75, 5.5, 1.5], "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 2.375, 5.5, 2.625], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [-13, 7, 2], + "to": [29, 8, 13], + "faces": { + "up": {"uv": [0.125, 1.375, 5.375, 0], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [1, 7, 12], + "to": [15, 25, 16], + "faces": { + "north": {"uv": [3.5, 5.125, 5.25, 7.375], "texture": "#0", "tintindex": 0}, + "east": {"uv": [5.125, 2.75, 5.25, 5], "texture": "#0", "tintindex": 0}, + "south": {"uv": [3.5, 2.75, 5.25, 5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [3.5, 2.75, 3.625, 5], "texture": "#0", "tintindex": 0}, + "up": {"uv": [3.5, 2.75, 5.25, 2.875], "texture": "#0", "tintindex": 0}, + "down": {"uv": [3.5, 4.875, 5.25, 5], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [16, 7, 12], + "to": [30, 21, 16], + "faces": { + "north": {"uv": [1.625, 4.625, 3.375, 6.375], "texture": "#0", "tintindex": 0}, + "east": {"uv": [1.625, 7.75, 3.375, 8.25], "rotation": 270, "texture": "#0", "tintindex": 0}, + "south": {"uv": [1.625, 2.75, 3.375, 4.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [1.625, 7.625, 3.375, 7.125], "rotation": 270, "texture": "#0", "tintindex": 0}, + "up": {"uv": [1.625, 6.5, 3.375, 7], "texture": "#0", "tintindex": 0}, + "down": {"uv": [1.625, 4.5, 3.375, 4], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [-14, 7, 12], + "to": [0, 21, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [3.375, 4.625, 1.625, 6.375], "texture": "#0", "tintindex": 0}, + "east": {"uv": [1.625, 7.125, 3.375, 7.625], "rotation": 270, "texture": "#0", "tintindex": 0}, + "south": {"uv": [3.375, 2.75, 1.625, 4.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [1.625, 8.25, 3.375, 7.75], "rotation": 270, "texture": "#0", "tintindex": 0}, + "up": {"uv": [3.375, 6.5, 1.625, 7], "texture": "#0", "tintindex": 0}, + "down": {"uv": [3.375, 4.5, 1.625, 4], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [-15, 0, 13], + "to": [-13, 6, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [7, 0, 6.75, 0.75], "texture": "#0"}, + "east": {"uv": [6.625, 0, 6.375, 0.75], "texture": "#0"}, + "south": {"uv": [7, 0, 6.75, 0.75], "texture": "#0"}, + "west": {"uv": [6.625, 0, 6.375, 0.75], "texture": "#0"}, + "down": {"uv": [6.625, 0.875, 6.375, 1.125], "texture": "#0"} + } + }, + { + "from": [-1, 0, 14], + "to": [1, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, + "faces": { + "north": {"uv": [7.375, 0, 7.125, 0.25], "texture": "#0"}, + "east": {"uv": [7.375, 0, 7.125, 0.25], "texture": "#0"}, + "south": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "west": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "up": {"uv": [7.75, 0.25, 7.5, 0], "texture": "#0"}, + "down": {"uv": [8.125, 0, 7.875, 0.25], "texture": "#0"} + } + }, + { + "from": [0, 0, 13], + "to": [2, 6, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [7, 0, 6.75, 0.75], "texture": "#0"}, + "east": {"uv": [6.625, 0, 6.375, 0.75], "texture": "#0"}, + "south": {"uv": [7, 0, 6.75, 0.75], "texture": "#0"}, + "west": {"uv": [6.625, 0, 6.375, 0.75], "texture": "#0"}, + "down": {"uv": [6.625, 0.875, 6.375, 1.125], "texture": "#0"} + } + }, + { + "from": [15, 0, 0], + "to": [17, 2, 2], + "faces": { + "north": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "east": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "south": {"uv": [7.375, 0, 7.125, 0.25], "texture": "#0"}, + "west": {"uv": [7.375, 0, 7.125, 0.25], "texture": "#0"}, + "up": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "down": {"uv": [7.875, 0.25, 8.125, 0], "texture": "#0"} + } + }, + { + "from": [14, 0, 1], + "to": [16, 6, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [7, 0, 6.75, 0.75], "texture": "#0"}, + "east": {"uv": [6.625, 0, 6.375, 0.75], "texture": "#0"}, + "south": {"uv": [7, 0, 6.75, 0.75], "texture": "#0"}, + "west": {"uv": [6.625, 0, 6.375, 0.75], "texture": "#0"}, + "down": {"uv": [6.375, 1.125, 6.625, 0.875], "texture": "#0"} + } + }, + { + "from": [-1, 0, 0], + "to": [1, 2, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "east": {"uv": [7.125, 0, 7.375, 0.25], "texture": "#0"}, + "south": {"uv": [7.125, 0, 7.375, 0.25], "texture": "#0"}, + "west": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "up": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "down": {"uv": [8.125, 0.25, 7.875, 0], "texture": "#0"} + } + }, + { + "from": [0, 0, 1], + "to": [2, 6, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, + "faces": { + "north": {"uv": [6.75, 0, 7, 0.75], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.625, 0.75], "texture": "#0"}, + "south": {"uv": [6.75, 0, 7, 0.75], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.625, 0.75], "texture": "#0"}, + "down": {"uv": [6.625, 1.125, 6.375, 0.875], "texture": "#0"} + } + }, + { + "from": [-16, 0, 0], + "to": [-14, 2, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "east": {"uv": [7.125, 0, 7.375, 0.25], "texture": "#0"}, + "south": {"uv": [7.125, 0, 7.375, 0.25], "texture": "#0"}, + "west": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "up": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "down": {"uv": [8.125, 0.25, 7.875, 0], "texture": "#0"} + } + }, + { + "from": [-16, 0, 14], + "to": [-14, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, + "faces": { + "north": {"uv": [7.375, 0, 7.125, 0.25], "texture": "#0"}, + "east": {"uv": [7.375, 0, 7.125, 0.25], "texture": "#0"}, + "south": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "west": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "up": {"uv": [7.75, 0.25, 7.5, 0], "texture": "#0"}, + "down": {"uv": [8.125, 0, 7.875, 0.25], "texture": "#0"} + } + }, + { + "from": [-15, 0, 1], + "to": [-13, 13, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [5.875, 0, 5.625, 1.625], "texture": "#0"}, + "east": {"uv": [6.25, 0, 6, 1.625], "texture": "#0"}, + "south": {"uv": [5.875, 0, 5.625, 1.625], "texture": "#0"}, + "west": {"uv": [6.25, 0, 6, 1.625], "texture": "#0"}, + "up": {"uv": [6.25, 1.75, 6, 2], "texture": "#0"}, + "down": {"uv": [5.875, 1.75, 5.625, 2], "texture": "#0"} + } + }, + { + "from": [30, 0, 14], + "to": [32, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [7.125, 0, 7.375, 0.25], "texture": "#0"}, + "east": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "west": {"uv": [7.125, 0, 7.375, 0.25], "texture": "#0"}, + "up": {"uv": [7.5, 0.25, 7.75, 0], "texture": "#0"}, + "down": {"uv": [7.875, 0, 8.125, 0.25], "texture": "#0"} + } + }, + { + "from": [29, 0, 13], + "to": [31, 6, 15], + "faces": { + "north": {"uv": [6.75, 0, 7, 0.75], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.625, 0.75], "texture": "#0"}, + "south": {"uv": [6.75, 0, 7, 0.75], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.625, 0.75], "texture": "#0"}, + "down": {"uv": [6.375, 0.875, 6.625, 1.125], "texture": "#0"} + } + }, + { + "from": [15, 0, 13], + "to": [17, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [7.125, 0, 7.375, 0.25], "texture": "#0"}, + "east": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "west": {"uv": [7.125, 0, 7.375, 0.25], "texture": "#0"}, + "up": {"uv": [7.5, 0.25, 7.75, 0], "texture": "#0"}, + "down": {"uv": [7.875, 0, 8.125, 0.25], "texture": "#0"} + } + }, + { + "from": [14, 0, 12], + "to": [16, 6, 14], + "faces": { + "north": {"uv": [6.75, 0, 7, 0.75], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.625, 0.75], "texture": "#0"}, + "south": {"uv": [6.75, 0, 7, 0.75], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.625, 0.75], "texture": "#0"}, + "down": {"uv": [6.375, 0.875, 6.625, 1.125], "texture": "#0"} + } + }, + { + "from": [30, 0, 0], + "to": [32, 2, 2], + "faces": { + "north": {"uv": [7.75, 0, 7.5, 0.25], "texture": "#0"}, + "east": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "south": {"uv": [7.375, 0, 7.125, 0.25], "texture": "#0"}, + "west": {"uv": [7.375, 0, 7.125, 0.25], "texture": "#0"}, + "up": {"uv": [7.5, 0, 7.75, 0.25], "texture": "#0"}, + "down": {"uv": [7.875, 0.25, 8.125, 0], "texture": "#0"} + } + }, + { + "from": [29, 0, 1], + "to": [31, 13, 3], + "faces": { + "north": {"uv": [5.625, 0, 5.875, 1.625], "texture": "#0"}, + "east": {"uv": [6, 0, 6.25, 1.625], "texture": "#0"}, + "south": {"uv": [5.625, 0, 5.875, 1.625], "texture": "#0"}, + "west": {"uv": [6, 0, 6.25, 1.625], "texture": "#0"}, + "up": {"uv": [6, 1.75, 6.25, 2], "texture": "#0"}, + "down": {"uv": [5.625, 1.75, 5.875, 2], "texture": "#0"} + } + }, + { + "from": [-15, 6, 13], + "to": [31, 22, 15], + "faces": { + "north": {"uv": [8.25, 2.125, 14, 4.125], "texture": "#0"}, + "east": {"uv": [14.125, 0, 14.375, 2], "texture": "#0"}, + "south": {"uv": [8.25, 0, 14, 2], "texture": "#0"}, + "west": {"uv": [14.375, 0, 14.125, 2], "texture": "#0"}, + "up": {"uv": [8.25, 4.5, 14, 4.25], "texture": "#0"}, + "down": {"uv": [8, 6.5, 13.75, 6.75], "texture": "#0"} + } + }, + { + "from": [-13, 6, 2], + "to": [29, 7, 13], + "faces": { + "east": {"uv": [8.25, 8.125, 8.375, 6.875], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.375, 6.875, 13.5, 8.125], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.25, 6.875, 13.5, 8.125], "texture": "#0"} + } + }, + { + "from": [28, 11, 2], + "to": [32, 14, 14], + "faces": { + "north": {"uv": [0, 5.5, 0.5, 5.875], "texture": "#0", "tintindex": 0}, + "east": {"uv": [1.5, 4.375, 0, 4.75], "texture": "#0", "tintindex": 0}, + "south": {"uv": [1, 4.375, 1.5, 4.75], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0, 2.75, 1.5, 3.125], "texture": "#0", "tintindex": 0}, + "up": {"uv": [0, 3.75, 1.5, 4.25], "rotation": 90, "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 4.875, 1.5, 5.375], "rotation": 90, "texture": "#0", "tintindex": 0} + } + }, + { + "from": [28, 7, 2], + "to": [30, 11, 13], + "faces": { + "north": {"uv": [0.25, 3.125, 0, 3.625], "texture": "#0", "tintindex": 0}, + "east": {"uv": [0, 6, 1.375, 6.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0, 3.125, 1.375, 3.625], "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 6.5, 1.375, 6.25], "rotation": 90, "texture": "#0", "tintindex": 0} + } + }, + { + "from": [-16, 11, 2], + "to": [-12, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0.5, 5.5, 0, 5.875], "texture": "#0", "tintindex": 0}, + "east": {"uv": [1.5, 2.75, 0, 3.125], "texture": "#0", "tintindex": 0}, + "south": {"uv": [1.5, 4.375, 1, 4.75], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0, 4.375, 1.5, 4.75], "texture": "#0", "tintindex": 0}, + "up": {"uv": [0, 4.25, 1.5, 3.75], "rotation": 90, "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 5.375, 1.5, 4.875], "rotation": 90, "texture": "#0", "tintindex": 0} + } + }, + { + "from": [-14, 7, 2], + "to": [-12, 11, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 3.125, 0.25, 3.625], "texture": "#0", "tintindex": 0}, + "east": {"uv": [1.375, 3.125, 0, 3.625], "texture": "#0", "tintindex": 0}, + "west": {"uv": [1.375, 6, 0, 6.5], "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 6.25, 1.375, 6.5], "rotation": 90, "texture": "#0", "tintindex": 0} + } + }, + { + "from": [0, 22, 13], + "to": [16, 24, 15], + "faces": { + "north": {"uv": [8.25, 4.625, 10.25, 4.875], "texture": "#0"}, + "east": {"uv": [8.5, 5.375, 8.25, 5.625], "texture": "#0"}, + "south": {"uv": [8.25, 5, 10.25, 5.25], "texture": "#0"}, + "west": {"uv": [8.25, 5.375, 8.5, 5.625], "texture": "#0"} + } + }, + { + "from": [-1, 24, 13], + "to": [17, 26, 15], + "faces": { + "north": {"uv": [10.375, 4.625, 12.625, 4.875], "texture": "#0"}, + "east": {"uv": [10.625, 6.125, 10.375, 6.375], "texture": "#0"}, + "south": {"uv": [10.375, 5, 12.625, 5.25], "texture": "#0"}, + "west": {"uv": [10.375, 6.125, 10.625, 6.375], "texture": "#0"}, + "up": {"uv": [10.375, 5.375, 12.625, 5.625], "texture": "#0"}, + "down": {"uv": [10.375, 6, 12.625, 5.75], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 1.75, 0], + "scale": [0.1875, 0.1875, 0.1875] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 1.75, 0], + "scale": [0.1875, 0.1875, 0.1875] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.3125, 0.3125, 0.3125] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0.5, -3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/chair_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/chair_1.json new file mode 100644 index 0000000000..262842aedf --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/chair_1.json @@ -0,0 +1,252 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/fancy/chair_1", + "particle": "gm4_furniture:block/furniture/wood_set/fancy/chair_1" + }, + "elements": [ + { + "from": [1, 5, 0], + "to": [15, 8, 2], + "faces": { + "north": {"uv": [0, 3.75, 3.5, 4.5], "texture": "#0", "tintindex": 0}, + "east": {"uv": [0.5, 3.75, 0, 4.5], "texture": "#0", "tintindex": 0}, + "south": {"uv": [0, 4.75, 3.5, 5.25], "texture": "#0", "tintindex": 0}, + "west": {"uv": [3.5, 3.75, 3, 4.5], "texture": "#0", "tintindex": 0}, + "up": {"uv": [0, 3.5, 3.5, 3], "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 5.25, 3.5, 4.75], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [2, 6, 2], + "to": [14, 7, 13], + "faces": { + "east": {"uv": [10.75, 11.25, 11, 8.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 8.5, 8.25, 11.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 8.5, 11, 11.25], "texture": "#0"} + } + }, + { + "from": [0, 6, 13], + "to": [16, 20, 15], + "faces": { + "north": {"uv": [11.75, 4.25, 15.75, 7.75], "texture": "#0"}, + "east": {"uv": [12.75, 0, 13.25, 3.5], "texture": "#0"}, + "south": {"uv": [7.5, 4.25, 11.5, 7.75], "texture": "#0"}, + "west": {"uv": [13.25, 0, 12.75, 3.5], "texture": "#0"}, + "down": {"uv": [7.5, 8, 11.5, 8.5], "texture": "#0"} + } + }, + { + "from": [13, 11, 2], + "to": [17, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 11, 1, 11.75], "texture": "#0", "tintindex": 0}, + "east": {"uv": [3, 8.75, 0, 9.5], "texture": "#0", "tintindex": 0}, + "south": {"uv": [2, 8.75, 3, 9.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0, 5.5, 3, 6.25], "texture": "#0", "tintindex": 0}, + "up": {"uv": [0, 7.5, 3, 8.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 9.75, 3, 10.75], "rotation": 90, "texture": "#0", "tintindex": 0} + } + }, + { + "from": [13, 7, 2], + "to": [15, 11, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0.5, 6.25, 0, 7.25], "texture": "#0", "tintindex": 0}, + "east": {"uv": [0, 12, 2.75, 13], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0, 6.25, 2.75, 7.25], "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 13, 2.75, 12.5], "rotation": 90, "texture": "#0", "tintindex": 0} + } + }, + { + "from": [-1, 11, 2], + "to": [3, 14, 14], + "faces": { + "north": {"uv": [1, 11, 0, 11.75], "texture": "#0", "tintindex": 0}, + "east": {"uv": [3, 5.5, 0, 6.25], "texture": "#0", "tintindex": 0}, + "south": {"uv": [3, 8.75, 2, 9.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0, 8.75, 3, 9.5], "texture": "#0", "tintindex": 0}, + "up": {"uv": [0, 8.5, 3, 7.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 10.75, 3, 9.75], "rotation": 90, "texture": "#0", "tintindex": 0} + } + }, + { + "from": [1, 7, 2], + "to": [3, 11, 13], + "faces": { + "north": {"uv": [0, 6.25, 0.5, 7.25], "texture": "#0", "tintindex": 0}, + "east": {"uv": [2.75, 6.25, 0, 7.25], "texture": "#0", "tintindex": 0}, + "west": {"uv": [2.75, 12, 0, 13], "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 12.5, 2.75, 13], "rotation": 90, "texture": "#0", "tintindex": 0} + } + }, + { + "from": [2, 7, 2], + "to": [14, 8, 13], + "faces": { + "up": {"uv": [0.25, 2.75, 3.25, 0], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [1, 7, 12], + "to": [15, 21, 16], + "faces": { + "north": {"uv": [3.75, 3.75, 7.25, 7.25], "texture": "#0", "tintindex": 0}, + "east": {"uv": [7.25, 11, 3.75, 10], "rotation": 90, "texture": "#0", "tintindex": 0}, + "south": {"uv": [3.75, 0, 7.25, 3.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [7.25, 10, 3.75, 11], "rotation": 90, "texture": "#0", "tintindex": 0}, + "up": {"uv": [3.75, 7.5, 7.25, 8.5], "texture": "#0", "tintindex": 0}, + "down": {"uv": [3.75, 3.5, 7.25, 2.5], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [0, 0, 1], + "to": [2, 13, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [8, 0, 7.5, 3.25], "texture": "#0"}, + "east": {"uv": [8.75, 0, 8.25, 3.25], "texture": "#0"}, + "south": {"uv": [8, 0, 7.5, 3.25], "texture": "#0"}, + "west": {"uv": [8.75, 0, 8.25, 3.25], "texture": "#0"}, + "up": {"uv": [8.75, 3.5, 8.25, 4], "texture": "#0"}, + "down": {"uv": [8, 3.5, 7.5, 4], "texture": "#0"} + } + }, + { + "from": [15, 0, 0], + "to": [17, 2, 2], + "faces": { + "north": {"uv": [11.75, 0, 11.25, 0.5], "texture": "#0"}, + "east": {"uv": [11.25, 0, 11.75, 0.5], "texture": "#0"}, + "south": {"uv": [11, 0, 10.5, 0.5], "texture": "#0"}, + "west": {"uv": [11, 0, 10.5, 0.5], "texture": "#0"}, + "up": {"uv": [11.25, 0, 11.75, 0.5], "texture": "#0"}, + "down": {"uv": [12, 0.5, 12.5, 0], "texture": "#0"} + } + }, + { + "from": [14, 0, 1], + "to": [16, 13, 3], + "faces": { + "north": {"uv": [7.5, 0, 8, 3.25], "texture": "#0"}, + "east": {"uv": [8.25, 0, 8.75, 3.25], "texture": "#0"}, + "south": {"uv": [7.5, 0, 8, 3.25], "texture": "#0"}, + "west": {"uv": [8.25, 0, 8.75, 3.25], "texture": "#0"}, + "up": {"uv": [8.25, 3.5, 8.75, 4], "texture": "#0"}, + "down": {"uv": [7.5, 3.5, 8, 4], "texture": "#0"} + } + }, + { + "from": [-1, 0, 0], + "to": [1, 2, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [11.25, 0, 11.75, 0.5], "texture": "#0"}, + "east": {"uv": [10.5, 0, 11, 0.5], "texture": "#0"}, + "south": {"uv": [10.5, 0, 11, 0.5], "texture": "#0"}, + "west": {"uv": [11.75, 0, 11.25, 0.5], "texture": "#0"}, + "up": {"uv": [11.75, 0, 11.25, 0.5], "texture": "#0"}, + "down": {"uv": [12.5, 0.5, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 14], + "to": [17, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [10.5, 0, 11, 0.5], "texture": "#0"}, + "east": {"uv": [11.75, 0, 11.25, 0.5], "texture": "#0"}, + "south": {"uv": [11.25, 0, 11.75, 0.5], "texture": "#0"}, + "west": {"uv": [10.5, 0, 11, 0.5], "texture": "#0"}, + "up": {"uv": [11.25, 0.5, 11.75, 0], "texture": "#0"}, + "down": {"uv": [12, 0, 12.5, 0.5], "texture": "#0"} + } + }, + { + "from": [0, 0, 13], + "to": [2, 6, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [10.25, 0, 9.75, 1.5], "texture": "#0"}, + "east": {"uv": [9.5, 0, 9, 1.5], "texture": "#0"}, + "south": {"uv": [10.25, 0, 9.75, 1.5], "texture": "#0"}, + "west": {"uv": [9.5, 0, 9, 1.5], "texture": "#0"}, + "down": {"uv": [9.5, 1.75, 9, 2.25], "texture": "#0"} + } + }, + { + "from": [-1, 0, 14], + "to": [1, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, + "faces": { + "north": {"uv": [11, 0, 10.5, 0.5], "texture": "#0"}, + "east": {"uv": [11, 0, 10.5, 0.5], "texture": "#0"}, + "south": {"uv": [11.75, 0, 11.25, 0.5], "texture": "#0"}, + "west": {"uv": [11.25, 0, 11.75, 0.5], "texture": "#0"}, + "up": {"uv": [11.75, 0.5, 11.25, 0], "texture": "#0"}, + "down": {"uv": [12.5, 0, 12, 0.5], "texture": "#0"} + } + }, + { + "from": [14, 0, 13], + "to": [16, 6, 15], + "faces": { + "north": {"uv": [9.75, 0, 10.25, 1.5], "texture": "#0"}, + "east": {"uv": [9, 0, 9.5, 1.5], "texture": "#0"}, + "south": {"uv": [9.75, 0, 10.25, 1.5], "texture": "#0"}, + "west": {"uv": [9, 0, 9.5, 1.5], "texture": "#0"}, + "down": {"uv": [9, 1.75, 9.5, 2.25], "texture": "#0"} + } + }, + { + "from": [-1, 20, 13], + "to": [17, 22, 15], + "faces": { + "north": {"uv": [7.5, 11.5, 12, 12], "texture": "#0"}, + "east": {"uv": [8, 14.5, 7.5, 15], "texture": "#0"}, + "south": {"uv": [7.5, 12.25, 12, 12.75], "texture": "#0"}, + "west": {"uv": [7.5, 14.5, 8, 15], "texture": "#0"}, + "up": {"uv": [7.5, 13, 12, 13.5], "texture": "#0"}, + "down": {"uv": [7.5, 14.25, 12, 13.75], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/light_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/light_1.json new file mode 100644 index 0000000000..d6a3aeefa5 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/light_1.json @@ -0,0 +1,121 @@ +{ + "texture_size": [32, 32], + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/fancy/light_1", + "particle": "gm4_furniture:block/furniture/wood_set/fancy/light_1" + }, + "elements": [ + { + "from": [3.025, 5, 3.025], + "to": [12.975, 11, 12.975], + "faces": { + "north": {"uv": [0, 2.5, 5, 5.5], "texture": "#0", "tintindex": 0}, + "east": {"uv": [0, 2.5, 5, 5.5], "texture": "#0", "tintindex": 0}, + "south": {"uv": [0, 2.5, 5, 5.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0, 2.5, 5, 5.5], "texture": "#0", "tintindex": 0}, + "up": {"uv": [0, 6, 5, 11], "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 6, 5, 11], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [12.975, 11, 12.975], + "to": [3.025, 5, 3.025], + "faces": { + "north": {"uv": [5, 5.5, 10, 2.5], "texture": "#0", "tintindex": 0}, + "east": {"uv": [5, 5.5, 10, 2.5], "texture": "#0", "tintindex": 0}, + "south": {"uv": [5, 5.5, 10, 2.5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [5, 5.5, 10, 2.5], "texture": "#0", "tintindex": 0}, + "up": {"uv": [5, 6, 10, 11], "texture": "#0", "tintindex": 0}, + "down": {"uv": [5, 6, 10, 11], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [4, 10.975, 4], + "to": [12, 15, 12], + "faces": { + "north": {"uv": [0.5, 0, 4.5, 2], "texture": "#0", "tintindex": 0}, + "east": {"uv": [0.5, 0, 4.5, 2], "texture": "#0", "tintindex": 0}, + "south": {"uv": [0.5, 0, 4.5, 2], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0.5, 0, 4.5, 2], "texture": "#0", "tintindex": 0}, + "up": {"uv": [0.5, 11.5, 4.5, 15.5], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [12, 15, 12], + "to": [4, 11, 4], + "faces": { + "north": {"uv": [5.5, 2, 9.5, 0], "texture": "#0", "tintindex": 0}, + "east": {"uv": [5.5, 2, 9.5, 0], "texture": "#0", "tintindex": 0}, + "south": {"uv": [5.5, 2, 9.5, 0], "texture": "#0", "tintindex": 0}, + "west": {"uv": [5.5, 2, 9.5, 0], "texture": "#0", "tintindex": 0}, + "down": {"uv": [5.5, 11.5, 9.5, 15.5], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [5, 0, 5], + "to": [11, 2, 11], + "faces": { + "north": {"uv": [10.5, 7, 13.5, 8], "texture": "#0"}, + "east": {"uv": [10.5, 7, 13.5, 8], "texture": "#0"}, + "south": {"uv": [10.5, 7, 13.5, 8], "texture": "#0"}, + "west": {"uv": [10.5, 7, 13.5, 8], "texture": "#0"}, + "up": {"uv": [10.5, 0, 13.5, 3], "texture": "#0"}, + "down": {"uv": [10.5, 3.5, 13.5, 6.5], "texture": "#0"} + } + }, + { + "from": [4, 13, 4], + "to": [12, 13, 12], + "faces": { + "up": {"uv": [10.5, 8.5, 14.5, 12.5], "texture": "#0"}, + "down": {"uv": [10.5, 8.5, 14.5, 12.5], "texture": "#0"} + } + }, + { + "from": [7, 2, 7], + "to": [9, 14, 9], + "faces": { + "north": {"uv": [13.5, 0, 14.5, 6], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 6], "texture": "#0"}, + "south": {"uv": [13.5, 0, 14.5, 6], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 6], "texture": "#0"}, + "up": {"uv": [13.5, 6.5, 14.5, 7.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 0.75, 2], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 0.75, 2], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [0, 3.25, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [0, 3.25, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/stool_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/stool_1.json new file mode 100644 index 0000000000..afe5d4ee3d --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/fancy/stool_1.json @@ -0,0 +1,167 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/fancy/stool_1", + "particle": "gm4_furniture:block/furniture/wood_set/fancy/stool_1" + }, + "elements": [ + { + "from": [1, 6, 1], + "to": [15, 10, 15], + "faces": { + "north": {"uv": [0, 3.75, 3.5, 4.75], "texture": "#0", "tintindex": 0}, + "east": {"uv": [0, 3.75, 3.5, 4.75], "texture": "#0", "tintindex": 0}, + "south": {"uv": [0, 3.75, 3.5, 4.75], "texture": "#0", "tintindex": 0}, + "west": {"uv": [0, 3.75, 3.5, 4.75], "texture": "#0", "tintindex": 0}, + "up": {"uv": [0, 0, 3.5, 3.5], "texture": "#0", "tintindex": 0}, + "down": {"uv": [0, 5, 3.5, 8.5], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [2, 4, 2], + "to": [14, 6, 14], + "faces": { + "north": {"uv": [3.75, 0, 6.75, 0.5], "texture": "#0"}, + "east": {"uv": [3.75, 0, 6.75, 0.5], "texture": "#0"}, + "south": {"uv": [3.75, 0, 6.75, 0.5], "texture": "#0"}, + "west": {"uv": [3.75, 0, 6.75, 0.5], "texture": "#0"}, + "down": {"uv": [3.75, 0.75, 6.75, 3.75], "texture": "#0"} + } + }, + { + "from": [3, 0, 3], + "to": [5, 4, 5], + "faces": { + "north": {"uv": [7.75, 0, 8.25, 1], "texture": "#0"}, + "east": {"uv": [7, 0, 7.5, 1], "texture": "#0"}, + "south": {"uv": [7.75, 0, 8.25, 1], "texture": "#0"}, + "west": {"uv": [7, 0, 7.5, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [7, 1.25, 7.5, 1.75], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 0, 12], + "to": [14, 2, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [9, 0, 8.5, 0.5], "texture": "#0"}, + "east": {"uv": [9.75, 0, 9.25, 0.5], "texture": "#0"}, + "south": {"uv": [9.25, 0, 9.75, 0.5], "texture": "#0"}, + "west": {"uv": [8.5, 0, 9, 0.5], "texture": "#0"}, + "up": {"uv": [9.75, 0.5, 9.25, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 0.5, 10, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 0, 11], + "to": [13, 4, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, + "faces": { + "north": {"uv": [7.75, 0, 8.25, 1], "texture": "#0"}, + "east": {"uv": [7, 0, 7.5, 1], "texture": "#0"}, + "south": {"uv": [7.75, 0, 8.25, 1], "texture": "#0"}, + "west": {"uv": [7, 0, 7.5, 1], "texture": "#0"}, + "up": {"uv": [2, 2, 0, 0], "texture": "#0"}, + "down": {"uv": [7.5, 1.75, 7, 1.25], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 0, 2], + "to": [14, 2, 4], + "faces": { + "north": {"uv": [9.75, 0, 9.25, 0.5], "texture": "#0"}, + "east": {"uv": [9.25, 0, 9.75, 0.5], "texture": "#0"}, + "south": {"uv": [8.5, 0, 9, 0.5], "texture": "#0"}, + "west": {"uv": [9, 0, 8.5, 0.5], "texture": "#0"}, + "up": {"uv": [9.25, 0.5, 9.75, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 0, 10, 0.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 0, 3], + "to": [13, 4, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [8.25, 0, 7.75, 1], "texture": "#0"}, + "east": {"uv": [7.5, 0, 7, 1], "texture": "#0"}, + "south": {"uv": [8.25, 0, 7.75, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 7, 1], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [7.5, 1.25, 7, 1.75], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 0, 12], + "to": [4, 2, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, + "faces": { + "north": {"uv": [8.5, 0, 9, 0.5], "texture": "#0"}, + "east": {"uv": [9, 0, 8.5, 0.5], "texture": "#0"}, + "south": {"uv": [9.75, 0, 9.25, 0.5], "texture": "#0"}, + "west": {"uv": [9.25, 0, 9.75, 0.5], "texture": "#0"}, + "up": {"uv": [9.75, 0, 9.25, 0.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10, 0.5, 10.5, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 0, 11], + "to": [5, 4, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [8.25, 0, 7.75, 1], "texture": "#0"}, + "east": {"uv": [7.5, 0, 7, 1], "texture": "#0"}, + "south": {"uv": [8.25, 0, 7.75, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 7, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 2, 0], "texture": "#0"}, + "down": {"uv": [7, 1.75, 7.5, 1.25], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 0, 2], + "to": [4, 2, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [9.25, 0, 9.75, 0.5], "texture": "#0"}, + "east": {"uv": [8.5, 0, 9, 0.5], "texture": "#0"}, + "south": {"uv": [9, 0, 8.5, 0.5], "texture": "#0"}, + "west": {"uv": [9.75, 0, 9.25, 0.5], "texture": "#0"}, + "up": {"uv": [9.25, 0, 9.75, 0.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10, 0, 10.5, 0.5], "rotation": 180, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/1x1_table_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/1x1_table_1.json new file mode 100644 index 0000000000..d8613a6d8e --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/1x1_table_1.json @@ -0,0 +1,101 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/plain/1x1_table_1", + "particle": "gm4_furniture:block/furniture/wood_set/plain/1x1_table_1" + }, + "elements": [ + { + "from": [0, 14, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [10, 0, 11, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8.5, 0, 9.5, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8.5, 0, 9.5, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 8, 8, 16], "texture": "#0"} + } + }, + { + "from": [13, 0, 13], + "to": [15, 14, 15], + "faces": { + "north": {"uv": [11.5, 0, 12.5, 8], "texture": "#0"}, + "east": {"uv": [13, 0, 14, 8], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12.5, 8], "texture": "#0"}, + "west": {"uv": [13, 0, 14, 8], "texture": "#0"}, + "down": {"uv": [11.5, 8.5, 12.5, 9.5], "texture": "#0"} + } + }, + { + "from": [1, 0, 1], + "to": [3, 14, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, + "faces": { + "north": {"uv": [11.5, 0, 12.5, 8], "texture": "#0"}, + "east": {"uv": [13, 0, 14, 8], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12.5, 8], "texture": "#0"}, + "west": {"uv": [13, 0, 14, 8], "texture": "#0"}, + "down": {"uv": [12.5, 9.5, 11.5, 8.5], "texture": "#0"} + } + }, + { + "from": [13, 0, 1], + "to": [15, 14, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [12.5, 0, 11.5, 8], "texture": "#0"}, + "east": {"uv": [14, 0, 13, 8], "texture": "#0"}, + "south": {"uv": [12.5, 0, 11.5, 8], "texture": "#0"}, + "west": {"uv": [14, 0, 13, 8], "texture": "#0"}, + "down": {"uv": [11.5, 9.5, 12.5, 8.5], "texture": "#0"} + } + }, + { + "from": [1, 0, 13], + "to": [3, 14, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [12.5, 0, 11.5, 8], "texture": "#0"}, + "east": {"uv": [14, 0, 13, 8], "texture": "#0"}, + "south": {"uv": [12.5, 0, 11.5, 8], "texture": "#0"}, + "west": {"uv": [14, 0, 13, 8], "texture": "#0"}, + "down": {"uv": [12.5, 8.5, 11.5, 9.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/2x2_table_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/2x2_table_1.json new file mode 100644 index 0000000000..828a3414fa --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/2x2_table_1.json @@ -0,0 +1,128 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/plain/2x2_table_1", + "particle": "gm4_furniture:block/furniture/wood_set/plain/2x2_table_1" + }, + "elements": [ + { + "from": [-8, 14, -8], + "to": [24, 16, 24], + "faces": { + "north": {"uv": [0, 4.125, 4, 4.375], "texture": "#0"}, + "east": {"uv": [4.125, 0, 4.375, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 4.125, 4, 4.375], "texture": "#0"}, + "west": {"uv": [4.125, 0, 4.375, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "down": {"uv": [0, 4.5, 4, 8.5], "texture": "#0"} + } + }, + { + "from": [20, 0, -6], + "to": [22, 14, -3], + "rotation": {"angle": 0, "axis": "y", "origin": [28.5, 7, 3]}, + "faces": { + "north": {"uv": [5, 0, 5.25, 1.75], "texture": "#0"}, + "east": {"uv": [4.5, 0, 4.875, 1.75], "texture": "#0"}, + "south": {"uv": [5.25, 0, 5, 1.75], "texture": "#0"}, + "west": {"uv": [5.375, 0, 5.75, 1.75], "texture": "#0"}, + "down": {"uv": [4.5, 2.125, 4.875, 1.875], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-6, 0, -6], + "to": [-4, 14, -3], + "rotation": {"angle": 0, "axis": "y", "origin": [-12.5, 7, 3]}, + "faces": { + "north": {"uv": [5.25, 0, 5, 1.75], "texture": "#0"}, + "east": {"uv": [5.75, 0, 5.375, 1.75], "texture": "#0"}, + "south": {"uv": [5, 0, 5.25, 1.75], "texture": "#0"}, + "west": {"uv": [4.875, 0, 4.5, 1.75], "texture": "#0"}, + "down": {"uv": [4.5, 1.875, 4.875, 2.125], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [20, 0, 19], + "to": [22, 14, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [28.5, 7, 13]}, + "faces": { + "north": {"uv": [5, 0, 5.25, 1.75], "texture": "#0"}, + "east": {"uv": [4.875, 0, 4.5, 1.75], "texture": "#0"}, + "south": {"uv": [5.25, 0, 5, 1.75], "texture": "#0"}, + "west": {"uv": [5.75, 0, 5.375, 1.75], "texture": "#0"}, + "down": {"uv": [4.875, 2.125, 4.5, 1.875], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-6, 0, 19], + "to": [-4, 14, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [-12.5, 7, 13]}, + "faces": { + "north": {"uv": [5.25, 0, 5, 1.75], "texture": "#0"}, + "east": {"uv": [5.375, 0, 5.75, 1.75], "texture": "#0"}, + "south": {"uv": [5, 0, 5.25, 1.75], "texture": "#0"}, + "west": {"uv": [4.5, 0, 4.875, 1.75], "texture": "#0"}, + "down": {"uv": [4.875, 1.875, 4.5, 2.125], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-4, 8, -5], + "to": [20, 10, -4], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 9, 16]}, + "faces": { + "north": {"uv": [5.875, 0, 8.875, 0.25], "texture": "#0"}, + "south": {"uv": [8.875, 0, 5.875, 0.25], "texture": "#0"}, + "up": {"uv": [8.875, 0, 5.875, 0.125], "texture": "#0"}, + "down": {"uv": [8.875, 0.125, 5.875, 0.25], "texture": "#0"} + } + }, + { + "from": [-4, 8, 20], + "to": [20, 10, 21], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 9, 0]}, + "faces": { + "north": {"uv": [5.875, 0, 8.875, 0.25], "texture": "#0"}, + "south": {"uv": [8.875, 0, 5.875, 0.25], "texture": "#0"}, + "up": {"uv": [8.875, 0.125, 5.875, 0], "texture": "#0"}, + "down": {"uv": [8.875, 0.25, 5.875, 0.125], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.75, 0], + "scale": [0.1875, 0.1875, 0.1875] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.75, 0], + "scale": [0.1875, 0.1875, 0.1875] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.2, 0.2, 0.2] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "scale": [0.2, 0.2, 0.2] + }, + "ground": { + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -2, 0], + "scale": [0.3125, 0.3125, 0.3125] + }, + "head": { + "translation": [-8, 0, 8] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/bench_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/bench_1.json new file mode 100644 index 0000000000..65e291fb41 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/bench_1.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/plain/bench_1", + "particle": "gm4_furniture:block/furniture/wood_set/plain/bench_1" + }, + "elements": [ + { + "from": [25, 0, 2], + "to": [28, 6, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5.25, 8]}, + "faces": { + "north": {"uv": [1, 8.5, 1.75, 10], "texture": "#0"}, + "east": {"uv": [0, 8.5, 0.75, 10], "texture": "#0"}, + "south": {"uv": [1, 8.5, 1.75, 10], "texture": "#0"}, + "west": {"uv": [0, 8.5, 0.75, 10], "texture": "#0"}, + "down": {"uv": [0, 10.25, 0.75, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-12, 0, 11], + "to": [-9, 6, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5.25, 8]}, + "faces": { + "north": {"uv": [1, 8.5, 1.75, 10], "texture": "#0"}, + "east": {"uv": [0, 8.5, 0.75, 10], "texture": "#0"}, + "south": {"uv": [1, 8.5, 1.75, 10], "texture": "#0"}, + "west": {"uv": [0, 8.5, 0.75, 10], "texture": "#0"}, + "down": {"uv": [0.75, 11, 0, 10.25], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-12, 0, 2], + "to": [-9, 6, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5.25, 8]}, + "faces": { + "north": {"uv": [1.75, 8.5, 1, 10], "texture": "#0"}, + "east": {"uv": [0.75, 8.5, 0, 10], "texture": "#0"}, + "south": {"uv": [1.75, 8.5, 1, 10], "texture": "#0"}, + "west": {"uv": [0.75, 8.5, 0, 10], "texture": "#0"}, + "down": {"uv": [0, 11, 0.75, 10.25], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [25, 0, 11], + "to": [28, 6, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5.25, 8]}, + "faces": { + "north": {"uv": [1.75, 8.5, 1, 10], "texture": "#0"}, + "east": {"uv": [0.75, 8.5, 0, 10], "texture": "#0"}, + "south": {"uv": [1.75, 8.5, 1, 10], "texture": "#0"}, + "west": {"uv": [0.75, 8.5, 0, 10], "texture": "#0"}, + "down": {"uv": [0.75, 10.25, 0, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-15, 6, 1], + "to": [31, 9, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5.25, 8]}, + "faces": { + "north": {"uv": [0, 3.75, 11.5, 4.5], "texture": "#0"}, + "east": {"uv": [11.75, 0, 12.5, 3.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 3.75, 11.5, 4.5], "texture": "#0"}, + "west": {"uv": [11.75, 0, 12.5, 3.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 11.5, 3.5], "texture": "#0"}, + "down": {"uv": [0, 4.75, 11.5, 8.25], "rotation": 180, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 1.75, 0], + "scale": [0.1875, 0.1875, 0.1875] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 1.75, 0], + "scale": [0.1875, 0.1875, 0.1875] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.3125, 0.3125, 0.3125] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0.5, -3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/chair_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/chair_1.json new file mode 100644 index 0000000000..38148654ea --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/chair_1.json @@ -0,0 +1,145 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/plain/chair_1", + "particle": "gm4_furniture:block/furniture/wood_set/plain/chair_1" + }, + "elements": [ + { + "from": [1, 7, 1], + "to": [15, 9, 15], + "faces": { + "north": {"uv": [0, 7.5, 7, 8.5], "texture": "#0"}, + "east": {"uv": [7.5, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 7.5, 7, 8.5], "texture": "#0"}, + "west": {"uv": [7.5, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 7, 7], "texture": "#0"}, + "down": {"uv": [9, 0, 16, 7], "texture": "#0"} + } + }, + { + "from": [2, 0, 2], + "to": [4, 7, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "east": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "south": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "west": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 13, 1, 14], "texture": "#0"} + } + }, + { + "from": [12, 0, 2], + "to": [14, 7, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "east": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "south": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "west": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "down": {"uv": [0, 13, 1, 14], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 0, 12], + "to": [14, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "east": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "south": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "west": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 13, 1, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 0, 12], + "to": [4, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "east": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "south": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "west": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "down": {"uv": [0, 13, 1, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 9, 13], + "to": [4, 21, 14], + "faces": { + "north": {"uv": [6, 10, 7, 16], "texture": "#0"}, + "east": {"uv": [6, 10, 6.5, 16], "texture": "#0"}, + "south": {"uv": [7, 10, 6, 16], "texture": "#0"}, + "west": {"uv": [6.5, 10, 7, 16], "texture": "#0"} + } + }, + { + "from": [12, 9, 13], + "to": [14, 21, 14], + "faces": { + "north": {"uv": [3, 10, 4, 16], "texture": "#0"}, + "east": {"uv": [3, 10, 3.5, 16], "texture": "#0"}, + "south": {"uv": [4, 10, 3, 16], "texture": "#0"}, + "west": {"uv": [3.5, 10, 4, 16], "texture": "#0"} + } + }, + { + "from": [7, 9, 13], + "to": [9, 21, 14], + "faces": { + "north": {"uv": [4.5, 10, 5.5, 16], "texture": "#0"}, + "east": {"uv": [4.5, 10, 5, 16], "texture": "#0"}, + "south": {"uv": [5.5, 10, 4.5, 16], "texture": "#0"}, + "west": {"uv": [5, 10, 5.5, 16], "texture": "#0"} + } + }, + { + "from": [1, 21, 12], + "to": [15, 23, 15], + "faces": { + "north": {"uv": [7.5, 7.5, 14.5, 8.5], "texture": "#0"}, + "east": {"uv": [15, 9, 16, 10.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [7.5, 7.5, 14.5, 8.5], "texture": "#0"}, + "west": {"uv": [15, 9, 16, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [7.5, 9, 14.5, 10.5], "texture": "#0"}, + "down": {"uv": [7.5, 11, 14.5, 12.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/light_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/light_1.json new file mode 100644 index 0000000000..53834f6c56 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/light_1.json @@ -0,0 +1,101 @@ +{ + "textures": { + "0": "gm4_furniture:block/furniture/misc/candle_fire_1", + "1": "gm4_furniture:block/furniture/misc/candle_1", + "2": "gm4_furniture:block/furniture/wood_set/plain/light_1", + "particle": "gm4_furniture:block/furniture/misc/candle_fire_1" + }, + "elements": [ + { + "from": [6.5, 8.25, 8], + "to": [9.5, 12.25, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [12, 0, 15, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 15, 4], "texture": "#0"} + } + }, + { + "from": [6.5, 8.25, 8], + "to": [9.5, 12.25, 8], + "shade": false, + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8.25, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 3, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 4], "texture": "#0"} + } + }, + { + "from": [6.75, 2.75, 6.75], + "to": [9.25, 8.25, 9.25], + "rotation": {"angle": 0, "axis": "y", "origin": [0.25, -3.75, -3.75]}, + "faces": { + "north": {"uv": [6, 0, 8, 5], "texture": "#1", "tintindex": 0}, + "east": {"uv": [9, 0, 11, 5], "texture": "#1", "tintindex": 0}, + "south": {"uv": [6, 0, 8, 5], "texture": "#1", "tintindex": 0}, + "west": {"uv": [9, 0, 11, 5], "texture": "#1", "tintindex": 0}, + "up": {"uv": [6, 6, 8, 8], "texture": "#1", "tintindex": 0} + } + }, + { + "from": [7, 3, 7], + "to": [9, 8, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, -4, -4]}, + "faces": { + "north": {"uv": [0, 0, 2, 5], "texture": "#1", "tintindex": 0}, + "east": {"uv": [3, 0, 5, 5], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 2, 5], "texture": "#1", "tintindex": 0}, + "west": {"uv": [3, 0, 5, 5], "texture": "#1", "tintindex": 0}, + "up": {"uv": [0, 6, 2, 8], "texture": "#1", "tintindex": 0} + } + }, + { + "from": [6, 0, 6], + "to": [10, 3, 10], + "faces": { + "north": {"uv": [0, 5, 4, 8], "texture": "#2"}, + "east": {"uv": [0, 5, 4, 8], "texture": "#2"}, + "south": {"uv": [0, 5, 4, 8], "texture": "#2"}, + "west": {"uv": [0, 5, 4, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#2"}, + "down": {"uv": [5, 0, 9, 4], "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 0.75, 2], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 0.75, 2], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [0, 3.25, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [0, 3.25, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, 2.25, 0] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/stool_1.json b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/stool_1.json new file mode 100644 index 0000000000..e03c3d7e8a --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/block/furniture/wood_set/plain/stool_1.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "gm4_furniture:block/furniture/wood_set/plain/stool_1", + "particle": "gm4_furniture:block/furniture/wood_set/plain/stool_1" + }, + "elements": [ + { + "from": [1, 7, 1], + "to": [15, 9, 15], + "faces": { + "north": {"uv": [0, 7.5, 7, 8.5], "texture": "#0"}, + "east": {"uv": [7.5, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 7.5, 7, 8.5], "texture": "#0"}, + "west": {"uv": [7.5, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 7, 7], "texture": "#0"}, + "down": {"uv": [9, 0, 16, 7], "texture": "#0"} + } + }, + { + "from": [2, 0, 2], + "to": [4, 7, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "east": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "south": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "west": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 13, 1, 14], "texture": "#0"} + } + }, + { + "from": [12, 0, 2], + "to": [14, 7, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "east": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "south": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "west": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "down": {"uv": [0, 13, 1, 14], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 0, 12], + "to": [14, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "east": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "south": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "west": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 13, 1, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 0, 12], + "to": [4, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "east": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "south": {"uv": [1.5, 9, 2.5, 12.5], "texture": "#0"}, + "west": {"uv": [0, 9, 1, 12.5], "texture": "#0"}, + "down": {"uv": [0, 13, 1, 14], "rotation": 90, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/item/furniture/paintbrush.json b/gm4_furniture/assets/gm4_furniture/models/item/furniture/paintbrush.json new file mode 100644 index 0000000000..40632b874b --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/item/furniture/paintbrush.json @@ -0,0 +1,238 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "gm4_furniture:item/furniture/paintbrush", + "particle": "gm4_furniture:item/furniture/paintbrush" + }, + "elements": [ + { + "from": [1, 1, 7.5], + "to": [4, 3, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [4, 13, 1, 15], "texture": "#0"}, + "east": {"uv": [4, 13, 3, 15], "texture": "#0"}, + "south": {"uv": [1, 13, 4, 15], "texture": "#0"}, + "west": {"uv": [2, 13, 1, 15], "texture": "#0"}, + "up": {"uv": [1, 13, 4, 14], "texture": "#0"}, + "down": {"uv": [1, 14, 4, 15], "texture": "#0"} + } + }, + { + "from": [1, 3, 7.5], + "to": [5, 4, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [5, 12, 1, 13], "texture": "#0"}, + "east": {"uv": [5, 12, 4, 13], "texture": "#0"}, + "south": {"uv": [1, 12, 5, 13], "texture": "#0"}, + "west": {"uv": [2, 12, 1, 13], "texture": "#0"}, + "up": {"uv": [1, 12, 5, 13], "texture": "#0"}, + "down": {"uv": [1, 12, 5, 13], "texture": "#0"} + } + }, + { + "from": [3, 4, 7.5], + "to": [6, 5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [6, 11, 3, 12], "texture": "#0"}, + "east": {"uv": [6, 11, 5, 12], "texture": "#0"}, + "south": {"uv": [3, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [4, 11, 3, 12], "texture": "#0"}, + "up": {"uv": [3, 11, 6, 12], "texture": "#0"}, + "down": {"uv": [3, 11, 6, 12], "texture": "#0"} + } + }, + { + "from": [4, 5, 7.5], + "to": [7, 6, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [7, 10, 4, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [4, 10, 7, 11], "texture": "#0"}, + "west": {"uv": [5, 10, 4, 11], "texture": "#0"}, + "up": {"uv": [4, 10, 7, 11], "texture": "#0"}, + "down": {"uv": [4, 10, 7, 11], "texture": "#0"} + } + }, + { + "from": [5, 6, 7.5], + "to": [8, 7, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [8, 9, 5, 10], "texture": "#0"}, + "east": {"uv": [8, 9, 7, 10], "texture": "#0"}, + "south": {"uv": [5, 9, 8, 10], "texture": "#0"}, + "west": {"uv": [6, 9, 5, 10], "texture": "#0"}, + "up": {"uv": [5, 9, 8, 10], "texture": "#0"}, + "down": {"uv": [5, 9, 8, 10], "texture": "#0"} + } + }, + { + "from": [6, 7, 7.5], + "to": [11, 8, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [11, 8, 6, 9], "texture": "#0"}, + "east": {"uv": [11, 8, 10, 9], "texture": "#0"}, + "south": {"uv": [6, 8, 11, 9], "texture": "#0"}, + "west": {"uv": [7, 8, 6, 9], "texture": "#0"}, + "up": {"uv": [6, 8, 11, 9], "texture": "#0"}, + "down": {"uv": [6, 8, 11, 9], "texture": "#0"} + } + }, + { + "from": [7, 8, 7.5], + "to": [12, 9, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [12, 7, 7, 8], "texture": "#0"}, + "east": {"uv": [12, 7, 11, 8], "texture": "#0"}, + "south": {"uv": [7, 7, 12, 8], "texture": "#0"}, + "west": {"uv": [8, 7, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 7, 12, 8], "texture": "#0"}, + "down": {"uv": [7, 7, 12, 8], "texture": "#0"} + } + }, + { + "from": [7, 9, 7.5], + "to": [11, 10, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [11, 6, 7, 7], "texture": "#0"}, + "east": {"uv": [11, 6, 10, 7], "texture": "#0"}, + "south": {"uv": [7, 6, 11, 7], "texture": "#0"}, + "west": {"uv": [8, 6, 7, 7], "texture": "#0"}, + "up": {"uv": [7, 6, 11, 7], "texture": "#0"}, + "down": {"uv": [7, 6, 11, 7], "texture": "#0"} + } + }, + { + "from": [7, 10, 7.5], + "to": [10, 11, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [10, 5, 7, 6], "texture": "#0"}, + "east": {"uv": [10, 5, 9, 6], "texture": "#0"}, + "south": {"uv": [7, 5, 10, 6], "texture": "#0"}, + "west": {"uv": [8, 5, 7, 6], "texture": "#0"}, + "up": {"uv": [7, 5, 10, 6], "texture": "#0"}, + "down": {"uv": [7, 5, 10, 6], "texture": "#0"} + } + }, + { + "from": [8, 11, 7.5], + "to": [9, 12, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [9, 4, 8, 5], "texture": "#0"}, + "east": {"uv": [9, 4, 8, 5], "texture": "#0"}, + "south": {"uv": [8, 4, 9, 5], "texture": "#0"}, + "west": {"uv": [9, 4, 8, 5], "texture": "#0"}, + "up": {"uv": [8, 4, 9, 5], "texture": "#0"}, + "down": {"uv": [8, 4, 9, 5], "texture": "#0"} + } + }, + { + "from": [11, 9, 7.5], + "to": [12, 10, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [12, 6, 11, 7], "texture": "#0", "tintindex": 0}, + "east": {"uv": [12, 6, 11, 7], "texture": "#0", "tintindex": 0}, + "south": {"uv": [11, 6, 12, 7], "texture": "#0", "tintindex": 0}, + "west": {"uv": [12, 6, 11, 7], "texture": "#0", "tintindex": 0}, + "up": {"uv": [11, 6, 12, 7], "texture": "#0", "tintindex": 0}, + "down": {"uv": [11, 6, 12, 7], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [14, 11, 7.5], + "to": [15, 12, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [15, 4, 14, 5], "texture": "#0", "tintindex": 0}, + "east": {"uv": [15, 4, 14, 5], "texture": "#0", "tintindex": 0}, + "south": {"uv": [14, 4, 15, 5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [15, 4, 14, 5], "texture": "#0", "tintindex": 0}, + "up": {"uv": [14, 4, 15, 5], "texture": "#0", "tintindex": 0}, + "down": {"uv": [14, 4, 15, 5], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [10, 10, 7.5], + "to": [13, 11, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [13, 5, 10, 6], "texture": "#0", "tintindex": 0}, + "east": {"uv": [13, 5, 12, 6], "texture": "#0", "tintindex": 0}, + "south": {"uv": [10, 5, 13, 6], "texture": "#0", "tintindex": 0}, + "west": {"uv": [11, 5, 10, 6], "texture": "#0", "tintindex": 0}, + "up": {"uv": [10, 5, 13, 6], "texture": "#0", "tintindex": 0}, + "down": {"uv": [10, 5, 13, 6], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [9, 11, 7.5], + "to": [13, 12, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [13, 4, 9, 5], "texture": "#0", "tintindex": 0}, + "east": {"uv": [13, 4, 12, 5], "texture": "#0", "tintindex": 0}, + "south": {"uv": [9, 4, 13, 5], "texture": "#0", "tintindex": 0}, + "west": {"uv": [10, 4, 9, 5], "texture": "#0", "tintindex": 0}, + "up": {"uv": [9, 4, 13, 5], "texture": "#0", "tintindex": 0}, + "down": {"uv": [9, 4, 13, 5], "texture": "#0", "tintindex": 0} + } + }, + { + "from": [10, 12, 7.5], + "to": [14, 13, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [14, 3, 10, 4], "texture": "#0", "tintindex": 0}, + "east": {"uv": [14, 3, 13, 4], "texture": "#0", "tintindex": 0}, + "south": {"uv": [10, 3, 14, 4], "texture": "#0", "tintindex": 0}, + "west": {"uv": [11, 3, 10, 4], "texture": "#0", "tintindex": 0}, + "up": {"uv": [10, 3, 14, 4], "texture": "#0", "tintindex": 0}, + "down": {"uv": [10, 3, 14, 4], "texture": "#0", "tintindex": 0} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [0, 90, 55], + "translation": [0, 4, 0.5], + "scale": [0.85, 0.85, 0.85] + }, + "thirdperson_lefthand": { + "rotation": [0, -90, -55], + "translation": [0, 4, 0.5], + "scale": [0.85, 0.85, 0.85] + }, + "firstperson_righthand": { + "rotation": [0, 90, 25], + "translation": [1.13, 3.2, 1.13], + "scale": [0.68, 0.68, 0.68] + }, + "firstperson_lefthand": { + "rotation": [0, -90, -25], + "translation": [1.13, 3.2, 1.13], + "scale": [0.68, 0.68, 0.68] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "rotation": [0, 180, 0], + "translation": [0, 13, 7] + }, + "fixed": { + "rotation": [0, 180, 0] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/cloth_set.json b/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/cloth_set.json new file mode 100644 index 0000000000..77854c3b11 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/cloth_set.json @@ -0,0 +1,125 @@ +{ + "textures": { + "0": "gm4_furniture:item/furniture/set_tool/cloth_set", + "particle": "gm4_furniture:item/furniture/set_tool/cloth_set" + }, + "elements": [ + { + "from": [7.99996, 2.67165, 5.6716], + "to": [8.99996, 3.37865, 6.3786], + "rotation": {"angle": -45, "axis": "x", "origin": [7.99996, 5.5, 8.5]}, + "faces": { + "north": {"uv": [1, 13, 2, 14], "texture": "#0"}, + "east": {"uv": [1, 13, 2, 14], "texture": "#0"}, + "west": {"uv": [1, 13, 2, 14], "texture": "#0"}, + "down": {"uv": [1, 13, 2, 14], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [7.99996, 2, 8.00004], + "to": [8.99996, 12, 9.00004], + "rotation": {"angle": 0, "axis": "y", "origin": [7.99996, 5.5, 8.5]}, + "faces": { + "north": {"uv": [1, 3, 2, 13], "texture": "#0"}, + "east": {"uv": [1, 3, 2, 13], "texture": "#0"}, + "south": {"uv": [1, 3, 2, 13], "texture": "#0"}, + "west": {"uv": [1, 3, 2, 13], "texture": "#0"}, + "up": {"uv": [1, 3, 2, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 13, 2, 14], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [7.99996, 12, 9.00004], + "to": [8.99996, 14, 10.00004], + "rotation": {"angle": 0, "axis": "y", "origin": [8.99996, 12, 10.00004]}, + "faces": { + "north": {"uv": [0, 1, 1, 3], "texture": "#0"}, + "east": {"uv": [0, 1, 1, 3], "texture": "#0"}, + "south": {"uv": [0, 1, 1, 3], "texture": "#0"}, + "west": {"uv": [0, 1, 1, 3], "texture": "#0"}, + "up": {"uv": [0, 1, 1, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 1, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [8.02496, 14.2273, 7.3201], + "to": [8.97496, 15.6414, 8.0271], + "rotation": {"angle": 45, "axis": "x", "origin": [9.02496, 14.5, 6.8857]}, + "faces": { + "north": {"uv": [1, 1, 0, 0], "texture": "#0"}, + "east": {"uv": [1, 1, 0, 0], "texture": "#0"}, + "west": {"uv": [1, 1, 0, 0], "texture": "#0"} + } + }, + { + "from": [8.02496, 10.3586, 7.3201], + "to": [8.97496, 11.7727, 8.0271], + "rotation": {"angle": -45, "axis": "x", "origin": [8.99996, 11.5, 6.8857]}, + "faces": { + "north": {"uv": [1, 3, 0, 4], "texture": "#0"}, + "east": {"uv": [1, 3, 0, 4], "texture": "#0"}, + "west": {"uv": [1, 3, 0, 4], "texture": "#0"} + } + }, + { + "from": [7.99996, 12, 7.00004], + "to": [8.99996, 14, 8.00004], + "rotation": {"angle": 0, "axis": "y", "origin": [8.99996, 12, 7.00004]}, + "faces": { + "north": {"uv": [1, 1, 0, 3], "texture": "#0"}, + "east": {"uv": [1, 1, 0, 3], "texture": "#0"}, + "south": {"uv": [1, 1, 0, 3], "texture": "#0"}, + "west": {"uv": [1, 1, 0, 3], "texture": "#0"}, + "up": {"uv": [1, 1, 0, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 2, 0, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [8.02496, 10.3586, 8.97298], + "to": [8.97496, 11.7727, 9.67998], + "rotation": {"angle": 45, "axis": "x", "origin": [8.99996, 11.5, 10.11438]}, + "faces": { + "east": {"uv": [0, 3, 1, 4], "texture": "#0"}, + "south": {"uv": [0, 3, 1, 4], "texture": "#0"}, + "west": {"uv": [0, 3, 1, 4], "texture": "#0"} + } + }, + { + "from": [8.02496, 14.2273, 8.97298], + "to": [8.97496, 15.6414, 9.67998], + "rotation": {"angle": -45, "axis": "x", "origin": [9.02496, 14.5, 10.11438]}, + "faces": { + "east": {"uv": [0, 1, 1, 0], "texture": "#0"}, + "south": {"uv": [0, 1, 1, 0], "texture": "#0"}, + "west": {"uv": [0, 1, 1, 0], "texture": "#0"} + } + }, + { + "from": [7.99996, 14, 8.00004], + "to": [8.99996, 15, 9.00004], + "rotation": {"angle": 0, "axis": "y", "origin": [7.99996, 5.5, 8.5]}, + "faces": { + "north": {"uv": [1, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [1, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [1, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [1, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [1, 0, 2, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 0, 2, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4.49996, 9.5, 8.50004], + "to": [13.49996, 16.5, 8.50004], + "rotation": {"angle": 0, "axis": "y", "origin": [16.49996, 0, 0.50004]}, + "faces": { + "north": {"uv": [12, 0, 3, 7], "texture": "#0"}, + "south": {"uv": [3, 0, 12, 7], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.25, 0] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/metal_set.json b/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/metal_set.json new file mode 100644 index 0000000000..95b2e5b41a --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/metal_set.json @@ -0,0 +1,88 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "gm4_furniture:item/furniture/set_tool/metal_set", + "particle": "gm4_furniture:item/furniture/set_tool/metal_set" + }, + "elements": [ + { + "from": [7, 4, 7], + "to": [9, 13, 9], + "faces": { + "north": {"uv": [0, 0, 1, 4.5], "texture": "#0"}, + "east": {"uv": [1.5, 0, 2.5, 4.5], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4.5], "texture": "#0"}, + "west": {"uv": [1.5, 0, 2.5, 4.5], "texture": "#0"}, + "down": {"uv": [0, 5, 1, 6], "texture": "#0"} + } + }, + { + "from": [6, 13, 7], + "to": [10, 15, 9], + "faces": { + "north": {"uv": [9.5, 0, 11.5, 1], "texture": "#0"}, + "east": {"uv": [12, 0, 13, 1], "texture": "#0"}, + "south": {"uv": [11.5, 0, 9.5, 1], "texture": "#0"}, + "up": {"uv": [11.5, 1.5, 9.5, 2.5], "texture": "#0"}, + "down": {"uv": [11.5, 3, 9.5, 4], "texture": "#0"} + } + }, + { + "from": [10, 12, 7], + "to": [13, 15, 7], + "faces": { + "north": {"uv": [13.5, 0, 15, 1.5], "texture": "#0"}, + "south": {"uv": [15, 0, 13.5, 1.5], "texture": "#0"} + } + }, + { + "from": [10, 12, 9], + "to": [13, 15, 9], + "faces": { + "north": {"uv": [13.5, 0, 15, 1.5], "texture": "#0"}, + "south": {"uv": [15, 0, 13.5, 1.5], "texture": "#0"} + } + }, + { + "from": [4, 12, 6], + "to": [6, 16, 10], + "faces": { + "north": {"uv": [6.5, 0, 5.5, 2], "texture": "#0"}, + "east": {"uv": [7, 0, 9, 2], "texture": "#0"}, + "south": {"uv": [5.5, 0, 6.5, 2], "texture": "#0"}, + "west": {"uv": [3, 0, 5, 2], "texture": "#0"}, + "up": {"uv": [3, 5, 5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3, 3.5, 5, 2.5], "rotation": 90, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [0, -90, 0], + "translation": [0, -3, 2] + }, + "thirdperson_lefthand": { + "rotation": [0, 90, 0], + "translation": [0, -3, 2] + }, + "firstperson_righthand": { + "rotation": [0, -90, 25], + "translation": [1.13, -0.8, 1.13] + }, + "firstperson_lefthand": { + "rotation": [0, 90, -25], + "translation": [1.13, -0.8, 1.13] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, -45, 0], + "translation": [0, -3.75, 0] + }, + "head": { + "translation": [0, 14.25, 0] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/stone_set.json b/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/stone_set.json new file mode 100644 index 0000000000..c7d488d255 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/stone_set.json @@ -0,0 +1,69 @@ +{ + "textures": { + "0": "gm4_furniture:item/furniture/set_tool/stone_set", + "particle": "gm4_furniture:item/furniture/set_tool/stone_set" + }, + "elements": [ + { + "from": [7, 7, 7], + "to": [9, 12, 9], + "faces": { + "north": {"uv": [0, 0, 2, 5], "texture": "#0"}, + "east": {"uv": [3, 0, 5, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 5], "texture": "#0"}, + "west": {"uv": [3, 0, 5, 5], "texture": "#0"}, + "up": {"uv": [3, 6, 5, 8], "texture": "#0"}, + "down": {"uv": [0, 6, 2, 8], "texture": "#0"} + } + }, + { + "from": [7.5, 12, 7.5], + "to": [8.5, 13, 8.5], + "faces": { + "north": {"uv": [7, 3, 8, 4], "texture": "#0"}, + "east": {"uv": [7, 3, 8, 4], "texture": "#0"}, + "south": {"uv": [7, 3, 8, 4], "texture": "#0"}, + "west": {"uv": [7, 3, 8, 4], "texture": "#0"} + } + }, + { + "from": [6.5, 13, 7.5], + "to": [9.5, 16, 8.5], + "faces": { + "north": {"uv": [6, 0, 9, 3], "texture": "#0"}, + "east": {"uv": [8, 0, 9, 3], "texture": "#0"}, + "south": {"uv": [6, 0, 9, 3], "texture": "#0"}, + "west": {"uv": [6, 0, 7, 3], "texture": "#0"}, + "up": {"uv": [6, 0, 9, 1], "texture": "#0"}, + "down": {"uv": [6, 2, 9, 3], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 0, 2] + }, + "thirdperson_lefthand": { + "translation": [0, 0, 2] + }, + "firstperson_righthand": { + "rotation": [-25, 0, 0], + "translation": [1.13, -0.8, 1.13] + }, + "firstperson_lefthand": { + "rotation": [-25, 0, 0], + "translation": [1.13, -0.8, 1.13] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, -45, 0], + "translation": [0, -3.75, 0] + }, + "head": { + "translation": [0, 14.25, 0] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/wood_set.json b/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/wood_set.json new file mode 100644 index 0000000000..d0c6faf9e5 --- /dev/null +++ b/gm4_furniture/assets/gm4_furniture/models/item/furniture/set_tool/wood_set.json @@ -0,0 +1,108 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "gm4_furniture:item/furniture/set_tool/wood_set", + "particle": "gm4_furniture:item/furniture/set_tool/wood_set" + }, + "elements": [ + { + "from": [6.5, 12, 7], + "to": [10.5, 13, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 5.75, 8]}, + "faces": { + "north": {"uv": [5, 1, 1, 0], "texture": "#0"}, + "east": {"uv": [5, 1, 4, 0], "texture": "#0"}, + "south": {"uv": [1, 1, 5, 0], "texture": "#0"}, + "west": {"uv": [2, 1, 1, 0], "texture": "#0"}, + "up": {"uv": [1, 1, 5, 0], "texture": "#0"}, + "down": {"uv": [1, 1, 5, 0], "texture": "#0"} + } + }, + { + "from": [5.5, 15, 7], + "to": [10.5, 16, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 5.75, 8]}, + "faces": { + "north": {"uv": [5, 4, 0, 3], "texture": "#0"}, + "east": {"uv": [5, 4, 4, 3], "texture": "#0"}, + "south": {"uv": [5, 4, 0, 3], "texture": "#0"}, + "west": {"uv": [1, 4, 0, 3], "texture": "#0"}, + "up": {"uv": [5, 4, 0, 3], "texture": "#0"}, + "down": {"uv": [5, 4, 0, 3], "texture": "#0"} + } + }, + { + "from": [5.5, 1, 8], + "to": [10.5, 13, 8], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 5.75, 8]}, + "faces": { + "north": {"uv": [11, 12, 6, 0], "texture": "#0"}, + "south": {"uv": [6, 12, 11, 0], "texture": "#0"} + } + }, + { + "from": [9.5, 13, 7], + "to": [10.5, 15, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 5.75, 8]}, + "faces": { + "north": {"uv": [5, 3, 4, 1], "texture": "#0"}, + "east": {"uv": [5, 3, 4, 1], "texture": "#0"}, + "south": {"uv": [5, 3, 4, 1], "texture": "#0"}, + "west": {"uv": [5, 3, 4, 1], "texture": "#0"} + } + }, + { + "from": [5.5, 14, 7], + "to": [6.5, 15, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 5.75, 8]}, + "faces": { + "north": {"uv": [1, 2, 0, 3], "texture": "#0"}, + "east": {"uv": [1, 2, 0, 3], "texture": "#0"}, + "south": {"uv": [1, 2, 0, 3], "texture": "#0"}, + "west": {"uv": [1, 2, 0, 3], "texture": "#0"} + } + }, + { + "from": [5.5, 13, 7], + "to": [7.5, 14, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 5.75, 8]}, + "faces": { + "north": {"uv": [2, 2, 0, 1], "texture": "#0"}, + "east": {"uv": [2, 2, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 1], "texture": "#0"}, + "west": {"uv": [1, 2, 0, 1], "texture": "#0"}, + "up": {"uv": [2, 2, 0, 1], "texture": "#0"}, + "down": {"uv": [2, 2, 0, 1], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [-90, 90, 180], + "translation": [0, -2, -6.5] + }, + "thirdperson_lefthand": { + "rotation": [-90, -90, 180], + "translation": [0, -2, -6.5] + }, + "firstperson_righthand": { + "rotation": [0, 90, 135], + "translation": [1.13, 3.2, 1.13] + }, + "firstperson_lefthand": { + "rotation": [0, -90, -119], + "translation": [1.13, 3.2, 1.13] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, 135, 0], + "translation": [0, -1.25, 0] + }, + "head": { + "translation": [0, 14.25, 0] + } + } +} diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/cloth_set/1x1_painting_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/cloth_set/1x1_painting_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bede5438f50e504124eb0950a93778541991210b GIT binary patch literal 280 zcmV+z0q6dSP)Px#(n&-?R5*>LlEDgsKp2ES!zZXEL~j*AU5o7fPZf1Fi0W2^tiFO>+8wFo-07Y?PI5a__hO)E(#BHK_?KYcFKN=k*plXeJEKZ#u-}n|#1#lVoY<2tMaSTF`_V=U-y%NUe#lYxKn$ e{694m_%oh8zjAQ0t#s@F0000~=E% literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/cloth_set/1x2_painting_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/cloth_set/1x2_painting_1.png new file mode 100644 index 0000000000000000000000000000000000000000..069d5e6cfa0894e36c30280c21fa039f1274791f GIT binary patch literal 388 zcmV-~0ek+5P)Px$K1oDDR9J=WmOE|&F%X7-BQ62gh(b67qTmqF1ZY><0&Rgr%cFrqP#_M$Be@0~ zBUE0^_=SNn6yfi@_Uiv;Y|j|@?@|D;+yDIe7JM~6004{G%9`sBd+JeuN@!A>r<50f zn!BR^Y|6kn0iF@L7a+!5DtZgRXMR4N#SEPQoAow2?UK=#0059@MQ~xNEU+!ev%&(Q zW9jHE0ImJu*SUDJ-iiZM%@6HPtAsf2+#r%-8PMibwR(+>rL#~1xXdZUcrr=?;cZ4V z{ojKwo6EBTPx#=}AOER7i>CmOTrCKpe)OKiudo)h=l?_(fXkTL~^M(bVKtL(mj7^eKYcQYXdT z_G>y3(j#Axlb-3|-k#q*_eMep0RUkX0{|AbMHrDt0@O)@0eZrb=la6n9HwOg032so zRNB^D*;$9w$a8&V0&U=iOpRV)B&y7WQH<;5hIgJv-*^@goFeEkw?dt$z5h(V`FQ3KYzcW!sQnWvaU+biA!+YCV7+f2$R~R z(u870e)%J5626ld-`}r2s@3Q%bC|(VF|SR$|GuFC5Y+r^;c!VxZv13W@&BFnwG5S8 z-0^n*4nPz>@%j9U_fXg(s#Y20~vVy0(Ypvb9Reb*Tnj(&;QwP)Px%O-V#SR9J=Wls#|LKp4k=jx3147a`|lrRl^HsY%of2#Jx;!PbchF(NVX6%Z3s zH$DdgLn_M9Dov{tiaHRg=xkNCE2UCZGqh*U#tkiUU?9Kc&dQd{r23c2>|N3y}k+nh{Fi`=-Ze$j5s_vL?6(^VRSJ@ zQF@W*NhTA;?r@aZtJgG6O;DFEJ6i+x_p*D1aOm{90N9;gw=ko8W9RW<;dzqX;V5(IO1p)x0^03XT9N&|QO3Ehs#6n0 zQA|g=*dP0!xX!=I2bI6{swDDf^EUh8qX#o906$AS4=R(1LaCt8iMDGEn08aJPEA}H zWM0^Lo8AA=M+gT;h|Hqd0Z|mEj`eR^X}5k6VO_fE+*biYIO&~v5enhps{nhcxm2iu zx^(d`Gj%QxYnAJMH!)jO)9H2D*&3t?05JZZwxO>A>}SuPRtjrZfOhJ6GF7|Ae2B~n zHkO-o3dHTJfH;h>9=99GU8f4bNj&BK@W@(i))Ij2acEsPxId+$odf9k_Bgbza{ltg ztEAKbZnC+*v6%?r(BIfBEr`lVJWW5$c@a{&L{a?PcVliONs^dj8Q4W4EbH>p`TXS| zF~>5nR-3h?dfNtIdV0q8IJEBHt0n+nkEe5QNn1My&~tI;)`j7CwkS&ppvY)uJMYJ+ tGCe&@Kg{`mL!k)&aZC#qELiY&`2m2$O+PQymjVC)002ovPDHLkV1mswIPU-e literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/furniture_station.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/furniture_station.png new file mode 100644 index 0000000000000000000000000000000000000000..f92c4d4d18b6e98901852d95b8b27b18091df204 GIT binary patch literal 1215 zcmV;w1VHPx(c}YY;RCt{2n7?n^Mij@tG6QFN z{U7u{XptpDktyw7po^!V@X`Qv2cu}U6m=7!fFU!sOo_4r7*Gf5ogR-zN|q&x!+iij z$EQ1r@8{iP>D7xT0}N?j1T@6jx&uzyZx0?nD;+$2B<^u>9-@2M$42cgWSLztv3|!A z^1ZKqEFC<3G-w<*vH$$A^u;G13|z;;cP|^IuODs?{2;^+M{i1)BL)Dx{P{N_SXnJ+ zF1YIS#Q5Q7pNetw9v~xg9ZnOf8S`~-tI?Yd~qJ48}wj1k?~r7i0Wk@03vzC6mz=)88B&pMPS52ySzMh zLA&>EG-hi7u3Uuel+g`(=w9~G@PYa5g^*a_$Svpa=@VWCu7=V<^GDH?s@Kne}FwMKNJdY??k_Ft`s+?EJ zcnu(B#kI5z5~>=o2vWB}+3TwC=WFGPFNd(_S|TmdjKb%4FZ=nX0H9Wq48aYORtse0 zv>2DyJQBJ=FPF$LZ% z9R>hZJ1n=p&6Bsvc9`Gi`~AIvT`}?bH$UZORAUw%Y#cYm_^Q)G%ManX@dM85le2_O z#;%yTggvJ;ix(pEe872Q{QAqE;)3V5Tnn;(`}WJ-0iQ<^u%d_nF57>8xNzecvwDc% zkN<`1Snym6eh?Xediwg7CuB5_y1qqY$lfC+jR0;yQgR%A5MmPrF#r&GkK;NP;3qpg z`3=qeoewi_F3)c%?zw2hQTXtW(;F?^{rJ7uwd+KoPfDtkrSzcJUPZu&9fM6HV`@aZ ze=WwemfwSvBwWW*8e@?iASc!ixBJ(zkBT%SWxc?Z>p~tcJ14~eA}`(4`{Tk`jszf{ z7UPcGd10)qmH|IZczn$?lrqjVN>HsR3Zr*|iU=SX86qt$IC8%8tYE1uBIbz76 zI7y`^iW0`RLAYCWw&xVBdd~_2KrB}Y*}GoHO8rfv(P%UpjYgxPx$Y)M2xR9J=WlCg>cF%X9Th?Q_)AeG>;TPO!si`dy(`2dzScD6o-?RLJvK7h^H z+FNb27Q48dRUm?}ZLaVpW_9;C4$FL1l9~DQXC@34>{ne40NfW)sl<4lv#Pu}3^exy zTKyS{BtmDpWBXNCb6hRN^+edt7A_+!Ie1-OuvUd9$)Ff8_S^vS8f^>S)vjR3>ZZ_8(rY=WsY24u`|x ca5!GZHyRVzqtzxrX#fBK07*qoM6N<$f|mKd+5i9m literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/metal_set/gold/skull_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/metal_set/gold/skull_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb9acae99a369a323fc6bcc3933c4c4a1d67990 GIT binary patch literal 586 zcmV-Q0=4~#P)Px%1W80eR9J=Wl`(4+K@`V-E5{Xwfm?1N1Tox+XeB{xQV2o{!6Kwfz}C{%FJNzb zr5|9^9VrA0L%_mb1PyY#+#w=Nn1z!R*PO-eo1590+#cBOui4#sGxPrM&AfdPHGCUB zUc~)`&Vv(Y{Q5FQ=Zf(~M!dTPKs-nQ(3x63Co>LDi)h{ctvUgY^W);g`V^0Y7W45uT3{@b9h=rwE{fn@-8CI-=Z^xp3Erp+(a%}5xQ|Z_oM5tIb*dMxV}v3gani}aik|RCo)@@5#o(aH_U(d)eTIX`Ec66H% z_YwA3u-T5|=2ZY;qNaw1|qEB>o++9?g$^T+EBVcW_ayr%LH+L5RUq1czHkGIaX)HGT z2RkbflNmpL{srLS{oBO5TV*-AIG0cq?;q?0J6z~TV$YNHfN4yt_m!=op`oFnp`pR% YAFjIk!6h**J^%m!07*qoM6N<$g3PWC`~Uy| literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/metal_set/iron/3_candelabra_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/metal_set/iron/3_candelabra_1.png new file mode 100644 index 0000000000000000000000000000000000000000..868af7afeac8dea7508c5725362bdbf441ad8e30 GIT binary patch literal 427 zcmV;c0aX5pP)Px$Wl2OqR9J=WlCf*TKorKmNXLedNi;YFLZ%GCAQZZ|xw>X`ck+*Nbt_KI(n%~1 zokVa5m*XZ8yT1@vwE;bm?eJ-JpkH z(1$21tXE4Xj56|k7u}!-B_wv6!nxVCKetKTZc_p+@|XWJph0xD+Gf+ z%p#v3TODun(+zO2*%?p9m@z(^aZy$}@B4hgv*$tyiCccU0Y1b@jM;oa{H=u4rT{RT zFDOppTCzDg7gIuF_?qdPxaG$PQ3pH;yJ@)J_~YaG>D(z1lrBO>8SPv<(lL+}&F~-_bR) zQ*bq7{{20NQ`usK_0ATEAK*EdF7cM3=!7zJjbcAf0ox-D3DzYH4E!hT8N6z;lYn+H Nc)I$ztaD0e0svJWITio_ literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/misc/candle_fire_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/misc/candle_fire_1.png new file mode 100644 index 0000000000000000000000000000000000000000..04d7f723894465685859a990e67eea1e0a60308a GIT binary patch literal 295 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 Tvhs4500000NkvXXu0mjf^yVLw literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/1x1_table_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/1x1_table_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8782a4d60c1961bf5b8de9c1916b717a7c6386e8 GIT binary patch literal 1335 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 Ee^*e^NB{r; literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/chair_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/chair_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a3780d6475fcad02c71c2fe02e0f90a3a184ad32 GIT binary patch literal 1980 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 Hu0mjfm={lx literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/stool_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/fancy/stool_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4aaa3188c3e51c7a34b2fc65f4978314474f4be8 GIT binary patch literal 839 zcmV-N1GxN&P)Px&0ZBwbRCt{2n7vNhP!z}i##c5qf+FWCmDmDOQ5jgMLLZ?^`vBc|GPXWIyL9YW zP`h+U1rlVdTFaoQ6_#z;a);zN*B>z?A&oKTx8&T|mi@oy)7HM6d`$pAN*jdhUZ-o- zrZoV(I((@;vqS;_mLX7u7e)Yp-(IA3Hdhlv=s0t4v|YKDgi(zCz}NP-Hj-6S;Ix0O zbvt%qJu&dP_bc;%}@36>#X2ps@m8hYssf-r_5bc9h1 zcoEhu1FNP0+#5VyH{k~nF!1r$3)5@-AWH4;KmTa^TN}x}s4YRL-aR?}mJtYyJ+4Lq z{q_g`)Lsd~IJNyCO4t2?uVLT=7>ZV}$*=Dd0SrA%;wM2HbJ#t=#bqA=K;aBjM*sj& zsE1LUIi{|cL7Kd(c*k)wcHZ-ZA#@D9V7Ty#wSaOT05&ZXKsIX5+?$1Y_O1vu#DTH+ zAH8z`Kug-__0G|5%k&~OMS!tziUwflar$4~h+Vms0QC?LjB0>d@PMKC7kke$c3Gh` z4IS`?wkqBg>#XVra(*DnG{fKf_g5Y z7Bboh`c>Oo9Vw)M9OXQvfaAE>8`%H~>7qiS)mB$`R>)Aj+HOloX+ui8viK4C6rdVF z$Lh=qP@M3}ph1Xc0D>xf5XKqLtNmZ?0(C>E6W(F>AU%*Dg?F|)sd(BbRb(0Yp{I@r zpy=JQQFziC7)OC+h>Ykud!Cr9CCxGl&vU;;pw06-{68ObQKYZK`Sv#H)fkxE4IU!G zaa=f#TktxOxAQ~MLq}XG0!iGJdyUp;GgO<_OoPylkKZQ%3SPb~0*;Q}HKGWv+4 z5v_{PU}a2ue%;A@4|x0Lb!Aw8`1omIUuTyEr@%CAt%)sgsv6L={0BG%I0ZNbmi++B zCNl?6pRXE)n?_m#?kcirb>Pvb0K+g0!!QiPFbu;m48t%C!!QiPFbwk;_y<0{sA|#A RTzCKg002ovPDHLkV1o9$eZ&9& literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/1x1_table_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/1x1_table_1.png new file mode 100644 index 0000000000000000000000000000000000000000..301b52a15566ddc7305d3dbe561d8d6a3bf4a332 GIT binary patch literal 834 zcmV-I1HJr-P)Px%{7FPXR9Jl7b@n1*!NCPU|)k{}N~1deS-n zfyzZ{HxwCF34>LHi7|phd~~EREA~!z0usIIbRWC#cHe5HLg(^y1%_kK1ptgAA$}z2}V~WH$ z5{Sh-S*LN)wWax@Yo|zBJe<*JhIq2v95^~ik)ieC(SZ~J9r*d8YfH}w0d7!p0yR0RVz-h<@)rWqc5h@U-S9m!SO;fo7|= z4!xWo9Rb>3RKl=tAK}0HO%wIZ%k{t zD&Y1O(|MAbAKgBx<#eSbWyl+jO2Aa2T!cKoG;X|kfy!hF+yr>rs;@72tB-)^JE^wI zp|)ugDUNuuOoYmt5=Y_cyuHfWU;^Fp?4ncHvNaQy>ReYUI&!g?YxiRdw9pxA?xN60dA0tE~e=gypQu;VfB0W7>XIn zt^*7o%Wf#ly?{`5w^zYV1nP|ns?&|J!;+0UDgYjDtKO7H<#A1Z{q9YG4C%z83bW|i zTCx5&0o9=CLqa8z2MI}pI&jg^SeKfACcs6wkNAea{^TM=i~e2!NMg*wVaY~y>f|Rv zAp5hNgWeChrGN&N=Vbuf`$FEZNX=?bP@z+N9t15iv}=RO(>VbA1uUSmzsa0|IRF3v M07*qoM6N<$g3zdlm;e9( literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/2x2_table_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/2x2_table_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c63197276e8318a6ee3a184300bde444260b0e71 GIT binary patch literal 1963 zcmbW2i8s^@7sr1_wy}ilBSU&pNoW}2u?%A?A&N$1cpI`zW-M7pC{HQtW68W2TSyq$ zx0<1{Wp6NEG9v3}rk+9bM9eeKzwq93?){!~@44rm^Ev0MEX-Ql8UrTTdf`Zx3F(J-E@DQ%&B?*BH#zu&hoan%rhiR9e%{$b;yQeYNv#+?wE# zrHh-+1&5XFWI|MC)PU*BodKH2F~E51k)C((k<{@v1Ah}(I<|zunt5Ya zX+bhCi14BIEgY;@4#c%xn9(XEUUnuB#lx1s6h$FBT=x8>qbPN%{nL)O3SlE!W@5TzU2A62Vh^g;2?^ z*k@9S*r!!b?|Cv!lLB+4n-==(dLs;1$Jh#OrdJ~FwY${p&$11!*6iQ;*79m05Cl*t z|3g%=YY%{HCiC!v8!+!mwl&WQV9IyAE_$dbkJuT$Y@jqCG>Gpk`l6*F1N|DFIz=`GYFAiTY91n%u5fu=ToA25e0kW zd5)762v1uv2VEhXE<8D_q5W|6`ZuAChKNX*jCyDXokk?)uPf!$)+$Q&zbqy4^J;oG zA($-N3y!wy<+$A1Mt|%sWWe?T-tVLfAAxK|O7Viuj`NoR9zyNEYaHZ9=c!Fk;qO}vJ;`{5h49k60w=opKb3)(q z6|K)u)cr8~q#IXQGH&pz%8){wRSXRcI`f5_?mrL~f5AJRwCR@>{ZS-Nbn7#Jhc_q* z;-5KAMVfN_#VaB{*HySK*`J$rzC8|ue~|!t>^>}5df{zbyyCCw z-q?4=*c$-RmperL!9A~A-R30s0z6F4lA3Ob@6OfaNX)?W>q`q#tmxny(oddC%vL9N zdT#Btz0Pzq45r3T2x=wOd9zWy+YfQg=)nN^;S)P~02ZDRw;BEmJBbj^`8bIABQsv- z56L zKm;mM`K<7?q~maI9UHCS;p=CFJCK#>F_bo#sX0?^_+CM5nv8%p1Nd~b{z}l1 z|I+cjFTO8zb7*fBS>Q1B7fMr>S*#3FNRB7fe!S=R>Yv^%x5O8vW@xL*kXNjA%Za_w z5z(;5E3!k!WJaJdxg=poQXg&=4nUHj@L;2fktvLYQI=-Xzei#ut&4f(#CE)@m=~3( zj6k*0;8IzJ@Sb5LewB0-?Y~^UL<$Ez?Gr3bSm{)hO1k^W^_k6a;5*kRw2CWszC>)l zDsK5x6*RbNE5-VgWt`#t;~37AbCZZUb$Xj$zp35y^W+hHdqxY n7Q>lsWNP3rdNTjN5z-Dt*26rgK9iI>{`UnOY@Co}D|GTd^Rut- literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/bench_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/bench_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2de66faa9553419531a4b37f0cf70275295299f2 GIT binary patch literal 1205 zcmV;m1WNmfP)Px(Z%IT!RCt{2nLljXMij@n8>m;QS~EoV;0WJ5`n_Ux)DWyS!(1b8 z)7jYiPlky#d2_vP&83S&HfzlgPai+WXS<(Rb4dhJVqSplA*i+-7hfr#>Z^+%g>{^t zO`PL%g6_c)MyD4z?7jy8G**`Y0Hf23j3Mjf{FA3#r?`-1faib0J(x~pD{I;nxixk1b|jfWM-qG6F49%n5qvUy(Kz3$|1cOy4p$?K`u%s!$iAM zbAfy%ipJz~zf2LV>XNAm=Mf&$4VqS*Jhw~!D6HqESP_DgVS?dcY}|wl2V?DK#buM@ z8mnj=VD@mn{`L;K2S-LbkAaG5JFHUH8z99h+JE=qv$?jvoXmFEGy+<)HvKumz(Evd1F0}RDOMQZ>o;E>l?r^ zoeyvumpCT7#_H1CM_`=b-QfU@u$D<;x{1_gj`epYhu}}`(h3v+-W?7K=avZgI-C+q z1*XeZO@S^Ch5Ji4Y>KtW5f~>}Ua4gQo}W#`(;4;Jw)&EaqKyVHo@rha)&kh8Px&dPzhToxcW(dyw(Bo7Zs^h4`;8i8@=Vi}=vOSDGMTf%^}QVcfVb!q zJ*0PfRt=SrC&J_ykG}20a|6g@$Hi5dCgap6j?G$}6d_fZx(iaI41g#EBpL6mNQM-kvCEL=Js&zg zBr=;+EF?VT6(BNNv4Fu{yc6iT%$TMt2_;0xW5-3`_EDM4Sq_LGVw8wkIRM1+^2YeK zn8dQU2(JQgUy1AP>KxeIio7PnqS4F{kU5|87&3ea&Z&gI|5 zIol;2W5-4F^ira4vSkhd#7FWf@Y40V7BpRfGx9S}OO_+W0xWZw`@ZncAiXzf%f@PNU{RUrRU!%e7&v(`Bme2B-2%oW${JlHW&Ntk`D97 zFL;wVE4^ujheD+l3#h+%%;svk0+~JlaXAKnk8cmczU?z*0I+t|Q1RhwM;bdWN@bNT z8hQ9=WfD@K=LYdvAfocbSX8neYV`_JiM1C}=8`G}G*`av-mv;^e*eiTo>nX*<>b_% zcI)^sBn9*A0t(gHmv8Yl+;7wt3wBW7+leluSH0xqjH*R3PpkEW_==XkmYg`b77WEU z5FgW;t|YvT6-YmF(-cS$;N>`JwNqm%%KzIM0YE~^zr{xD_%Nh@HTMiJ*r#1m)&*JI zy9olE=ll)Xd^EEk@@60000P literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/light_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/light_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ff3aa733fed487229f623057e84c674610a172b7 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|+B{txLo9le zW9|ujh!5zP-3SB^|L$JTGm%$X;`Sk*f5o4Q3=M#w=Kr7Gg;`f6-PmLrIG4=?Dq}p> zmg$zBY|5}+N3h`~P)`A0&)>hF&38x`%~op=j8>SG#L&G!!2Iyz-}#afK#(HZ>RHBk sdZ)7aL&e&6C!{CwO0X_&0GY%v_ot?Z^1+>~Ko>E1y85}Sb4q9e0Dz}TKL7v# literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/stool_1.png b/gm4_furniture/assets/gm4_furniture/textures/block/furniture/wood_set/plain/stool_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f0827711a51722273eff1509816c6833bb27538e GIT binary patch literal 784 zcmV+r1MmEaP)Px%%1J~)R9J=WmpxD0P!xurL>>|+cH%Td9e|K72r@(hh7PC$6aS%fsyeV#^p_xY z>Ch2%=`UdFP<5bEg%lw`ELc&>l7xhOILYP?&bhH&LW5ML740iokcXbK0w7V<_#erLEO;EGv`rp+A>L7CO54P zRwgmkK{RRp!;R;MznZ_&ohc$m2fHrZ?YW(u(Pq~?rp8O z0DD_2?#{-dJ4^r3_0p2M2NX+r)=NvX^pBP_$ERTU9xw|;XYMfs&40(U&%P@fofV?R zQl7%X zFPK44M)~b2AWz=Y#W5t~-rIwWoFKUczv_3%HcA1RAkdI6tH{W}R43~i2jY6V`njxg HN@xNAG3OZ2 literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/font/furniture/old2_crafting_machine_gui_1_1.png b/gm4_furniture/assets/gm4_furniture/textures/font/furniture/old2_crafting_machine_gui_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..170b2bb9050d3bd27088af4803b8865a3d818416 GIT binary patch literal 5752 zcmchb=UY=@Xp9iy+S$$XyYJO~70exRjh2m*nD zOEBmh1Mp?(gLOW=^EK2|1(g$cS3sak(ht;Bi~=*)r#;*qN5VS(oWM&zshPemzeANT3~mH2WmB98 zP2@iTi7}o2?8yMV@`vU`pt2ouT16KqXrKU{A$bAy!Z8q_d{9h~|2n7<^YAZMd{yxkRA2 z>MU5jmF{Tr?l1*jFfixQ%t4Bx28J=sny|2zqEI!#p3EpME3eK7YSl@Tm%@zY;uro{Nn1 z{g(BdkrnaXiVvqy+SPka7$mX1^!V+7lW<(Z7V2l@8zl+&8>?sxgBa*l!283O>8>Rc ziJE4Iw{j07eoeYULJJ>*oEJ@Pz7B2W^hwN24fnMsj<1GG>mMAFt;nR+@OPF;BdA57 zlzwN}GOHPFY2SWe^@BD=EHJ*pkDm5$ZS(p>v>a%-irpVC*2inQ@>Jrgb7<;r{>sUm zC%?M3-P%iPrMEeJ4@K_1r~U~u67Ohv%Xh`9j0ehKZ1$f1vx?TVnQ$%jyMBoqr)0AmxJ2_HZ-l%p zi@#FA5v~*$jZ!g_03Cj48lklyZAL7m#>TTAmYD~PPmCq&He?v3HSR6_Y098*3c^Qz2(SXjw!W;qRp37X0S3s)T;-F>= zJBz+L0K{UBm&T;kxc$BP9_(PF#1=P+{zqdjF8uD%Y(@2CHGx_!e#XDE7qTyz(RIi< z`}_;?*xe|B*!^L0%5p(2AcwJQv^^p8&(Dzs>QQWXTqv!%aN)MEN!}VC|D5O$y<`i1 zi7!`HxlC!kdZ6PAx7aTd2R04|eK-qVUJbt}Hi6sU4PHu%RdUNq#DMag#6gE9=Ik`S zT&+XTCzPJjoWf&I9G6k?aL^+kf2~n6+5O7%tPkM>4fVLJ@u`n@II}Dt+cJO#jCts8 zy}S?DAccjAz1TYFjlqfsdSIlg{3z_1PI_7S z-_~nK_0iiB7fO15R>Lj`@%w|db{2g_FtW_py7Bt-lDfz$phWV5bM>@?@;4;n53)?1 zFSVwjtCP0i{@ktH&B%IvdXKyIu7zoz2}u@)cjkNLoJGG}(?DQEl#UbV-dq%ZyimX@ zconOfXVN`x!vn9cUHZ;_X*WT~D{8)PWt-9Nj{Q#8Df zbFR2>&j8w>V5hEA%2aFR$KD+$&sAqk4kf3;6|5k#Cr`X~PC%Zqzw*Wu7J~x3alial z;_-`=8{uR-_AZv;aq*k0aO}xV>bI|rK5qa@d@4zO9^mB;M+BSHJrX!=GV)}Bc$FCX z70bQWz3#QK)^knyM9=!h{+EcOhWo;%0V{2Z+7azeRZ?QCH+eNa6<dV#THQhW>) zE>vj?F8qL>y^BaBkt^?xRxFm6?J@Iko8a;^XE-kp`Aq)u`S3!I7W0dX{3+J*ho2Iq;p0K4t(t?FegzKD-M{h$5asLHRw37gz z{R8{fk^4fuCw@|#1qxe(ZkxT@73L8pWH^^U3lOxqizRPL_eHio+UJ&J^l}bgu<|YT z9GTNg-kz?&+Jrdm5{73fBBlWwBc%7rtiE$)y=^9uBJa#WIXj!iEw7v(HM+Ol(ZH3D zzTRBH6se21m=#aKoi;YkhPa>AP(VLF^V+`j6;b&lbd#)nGT}8EB*z_~xS9FM=CF;g zL%IWG`2Z2b#isTIBZV4s*5%#vG@*)5%cS_AYin;G9G|pfXc9a&`c~IO6zxSu=&^D_ z&ND|TUSUVYABhzkf8E^N26}Gym~4-}kxQK2pK7)|tTg;1>_h@PK6e>pM$mQ9<7=-e z(H-@8?UMDVM|w*~tF^~|Qx8*oteoO_O^#Xj#&S)fgRQh=yHqSw-=UF6&;~J_rs*vU1w9S`!-RU13vGx&`?wVXDVnLzN=n3mxAX$LqwVk^GF+B7d$CjMC9 z=ju{jxBDrnUu>IvB8!ruhIWkmIu%~rf8 z4vFp^V$z>{`cgHo1O(=KjskNonz@;Svq~jSWe0mCxhvrYYK4G*_)o6?b_2&gzOmW} zrB_E{kOBpD(L;*f}!7${flIu3-dOol$mY{NQ1AX30p zzYLf=s>482&{h}M)_jK2AmhUG=hr=;b2JEp)pmXH8P{oZw!9IVP&N)LR&nH8< zTvz+181?CgQ0L--df^iHdJ4zm3*I6T@!3%9CBCS7N_r4zbzl}R3A~FetJPa1zT~Sd z-z{mdn33R|5M96^RTJq5kqZr8dYathEe(D^YsK=xBsF`Hh^;CIykrtI%^?kg5=^D% zX8dwNIqMS)c#N4uQEvN02G+3Rbh{eGXvZSM(@a^S;XWNA`;DC?^0#X@6=P@Y! zfSn^G7Hf$=GSO>Sgh`I7=1K=jp0kI;`i(c{_bei=#u9mzGa}glR(UK0ZLwV9lhex7 zvARgzUC6&$lG)D;MRTbGWMziz>@1986PiHLQAmU)POA7RzVT9wM@bSu-z_)6 z+}J!pn54Df9JWSWawZdla^1^}LE>8h=M>j6%ET96j$pB-YtJM-#C!MA8KD!92wvkZ z`dpzGu}J*0;g;KsA(DV~;Ei3DuGq?aJLLQ4ZHQ#39`x|=_klX z0ZF>2A`$G#(D6fC%~M7HGufsRR&37w_{@KEnk)m3G(ZUEY7l|ISiO~({u5*mu;6pG zUcZ#u`&8}up4~-22XCOwiGEmd@NB-GHEsPfOVNDpyERBnRWSGd8WNxXDqlp8jiDP* zwZke=;fBTKpEBUmxj%D2ir{%2A-}NvF#SgXg0@$8EFpJ5*98IS?Oh;;3*cx+B4!0~ z8bz(WbiAY0U=9FipxXD&qMMT=EmG!rNKLpQ9K{O5$I}$Bq&z`jxAb6@hwCeY_&L= z1YI6#F|7vu8^7B~e80AL-&57wZ6GEX29>%MZI{%lEPnA6lsI74VUoJ2u}(U_{q5c% zxK~8AAx=rILGhm*Nk0Hlv!iuo^tA{Vz|E0d(hi`izRY_YVPs$$X1fUub#;QXM{{PC zzCvwlg1>pe-+`h!r$~c6%r3p{@1(2IN1wQ{B3V4>tclFP7UX~IZ?bad>vBNEtiFEw zQ8W--^Sl}YFgENN4C=KUK!zQVEe7SC&p3ajRoQ*Ij9|hb@!?l(Pu@uqFsRsZk8>Dk z=LH)k3u%VR(52n~1oA_NxaN_F>P2=rSU+b2nEjC;yO!P{H~HV+_+d$cim$~u&X?rZ zxCanURsYdR_vu9x;+$B31pccFWVJQxI$(nwM!YBDJ0SO{L_|snpCiOMs+aDgkHbYS z4C+V$!G0a~`?Y?bXV~>5>O%zIol~Ke!cVlO3P;qx?a4wA+(4__Mk0=6u8&EBw?uAL z&7HmxpmtvOE%<+@$0f3Ln4<7qXXPv@&?!?aQUI|ES3@th^FP}LqV^?VI)6a)XbjY> zrhz!Rlh=a+WE_6$Bgm(BK^2IM$HU3cu^fip2-c(U?*PCm#>brDUILE=ZMlOF)~>2O zafI-YpQS;+UfBNTU~%5^dl4GM^a236n~oQa4rKa!YJ)3_?Mp-TwoIU^LTT`qJI~)e z%&R+-7$TS}3^axI!`i6^8ny=UtVX~Aw8c0?a95oE>If;BFIEZ!I?Jp|lWs##Ge|Aj z9Eyz?06L()7%3|=D>fCneE-N34m3vvY9U^tW%IS=(@|w+j_Rp=UOM*V_u7m;yUm5Y z-3m=H<>8~Qby*o7ER`+leGQzQi{3wbcVwdJ%yTqKR}EMMcD@7)VxC?(C>BBw7_+M% zqNPl5!Ro}nz2{)J&%*tK8S=7qgx+}?U{0D%@2ZP8e-ZY5bhn7X(qdX~!QjE!Jdo7K z#~`I6WX_VWc@T$`GcE`?VftKK^?t=L`eVjoooCE(cr^{!Y&H7qPql_nWzkQ;e!IJ( z>s)l*JQJSy#)j}KvEp)44OeHwm$$n1zx}utW((|uPTPX8KNxHH)QY2zTyFEG(Hr%| z>gxK&hATLlD|zV?6hTK|M0qr2-cA9+FTQZFXS^Z@@6kvY%AddF<$<#(406hEf6@}WPM$EB{%YS>K9J!BZA{yn;J zXOeUa^z!%BGh9EGPK2`Gv*v)?IY*n}tKRE~n}sf5jbhx1InV$uRure%be1bPDuD9P z!S}G8&qT5)`LNG6S1J2Jiwn$>pIJcumF0B2wJKP<=@rewsAPqev<(nMbPdv2xyymE zNvqQ}7$0pbC6Sjd6LKcU7_Rp@Or(T8(?ZWLFek0jKn#jECae6IAn=-AdRsRKO*IzN z9RKGbgX8N0WoN?D^}U4CC{umHWsSAlhh#rz*x0DF_Z3orTy^ikc!Ebpy{KF&Wonz) z*LU}w3SPHC^u~uvjYQVpXzR268{Kr}2%jO}OPDER-J#!cuD)#aP9!1yA@3RczvLgx?qBdlGX zXkfhGHEwm&j#zfy*>)QL;=dq9TIAe#Yt3H7d(-Q*#0DG$RND}}c;7xwnSeKeZ>+( z$@-XnOo@^PX4WD{pAm)2>17)TI53^PEPMELe*xoVLy;3UB>O=wLW;&=f&gkDr1+@- zhXJjFKNS8V`B_3NdbL}U=>w+(SC&l5OL0j_LCFSD!Gk1)yH(>6X{I-8+5$ByW1eL@%9x+8Xn1RdBsYBpJE5w36iiyCVF& z<50Ds@V=qXYeMGhDOs6Cdv?~BTevOer#%zv1m4p!fSE->ph@kA>XFvNtSV8@ldTyV;7Mk9% zPyOUW&bKy4=F%wXu;kK`g*Kao84u>*Hw&x?J0RCO*V(Dz!+5=|(b?AH6scNKDs@xm z)4TUIKO#>G%zj-{=vfVxL{qa z-%t_(tCdm|z+{}z_HLQC&e?J2)UgsDF{=d)Kj?q#Z8Bu@eU#2>(C^nDlI2_0sSXw6 zT0&85u!NL>u@|@lX&aC?_?EG-Xdu*+tne1Nit^>f`UvwM#@BxUR6}2Db@`8wvxK81 z?QLpUI5&*Z4)dJ=?mDrzzwzpHEqRcCTtsAC2`OkaSUt{_kd{av*~}zlfsrD*{Y3>g zV~_m$RFPCN^t(^mg)rcw6&l73z9`@m0U|ibXt{`83OsJKjhxe~Ti_Oa&y@$JnctQD z%^%Y|xVrpjMl}i;t}md=O-pfsmtdpTI`7O3{XLjv;t4qQiuFsqn*70x6uZY6&E!S# zWtuLmtf-h8-Sb7G%DBVx&7>GU#lsYpP-3e#-SO}-&78r1%=O_#ORFba>?+d0N| zI`>W+QyD=CEe_$?joYH?sT0et%KO$ zep9UCFi*4x2d|ux4N(Ip!sTikaa==JT*Ng>`mqlYJ;}!E^F&%?@SBh`emKyTgvY3 zK1Fl4oXZ}_%t^-Yr0u_VKD(eoHJPYua~Xft;_b^FcJ8(vXZ<{ZnM)ebD3~2 znPA7&)5ODZz7FmLhkX8wZk1-!t&(zX9=2vxZch~xC?l@2P&&(-biScuMz+p_0tm_DK8Hv5s zt?Qpo>+$Wq_XeG=M~CN$_z;lKubxUxp)}w!l39vKy;tBa&b((otBnNCq+#@$!|e)t-URykqJwA!}fIEEk1tn=-o9a(4w06e&$HkmE7#w zCwL(v#9Lv}l!H9pvwOI_N4B?neg))(^W}Ph7qMAVfQO?f;r)v#8iV2oC8oxG!a}V} zGla*h@|Jty;)lmsa|=w<`xv+OrW%d6wqMgyN~3fOlgEba++9}VkD4c6VUrUarQRm4 z$!$MS1P129rrZ=-)twIOgeY<~N|aA-(={HCbG3XnnOA(1DtmsR=Umu_&)v4Ous5{o zun7wLtOO2l6mnTEOiyN)@2So8CrJJJB{wq)Lxz|pyWk8s`>pa8)1d&W-R)GL!*5PR*!=0_b$jA zh`R4a*3HT{xtA++yf-efor+;NLUW^3Nf5P17pB)s&z21+Wp;+gHD65>_SCA1bPt4> z5IR#RG`V+-HZ+8!gPy@_-V)VHGq<09G3N)=oho`OH4Lpm#DYIuA5q^fb$h;?+Zj7B zaM8)FqC)2X&;G32OlX?ZJvg3Mlw90IB;nm*Lo7(wlG9M}01ncV?Q4&Y0wf`j>Lc4F zxLKuVa4g@zw{u@;=W@Hq%=@o-!vhoi)6TL?B7V#3w?Q=P#R5ftpC#^8ZrygE+ws{* zeSftoIxvm(x?1`*%-3k?$RPV_Q=D$w;n-zwEXQMucZE@MRxRLk<7C1*jl>Zb$cyv) zP6_w9J0}M{9OVbsn%}8({dSVfAp=Z@P$MXrN$cpAhD@&{fE*sPNMCmkZ3kTSzd05y z1N{j81L?)7WdQr7CbGIV&}n~c=N&AO;Bvw^Atbtj6SEd;*A+VYou};_D7Pl9I$@Iwbtdm zRs;+q@_2vfl{Ge!;#J6b?u18*(Y0%@?O)B6n@nKzqA`=4mgmXKaoP6bBuGe)#P>zk zvY%L)eFjIQ41rncim8bSSz2jQErQ99NHV&_n9x}y6jtL7Bu*#x2$_90v0qT64bXZ; z(}J}@q!AXrwjH0(Gl2)s_4GPT?g=l!{_0%CPRhzPxNUjBjXvb_oQsC~MJ7jXL`X$O zJ+Qua*6E2~+_vjsz>M1Zx>3~-SELe=T55D!SkW3RVX>nVXfbc+q%mos^Rr^M_D3_D zwJGL-5%051Zq!4!eS_&3DaGajnELmaatDggU)f`@d_y83yCIZDc`cd8Sp{q9yx7IO zsks03#9{8yOD}G|nAC`f`C_qxXQb{O0}}0JN28r05|_1FUQC-tgg{k!Evcwtv%nKc zY^-?z7koH2z&MN+|78E6@6?H;7LnEr@qPaqY3$5Y>);>Gti}D2coUIj>QDN!*~PwI zupjdsUCU+pMl{(FFYdCfue1-F)>kXUn^Av18I4^3+Bo7DoNig)^cePa7YXK)oU5VH zSMQJj$}ey8o%1d#YD^<}oZgRqWvzMK)xDzIU^<=@f{EYWF>StBR{(ZA)6cv8ScxV0 zg>9&|L=4}orC;4bV3xQWZWE00wp8hyFg+ubp<`}joXl%N_ymh8hMrS*<0KS^|M`ztjgvUD=^i<(ZP{HZ_^ z3XE8ErXsTwz9rgmPF!&NnQbW}+Nkg>9+pi`c|U9Sd2;{lAAjEvpYaS4 z5zE*PnyBzkTr7TWY9Gf4*Q1q$H-DY_UVqaI^0OB4zii^9g8Q2B%#sJx=}I7jIOfcY zzBNPba6(4#?kS{w8szIHRw}0nwOFLylkB~tcpAbD7lzy)mZRpov`-mHY9q>6Rrk67 zJE5~Dk4G`ncNp(;C>omYulxJH4DoHG`tEZtHw7$3KhjV}hceH%Lobe)ER3953$`hn z_$vv;5tlZWgvxYSt!nr!Ot2xZQQU@E(V}hc@lT z;%gt~Wjh3E7x@-sZ7ubl0P=z^2ceaMy|v&(&WXJ}S1Xaf$Krqet@T%2?&U+dD3z(z z#ULAvjANYZLR_C^@94@r2-f$c$N~)o<~qo*|2_(-aFs~8OBe%l+BSL ze-GJGv9`ob4+|Plgdv5$@n}Bc zXq+yY2p;qn5kEiC&Hytu{ypx46g6}i{TH>nyO4b1Vvc+$9X5nVjW8|2ZjL(Ln;7LU zUd3bT5L;QI0D=%hT&R3nl$9Zp4_(EENQ-lxyJf6z76G436fa5*$$w8y^mXg?lBvYI zws&(nP5LOw$2+YK1wPL2t(tq6gz^`L`2E>W;H!2Kc&Z(dSv+-uK8`qdgSiy>4!eF4 z_fU>kW#aD@Jy>huk@z4CZh8dI&8yyT2b7)8Vvpc5=djK(!g89xY`+f*F{60eJVf9# z)tNng2u^GI>Hx1NftY{~;UJ6cYYAMo138$4Aqr#a9{ehQty*;$^Qvd__m7o8ZnzKP z9msWmEh}lWn|)#*JD4XTdy(aa8^N7U@XCN|RKxcf9$2xsK~}W%K*1T*i_Yh)zNZ zgIgJ)pU_Uy%~`|+y}iAN4iTd8XvF$N1k5lnA{YM0hi>UN2-jT;TO1rmS`3*Fq#(D) zHXJryqQRu2POYv00szn5ObggORkQH863d;fk1=}1knH)a@>_XHQ;E-vo72aO@CofI zhW}aMX>wh&#bJf~et*@t#f(g29LCcQ{R-7rWVErb2-JODsxfBtE!Ou-DarCb(GcL} z$_K-t%_+y+L4mK<%6fh?_#-9#n-&{slC{ZoE?)S+P6>&%%fHoKtL_XfI;QyverE1% za8>)zOej|tP~ze@^aJ6F-&45gl|OI`S=xP>RetjhJDW#s3rX1jUB=lm`(+SojX29{ zH{Wb66S|tUyr3mDRPD)>OUb{KsXV0DHUj3mYwM3wBzy>pbtSGf(&D>Pt1<^!s69;TxAz+n+z9CAqh|u@OAG2?s3p z-#njU@1{4p*>A_cQJsn%#4|FTRM81<==(<)f;*=ExpDrQYiJnQdL$ zSN1vXLuS@iCv$B8Yaf#@E_-2T?Z5B*c&7GzfR)@`JHO&b5hPg&xs4gXP`waxU<9S$Ex>w?6!SQ&{$s zB3M74?FN^fXJ!)s(!3CAL!wMpiCexk=IuG@O^^td`_Jf{af@|td17aK9$5^d?LSf` z_WHwye7^SP?I_lLvMtP3pBD5?F5s90yFQr`pJ~;p%M9RnxzAo0w%oCFt*f76ro#HR zrlU{ZE%}u>fx3~ zfYY-lQ?KB6^N-_Ot!M`A+^HKz&Yz$5${`V9`bj9v0FMOcAFzjHdeM0-)_!+Jj9o@W zMY!tv1t=m(+TIqgaC9ATS9Y}ZmM>JK~O+jM0w=rQjK=&g60HgaayefW`#Xt%@Fyf4XA*bx;e1;p&Ckjvo zSVO>|Xd!0(qxHrGENpNl6xlKAtapgoMGcS$Rs|%og-;|u9f~Ff<6YxxWJnTf*PcQG zCEu{+SpHg&=tqa`T^3=;Mjlitl>8F`i`v`pB-E8X#jNnHqnLtB4l{g_d(!^jz3f{0 z5bW$vam&s+4bgGdsF@8FBqBh>nGrzKM{%$K44r2i$zZ&sgNLV`b7l!Jz$j+bsej3X z@-4p(-00XV91KeqNpLVK2}LhyG1fBemqT`=V>ZZ^wZvBL8ZT*|in>rAh!V?9k^sg^ z{Uz(HpV05YG+-q9N8T3a3u|dBOAhHUUKNOU#cU=R1nfZ#O!bI|qm-OMXjs8X5lkrG zZ>V|10=$?Up|=ZiW0oL(4d9iALWLo;a1bC&3l|Uu0S6X#I2E3pItu?D9u!T&jcgf~ zqZ!5{eW{RkLd;sOWQ)@S(y<6uQZqftB-A;K%fkBW+1s#qeNsI%R39`O3yJyl;yX(I zw*ICI7-9!PnjXuXD*LQ)v9ms<2c}7io52+1z%oc;+VvgTqlM%g2*tzFeD-y9T?Dd4 zOoS#5b|;6F9@)}1=6K2Q|H&^ic&D8Zw35Pr`j?ge!z|!Gm{IWyLweI_R6^B2OUtwE z;M!yAG3qw}k|GheRykQRK|lh*EDdb1h8!v_-GHAe1c5?9Q}1hoS)MBOn`q!>bay=m znjh5rHq7b2n2}UC-dLjkA`1WnC;{+*WE`An@t4ZdgF(84!`y%4v9lB0$T1qKq%;Dq zj2KBm71+~ZVKEdhgdl|8s34BOB$T;5MO<<=L{m77+-z-^I&AeZ+Y32lOOL~xBZBHv zBwI|8g#xn0S)|*RQj?ZjL!H&~>qa#Qn;vx;X(S89to||1f4pD$L%OrXEmQ;Ksm&(> zv%{!bO?qYE7J1=L*2z~3PtJ~(Hf8VuVzzStTf zNu)$L`Q!~p%gKjpjyoc5JuQi;)4npdulg!0C>ag*gE~3jbw^Fu>N~(~CQ^BMjeH1~ z7OM(vrp-2-xR4|Bh2_UJdB-%(ZAW?t5S}82#ft&x;J~!U2u9l=z3$5o&v75ahMS9v z#C@OMvO4^Pb`J3BqQ*nHBe{^NKR(mu-H}G;3){n>$1--M4;1nLZa%#yV2zvP%*fOA zBH`KX!ry~_qI(#eSb?&seR5TMCP!%qt3-+);LdP`{mpU9Xq2|G?n0>DWivQ9%b6xa zwe3>F0YF{2;|o@fOA{UtQq0mwFwo@Z4kpqwrtj~muTAci7xT_Z093e}&ss3znFZ@> z8v@^zRBtc4q26$K65n*sz=)0w$$!z6d2z1V5V4lX{b$>KH6_L_Ng|wSLW6@bIY?Vd zFQ+K?z}@!8FQ}4ltSvB#6@mOMmf3LF%mTBANU}w~OeszEW6FHi`#S0h@9E!azi+{O z4C6M&I=`emceCA)_w=$&w2w_sPD^~2f@*SP23x89N0bZCycrR-ADo)&QCcfsoO92E z7BT3-2c9#x-fxI(4CYcp{6lT{L}M3!LTSR=l%Kn=%iKF`-)4 z19LM+eG7_IpA_uyc2>VLJPq@gwt;>y1>;j(7TvtCTgW2y^WF97$idZ#%YW%F|&|?fP>D`lVcT) zU9u66k23=Xl8Mr3G2W7S6`@@8-UA4>e+ ABLDyZ literal 0 HcmV?d00001 diff --git a/gm4_furniture/assets/gm4_furniture/textures/font/furniture/old_crafting_machine_gui_1_1.png b/gm4_furniture/assets/gm4_furniture/textures/font/furniture/old_crafting_machine_gui_1_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6bcf9938443b5bd055720fb48320e6683ea611 GIT binary patch literal 2404 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 p~EOP0AqHAnI{D?bcSnLgc!`G55l^@54F5n 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%0D_%?2tz;Q8@4e@G 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 sx3umEbYoSNr|NX> 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 XFFs6kA1BiSm8p%K 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%0Asy3!I?bcr0(YdiF{Lf+l&+<03W0vF{ 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

%uRDX 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

4b%# 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�cG2}A%K*!?g%{$8h470|i~C7SwF^Jg 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

iP2Pa3&dC@Cwy@=wtLMkqM{)NX~ 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

l^ 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