PK NBT‡C?çˆ ˆ pack.mcmeta{ "pack": { "pack_format": 8, "description": "A Gamemode 4 Module" }, "module_name": "Enderman Support Class", "module_id": "enderman_support_class", "site_description": "This module allows Endermen to aid nearby hostiles in their fight against the player!", "site_categories": [], "video_link": "https://www.youtube.com/watch?v=2hWZ4OKUaqI", "wiki_link": "https://wiki.gm4.co/wiki/Enderman_Support_Class", "required_modules": [], "recommended_modules": [], "credits": { "Creator": [ { "name": "Sparks", "links": [ "https://twitter.com/SparksTheGamer" ] } ] } } PK GBT[@•Éº º " data/gm4/functions/init.mcfunction#This function runs if gamemode 4 has never been used before. #It adds global scoreboards and other gamemode 4 base code. tellraw @a [{"translate": "%1$s%3427655$s","with":["[GM4]: ",{"translate": "text.gm4.prefix"}],"color":"green"},{"translate": "%1$s%3427655$s","with":["Welcome to Gamemode 4. Initialising...",{"translate": "text.gm4.modules.init"}],"color":"green"}] execute unless entity @a[limit=1] run say [GM4]: Welcome to Gamemode 4. Initialising... #declare and initialise scoreboards and settings scoreboard objectives add gm4_clock_tick dummy scoreboard objectives add gm4_modules dummy scoreboard players set gm4 gm4_up_check 1 scoreboard players set update_happened gm4_up_check 1 PK GBTóýB| " data/gm4/functions/load.mcfunction#This function runs every time a world/server is restarted or /reload is run. #It waits for a player to be online before checking for updates. execute if entity @a[limit=1] run function gm4:update execute unless entity @a[limit=1] run schedule function gm4:load 1t PK GBT›~›á ) data/gm4/functions/out_of_date.mcfunction#print out-of-date message tellraw @a [{"translate":"%1$s%3427655$s","with":["[GM4]: ",{"translate":"text.gm4.prefix"}],"color":"aqua"},{"translate":"%1$s%3427655$s","with":[["Some of your modules are outdated: ",{"selector":"@e[type=area_effect_cloud,tag=gm4_update_message]","color":"gold"}],{"translate":"text.gm4.modules.outdated","with":[{"selector":"@e[type=area_effect_cloud,tag=gm4_update_message]","color":"gold"}]}]}] tellraw @a [{"translate": "%1$s%3427655$s","with":["[GM4]: ",{"translate": "text.gm4.prefix"}],"color":"aqua"},{"translate": "%1$s%3427655$s","with":["Click to visit our site with the latest versions.",{"translate": "text.gm4.modules.outdated_link"}],"color":"white","underlined":true,"clickEvent":{"action":"open_url","value":"https://www.gm4.co/modules/"},"hoverEvent":{"action":"show_text","value":{"text":"","extra":[{"translate":"%1$s%3427655$s","with":["Click to visit gm4.co/modules/",{"translate":"text.gm4.modules.update.hover_text"}],"color":"aqua"}]}}}] kill @e[type=area_effect_cloud,tag=gm4_update_message] PK GBT0¿,ZÓ Ó " data/gm4/functions/tick.mcfunction#runs every tick scoreboard players add current_tick gm4_clock_tick 1 execute if score current_tick gm4_clock_tick matches 16.. run scoreboard players set current_tick gm4_clock_tick 0 function #gm4:pulse_check PK GBTØΦçâ â $ data/gm4/functions/update.mcfunction#This function runs every time after world/server is restarted or /reload is run and a player is online. #It checks for new modules, tells them to initialise and informs the player. tellraw @a [{"translate": "%1$s%3427655$s","with":["[GM4]: ",{"translate": "text.gm4.prefix"}],"color":"aqua"},{"translate": "%1$s%3427655$s","with":["Checking for updates...",{"translate": "text.gm4.modules.update.check"}],"color":"aqua"}] execute unless entity @a[limit=1] run say [GM4]: Checking for updates... #set update_happened to false until proven otherwise scoreboard objectives add gm4_up_check dummy scoreboard players set update_happened gm4_up_check 0 #check if GM4 has been used here before execute unless score gm4 gm4_up_check matches 1.. run function gm4:init #get all modules to check if they need installing scoreboard players set installed_modules gm4_up_check 0 function #gm4:init_check #announce success of update if one happened. execute if score update_happened gm4_up_check matches 0 run tellraw @a [{"translate": "%1$s%3427655$s","with":["[GM4]: ",{"translate": "text.gm4.prefix"}],"color":"aqua"},{"translate": "%1$s%3427655$s","with":["No updates found.",{"translate": "text.gm4.modules.update.none_found"}],"color":"aqua"}] execute unless entity @a[limit=1] run execute if score update_happened gm4_up_check matches 0 run say [GM4]: No updates found. execute if score update_happened gm4_up_check matches 1 run tellraw @a [{"translate": "%1$s%3427655$s","with":["[GM4]: ",{"translate": "text.gm4.prefix"}],"color":"aqua"},{"translate": "%1$s%3427655$s","with":["Updates completed.",{"translate": "text.gm4.modules.update.completed"}],"color":"aqua"}] execute unless entity @a[limit=1] run execute if score update_happened gm4_up_check matches 1 run say [GM4]: Updates completed. #prints scheduled out-of-date messages to chat execute if score current_tick gm4_clock_tick matches 0 if entity @a[limit=1] if entity @e[type=area_effect_cloud,tag=gm4_update_message,limit=1] run function gm4:out_of_date PK GBT«M“› › 1 data/gm4/advancements/enderman_support_class.json{ "display": { "icon": { "item": "player_head", "nbt": "{CustomModelData:3,SkullOwner:\"MHF_Enderman\"}" }, "title": { "translate": "%1$s%3427655$s", "with": [ "Ender Aid", {"translate": "advancement.gm4.enderman_support_class.title"} ] }, "description": { "translate": "%1$s%3427655$s", "with": [ "Come into contact with a support Enderman", {"translate": "advancement.gm4.enderman_support_class.description"} ], "color": "gray" } }, "parent": "gm4:root", "criteria": { "contact_enderman": { "trigger": "minecraft:impossible" } } } PK GBTø:¼<Œ Œ data/gm4/advancements/root.json{ "display": { "icon": { "item": "command_block", "nbt": "{CustomModelData:1}" }, "title": { "translate": "%1$s%3427655$s", "with": [ "Gamemode 4", {"translate": "advancement.gm4.root.title"} ] }, "description": { "translate": "%1$s%3427655$s", "with": [ "Semi-funny blurb about GM4", {"translate": "advancement.gm4.root.description"} ], "color": "gray" }, "background": "textures/block/light_blue_concrete_powder.png", "announce_to_chat": false }, "criteria": { "automatic": { "trigger": "minecraft:tick" } } } PK GBTVŠ‰fE E ' data/gm4/tags/functions/init_check.json{ "values":[ "enderman_support_class:init_check" ] } PK GBTÞ'n^F F ( data/gm4/tags/functions/pulse_check.json{ "values":[ "enderman_support_class:pulse_check" ] } PK GBTü_¾, , ' data/minecraft/tags/functions/load.json{ "values":[ "gm4:load" ] } PK GBT"Ès•, , ' data/minecraft/tags/functions/tick.json{ "values":[ "gm4:tick" ] } PK NBT¬ÕI`, `, 5 data/enderman_support_class/functions/init.mcfunction#announce module installation tellraw @a[gamemode=creative] [{"translate":"%1$s%3427655$s","with":["[GM4]: ",{"translate":"text.gm4.prefix"}]},{"translate":"%1$s%3427655$s","with":["Installing Enderman Support Class...",{"translate":"text.gm4.modules.update.installing","with":[{"translate":"module.gm4.enderman_support_class"}]}]}] execute unless entity @a[limit=1] run say GM4: Installing Enderman Support Class... #declare and initialise scoreboards and settings scoreboard players set update_happened gm4_up_check 1 scoreboard players set enderman_support_class gm4_modules 14001 scoreboard players set enderman_support_class gm4_clock_tick 0 #announce success tellraw @a[gamemode=creative] [{"translate":"%1$s%3427655$s","with":["[GM4]: ",{"translate":"text.gm4.prefix"}]},{"translate":"%1$s%3427655$s","with":["Enderman Support Class Installed!",{"translate":"text.gm4.modules.update.installed","with":[{"translate":"module.gm4.enderman_support_class"}]}]}] execute unless entity @a[limit=1] run say GM4: Enderman Support Class Installed! #check other modules to make sure they're up to date. # Module update list kill @e[tag=gm4_update_message] execute if score ambrosia gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Ambrosia"",Tags:["gm4_update_message"],Duration:2000} execute if score bat_grenades gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Bat Grenades"",Tags:["gm4_update_message"],Duration:2000} execute if score better_armour_stands gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Better Armour Stands"",Tags:["gm4_update_message"],Duration:2000} execute if score better_fire gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Better Fire"",Tags:["gm4_update_message"],Duration:2000} execute if score block_compressors gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Block Compressors"",Tags:["gm4_update_message"],Duration:2000} execute if score boots_of_ostara gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Boots of Ostara"",Tags:["gm4_update_message"],Duration:2000} execute if score cement_mixers gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Cement Mixers"",Tags:["gm4_update_message"],Duration:2000} execute if score chairs gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Chairs"",Tags:["gm4_update_message"],Duration:2000} execute if score cooler_caves gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Cooler Caves"",Tags:["gm4_update_message"],Duration:2000} execute if score crossbow_cartridges gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Crossbow Cartridges"",Tags:["gm4_update_message"],Duration:2000} execute if score custom_crafters gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Custom Crafters"",Tags:["gm4_update_message"],Duration:2000} execute if score dangerous_dungeons gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Dangerous Dungeons"",Tags:["gm4_update_message"],Duration:2000} execute if score desire_lines gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Desire Lines"",Tags:["gm4_update_message"],Duration:2000} execute if score disassemblers gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Disassemblers"",Tags:["gm4_update_message"],Duration:2000} execute if score enchantment_extractors gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Enchantment Extractors"",Tags:["gm4_update_message"],Duration:2000} execute if score end_fishing gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""End Fishing"",Tags:["gm4_update_message"],Duration:2000} execute if score ender_hoppers gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Ender Hoppers"",Tags:["gm4_update_message"],Duration:2000} execute if score enderman_support_class gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Enderman Support Class"",Tags:["gm4_update_message"],Duration:2000} execute if score heart_canisters gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Heart Canisters"",Tags:["gm4_update_message"],Duration:2000} execute if score holographic_tags gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Holographic Tags"",Tags:["gm4_update_message"],Duration:2000} execute if score ink_spitting_squid gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Ink Spitting Squid"",Tags:["gm4_update_message"],Duration:2000} execute if score lightning_rods gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Lightning Rods"",Tags:["gm4_update_message"],Duration:2000} execute if score liquid_minecarts gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Liquid Minecarts"",Tags:["gm4_update_message"],Duration:2000} execute if score liquid_tanks gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Liquid Tanks"",Tags:["gm4_update_message"],Duration:2000} execute if score master_crafting gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Master Crafting"",Tags:["gm4_update_message"],Duration:2000} execute if score mending_tanks gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Mending Tanks"",Tags:["gm4_update_message"],Duration:2000} execute if score metallurgy gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Metallurgy"",Tags:["gm4_update_message"],Duration:2000} execute if score mob_conversion gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Mob Conversion"",Tags:["gm4_update_message"],Duration:2000} execute if score moneo_shamir gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Moneo Shamir"",Tags:["gm4_update_message"],Duration:2000} execute if score mysterious_midnights gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Mysterious Midnights"",Tags:["gm4_update_message"],Duration:2000} execute if score note_block_interface gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Note Block Interface"",Tags:["gm4_update_message"],Duration:2000} execute if score orbis gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Orbis"",Tags:["gm4_update_message"],Duration:2000} execute if score orbis_pre_gen gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Orbis Pre-gen"",Tags:["gm4_update_message"],Duration:2000} execute if score particles_pack gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Particles Pack"",Tags:["gm4_update_message"],Duration:2000} execute if score phantom_scarecrows gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Phantom Scarecrows"",Tags:["gm4_update_message"],Duration:2000} execute if score pig_tractors gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Pig Tractors"",Tags:["gm4_update_message"],Duration:2000} execute if score poses_pack gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Poses Pack"",Tags:["gm4_update_message"],Duration:2000} execute if score potion_liquids gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Potion Liquids"",Tags:["gm4_update_message"],Duration:2000} execute if score potion_swords gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Potion Swords"",Tags:["gm4_update_message"],Duration:2000} execute if score record_crafting gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Record Crafting"",Tags:["gm4_update_message"],Duration:2000} execute if score relocators gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Relocators"",Tags:["gm4_update_message"],Duration:2000} execute if score scuba_gear gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Scuba Gear"",Tags:["gm4_update_message"],Duration:2000} execute if score shroomites gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Shroomites"",Tags:["gm4_update_message"],Duration:2000} execute if score spawner_minecarts gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Spawner Minecarts"",Tags:["gm4_update_message"],Duration:2000} execute if score speed_paths gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Speed Paths"",Tags:["gm4_update_message"],Duration:2000} execute if score standard_crafting gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Standard Crafting"",Tags:["gm4_update_message"],Duration:2000} execute if score sunken_treasure gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Sunken Treasure"",Tags:["gm4_update_message"],Duration:2000} execute if score tinkering_compressors gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Tinkering Compressors"",Tags:["gm4_update_message"],Duration:2000} execute if score tower_structures gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Tower Structures"",Tags:["gm4_update_message"],Duration:2000} execute if score trapped_signs gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Trapped Signs"",Tags:["gm4_update_message"],Duration:2000} execute if score undead_players gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Undead Players"",Tags:["gm4_update_message"],Duration:2000} execute if score vertical_rails gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Vertical Rails"",Tags:["gm4_update_message"],Duration:2000} execute if score weighted_armour gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Weighted Armour"",Tags:["gm4_update_message"],Duration:2000} execute if score xp_storage gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""XP Storage"",Tags:["gm4_update_message"],Duration:2000} execute if score zauber_cauldrons gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Zauber Cauldrons"",Tags:["gm4_update_message"],Duration:2000} execute if score zauber_liquids gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Zauber Liquids"",Tags:["gm4_update_message"],Duration:2000} execute if score ziprails gm4_modules matches ..14000 run summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:""Ziprails"",Tags:["gm4_update_message"],Duration:2000} PK NBT‰6ItÓ Ó ; data/enderman_support_class/functions/init_check.mcfunction#unless the module is already initialized execute unless score enderman_support_class gm4_modules matches 14001.. run function enderman_support_class:init scoreboard players add installed_modules gm4_up_check 1 PK GBT•°¶„ „ 5 data/enderman_support_class/functions/main.mcfunction#tag all hostile mobs (and shulkers) near an enderman execute at @e[type=enderman,tag=!gm4_noESC] run tag @e[distance=..25,nbt={Attributes:[{Name:"generic.attackDamage"}]},tag=!gm4_noESC] add gm4_ESC execute at @e[type=enderman,tag=!gm4_noESC] run tag @e[distance=..25,type=shulker,tag=!gm4_noESC] add gm4_ESC #apply buffs to mobs with tag execute at @e[type=skeleton,tag=gm4_ESC] run effect give @a[distance=..7] weakness 7 0 execute at @e[type=shulker,tag=gm4_ESC] run effect give @a[distance=..7] blindness 3 9 effect give @e[type=silverfish,tag=gm4_ESC] resistance 4 1 effect give @e[type=creeper,tag=gm4_ESC] regeneration 4 0 effect give @e[type=spider,tag=gm4_ESC] jump_boost 4 1 effect give @e[type=cave_spider,tag=gm4_ESC] jump_boost 4 1 effect give @e[type=zombie,tag=gm4_ESC] speed 4 1 #advancement advancement grant @a[tag=gm4_ESC] only gm4:enderman_support_class tag @e remove gm4_ESC PK GBT1Ùˆ8¹ ¹ <