vore-mod/elements/GetABelly.mod.json
2024-03-13 00:29:55 -04:00

7 lines
No EOL
16 KiB
JSON

{
"_fv": 57,
"_type": "procedure",
"definition": {
"procedurexml": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable id=\"thex\" type=\"Number\">thex</variable><variable id=\"thez\" type=\"Number\">thez</variable></variables><block deletable=\"false\" type=\"event_trigger\" x=\"457\" y=\"345\"><field name=\"trigger\">no_ext_trigger</field><comment h=\"80\" pinned=\"false\" w=\"160\">This assigns a belly ID and coords to a entity's NBT data.</comment><next><block type=\"controls_if\"><comment h=\"80\" pinned=\"false\" w=\"160\">only do all this stuff if there is no belly already assigned</comment><value name=\"IF0\"><block type=\"logic_negate\"><value name=\"BOOL\"><block type=\"entity_nbt_logic_get\"><comment h=\"83\" pinned=\"false\" w=\"237\">this is new nbt tag for 2.0.0 to indicate whether the belly data has been set. instead of using the belly name string like before. since that could be set externally by a command block or something, this is to make sure that wont glitch</comment><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">voreSetup</field></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"entity_nbt_logic_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">voreSetup</field></block></value><value name=\"tagValue\"><block type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></block></value><next><block type=\"variables_set_number\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" has_entity=\"false\" is_player_var=\"false\"/><field name=\"VAR\">local:thex</field><value name=\"VAL\"><block type=\"math_dual_ops\"><field name=\"OP\">MULTIPLY</field><value name=\"A\"><block type=\"math_dual_ops\"><field name=\"OP\">MINUS</field><value name=\"A\"><block type=\"math_singular_ops\"><field name=\"OP\">ROUND</field><value name=\"NUM\"><block type=\"math_dual_ops\"><field name=\"OP\">MULTIPLY</field><value name=\"A\"><block type=\"math_java_constants\"><field name=\"CONSTANT\">RANDOM</field></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">100</field></block></value></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">50</field></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">48</field></block></value></block></value><next><block type=\"variables_set_number\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" has_entity=\"false\" is_player_var=\"false\"/><field name=\"VAR\">local:thez</field><value name=\"VAL\"><block type=\"math_dual_ops\"><field name=\"OP\">MULTIPLY</field><value name=\"A\"><block type=\"math_dual_ops\"><field name=\"OP\">MINUS</field><value name=\"A\"><block type=\"math_singular_ops\"><field name=\"OP\">ROUND</field><value name=\"NUM\"><block type=\"math_dual_ops\"><field name=\"OP\">MULTIPLY</field><value name=\"A\"><block type=\"math_java_constants\"><field name=\"CONSTANT\">RANDOM</field></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">100</field></block></value></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">50</field></block></value></block></value><value name=\"B\"><block type=\"math_number\"><field name=\"NUM\">48</field></block></value></block></value><next><block type=\"entity_nbt_num_set\"><comment h=\"122\" pinned=\"false\" w=\"384\">this is the non backwards compatible change made in 2.0.0:\nnow the belly origin is separate from the offset and they are added upon teleport. makes it more datapack or commandblock freindly. those can be used to help make custom stomach configurations</comment><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyOriginX</field></block></value><value name=\"tagValue\"><block type=\"variables_get_number\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" has_entity=\"false\" is_player_var=\"false\"/><field name=\"VAR\">local:thex</field></block></value><next><block type=\"entity_nbt_num_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyOriginZ</field></block></value><value name=\"tagValue\"><block type=\"variables_get_number\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" has_entity=\"false\" is_player_var=\"false\"/><field name=\"VAR\">local:thez</field></block></value><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"world_data_logic_getgamerule\"><field name=\"gamerulesboolean\">CUSTOM:Vorebose</field></block></value><statement name=\"DO0\"><block type=\"text_print\"><value name=\"TEXT\"><block inline=\"false\" type=\"text_join\"><mutation items=\"4\"/><value name=\"ADD0\"><block type=\"text\"><field name=\"TEXT\">[Vore Mod] Your belly origin is X: </field></block></value><value name=\"ADD1\"><block type=\"variables_get_number\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" has_entity=\"false\" is_player_var=\"false\"/><field name=\"VAR\">local:thex</field></block></value><value name=\"ADD2\"><block type=\"text\"><field name=\"TEXT\">Z: </field></block></value><value name=\"ADD3\"><block type=\"variables_get_number\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" has_entity=\"false\" is_player_var=\"false\"/><field name=\"VAR\">local:thez</field></block></value></block></value></block></statement><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"text_is_empty\"><value name=\"text\"><block type=\"entity_nbt_text_get\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"controls_if\"><mutation else=\"1\" elseif=\"4\"/><comment h=\"80\" pinned=\"false\" w=\"160\">this is set the belly name depending on the type of mob</comment><value name=\"IF0\"><block type=\"entity_is_tagged_in\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tag\"><block type=\"text\"><field name=\"TEXT\">forge:stomach_noeat</field></block></value></block></value><statement name=\"DO0\"><block type=\"entity_nbt_text_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value><value name=\"tagValue\"><block type=\"text\"><field name=\"TEXT\">noeat</field></block></value><next><block type=\"entity_nbt_logic_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">noEat</field></block></value><value name=\"tagValue\"><block type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></block></value></block></next></block></statement><value name=\"IF1\"><block type=\"entity_is_tagged_in\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tag\"><block type=\"text\"><field name=\"TEXT\">forge:stomach_animal</field></block></value></block></value><statement name=\"DO1\"><block type=\"entity_nbt_text_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value><value name=\"tagValue\"><block type=\"text\"><field name=\"TEXT\">animal</field></block></value></block></statement><value name=\"IF2\"><block inline=\"false\" type=\"logic_binary_ops\"><field name=\"OP\">OR</field><value name=\"A\"><block type=\"entity_is_tagged_in\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tag\"><block type=\"text\"><field name=\"TEXT\">forge:stomach_anthro</field></block></value></block></value><value name=\"B\"><block type=\"logic_entity_compare\"><field name=\"entity\">EntityPlayer</field><value name=\"compareTo\"><block type=\"entity_from_deps\"/></value></block></value></block></value><statement name=\"DO2\"><block type=\"entity_nbt_text_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value><value name=\"tagValue\"><block type=\"text\"><field name=\"TEXT\">anthro</field></block></value></block></statement><value name=\"IF3\"><block type=\"entity_is_tagged_in\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tag\"><block type=\"text\"><field name=\"TEXT\">forge:stomach_rotten</field></block></value></block></value><statement name=\"DO3\"><block type=\"entity_nbt_text_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value><value name=\"tagValue\"><block type=\"text\"><field name=\"TEXT\">rotten</field></block></value></block></statement><value name=\"IF4\"><block type=\"entity_is_tagged_in\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tag\"><block type=\"text\"><field name=\"TEXT\">forge:stomach_rotten_animal</field></block></value></block></value><statement name=\"DO4\"><block type=\"entity_nbt_text_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value><value name=\"tagValue\"><block type=\"text\"><field name=\"TEXT\">rotten_animal</field></block></value></block></statement><statement name=\"ELSE\"><block type=\"entity_nbt_text_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value><value name=\"tagValue\"><block type=\"text\"><field name=\"TEXT\">noeat</field></block></value><next><block type=\"entity_nbt_logic_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">noEat</field></block></value><value name=\"tagValue\"><block type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></block></value></block></next></block></statement><next><block type=\"controls_if\"><value name=\"IF0\"><block type=\"world_data_logic_getgamerule\"><field name=\"gamerulesboolean\">CUSTOM:Vorebose</field></block></value><statement name=\"DO0\"><block type=\"text_print\"><comment h=\"80\" pinned=\"false\" w=\"160\">print out in the log the name of the entity and belly name they get</comment><value name=\"TEXT\"><block type=\"text_join\"><mutation items=\"3\"/><value name=\"ADD0\"><block type=\"entity_name\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value></block></value><value name=\"ADD1\"><block type=\"text\"><field name=\"TEXT\"> got assigned belly name of </field></block></value><value name=\"ADD2\"><block type=\"entity_nbt_text_get\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value></block></value></block></value></block></statement><next><block type=\"controls_if\"><mutation elseif=\"1\"/><comment h=\"80\" pinned=\"false\" w=\"160\">this is where the offsets are made depending on the belly name</comment><value name=\"IF0\"><block inline=\"false\" type=\"logic_binary_ops\"><field name=\"OP\">OR</field><value name=\"A\"><block type=\"text_binary_ops\"><value name=\"A\"><block type=\"entity_nbt_text_get\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value></block></value><value name=\"B\"><block type=\"text\"><field name=\"TEXT\">animal</field></block></value></block></value><value name=\"B\"><block type=\"text_binary_ops\"><value name=\"A\"><block type=\"entity_nbt_text_get\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value></block></value><value name=\"B\"><block type=\"text\"><field name=\"TEXT\">rotten_animal</field></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"entity_nbt_num_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyOffsetX</field></block></value><value name=\"tagValue\"><block type=\"math_number\"><field name=\"NUM\">30</field></block></value><next><block type=\"entity_nbt_num_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyOffsetY</field></block></value><value name=\"tagValue\"><block type=\"math_number\"><field name=\"NUM\">17</field></block></value><next><block type=\"entity_nbt_num_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyOffsetZ</field></block></value><value name=\"tagValue\"><block type=\"math_number\"><field name=\"NUM\">10</field></block></value></block></next></block></next></block></statement><value name=\"IF1\"><block inline=\"false\" type=\"logic_binary_ops\"><field name=\"OP\">OR</field><value name=\"A\"><block type=\"text_binary_ops\"><value name=\"A\"><block type=\"entity_nbt_text_get\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value></block></value><value name=\"B\"><block type=\"text\"><field name=\"TEXT\">anthro</field></block></value></block></value><value name=\"B\"><block type=\"text_binary_ops\"><value name=\"A\"><block type=\"entity_nbt_text_get\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyType</field></block></value></block></value><value name=\"B\"><block type=\"text\"><field name=\"TEXT\">rotten</field></block></value></block></value></block></value><statement name=\"DO1\"><block type=\"entity_nbt_num_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyOffsetX</field></block></value><value name=\"tagValue\"><block type=\"math_number\"><field name=\"NUM\">9</field></block></value><next><block type=\"entity_nbt_num_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyOffsetY</field></block></value><value name=\"tagValue\"><block type=\"math_number\"><field name=\"NUM\">23</field></block></value><next><block type=\"entity_nbt_num_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">bellyOffsetZ</field></block></value><value name=\"tagValue\"><block type=\"math_number\"><field name=\"NUM\">10</field></block></value></block></next></block></next></block></statement><next><block type=\"entity_nbt_text_set\"><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">eatText</field></block></value><value name=\"tagValue\"><block type=\"text\"><field name=\"TEXT\">[prey] got eaten by [pred]</field></block></value><next><block type=\"entity_nbt_text_set\"><comment h=\"143\" pinned=\"false\" w=\"382\">as of 2.0.0, the exit command is stored in the pred's nbt and transfered to the prey when they are eated. then when the prey right clicks the exit block, the command is run instead of checking a belly origin block. and much like the origin block, if the command is 'uneat', it teleports the player back to the exit coord in their nbt.</comment><value name=\"entity\"><block type=\"entity_from_deps\"/></value><value name=\"tagName\"><block type=\"text\"><field name=\"TEXT\">predExitCMD</field></block></value><value name=\"tagValue\"><block type=\"text\"><field name=\"TEXT\">uneat</field></block></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block><block type=\"controls_if\" x=\"944\" y=\"761\"><value name=\"IF0\"><block type=\"world_data_logic_getgamerule\"><field name=\"gamerulesboolean\">CUSTOM:Vorebose</field></block></value></block></xml>"
}
}