### Core Functions for New Equipment Integration Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md This section details the essential functions required within the `42:portal//` folder for integrating new equipment, along with their respective setup locations and considerations. ```APIDOC 42:portal// (New Equipment Folder): craft: Description: Handles the crafting process for the equipment. Setup: - Add to equipment list in 42:portal/42menu. - Add to equipment list in 42:portal/craft_all. - Specify required space and/or 'Modify with:' information. fizzle: Description: Defines behavior when the equipment is fizzled (deactivated/destroyed). Setup: - Configure in 42:portal/tools/fizzler. load: Description: Manages the loading of the equipment into the level. Setup: - Configure in 42:portal/level/loader/load_all. - Configure in 42:portal/level/loader/load/. select: Description: Handles the selection mechanics for the equipment. Setup: - Add options to 42:portal/select_menu. - Configure in 42:portal/tools/select. - Configure in 42:portal/tools/sel_new. spawn: Description: Manages the spawning of the equipment. Notes: Sometimes also requires 'spawn2'. tick: Description: Defines per-tick behavior for the equipment. Setup: - Configure in 42:portal/tick_entity. - Configure in 42:portal/level/do_tick. unload: Description: Manages the unloading of the equipment from the level. Setup: - Configure in 42:portal/level/loader/unload_all. ``` -------------------------------- ### Implementing Power Source Equipment Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md This section outlines the logic and setup for equipment that acts as a 'power source' within the `42:portal` system, covering behavior when powered, unpowered, or fizzled. ```APIDOC Power Sources: When Powered: - Set a flag/score to denote power status. - Call 42:portal/power. When Unpowered: - Remove flag/score that denotes power status. - Call 42:portal/unpower. When Fizzled: - Unpower the source. General Setup: - Configure in 42:portal/unpower (to detect power status flag/score). ``` -------------------------------- ### Implementing Common Equipment Traits Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md This section describes how to implement common traits such as powerability, cycleability, and skins for new equipment within the `42:portal` system, detailing the necessary file updates and function creations. ```APIDOC Common Traits: Powerable or Power Source: General Setup: - Update equipment lists in 42:portal/tools/sel/powerable. - Update equipment lists in 42:portal/tools/craft_link. Cycleable: Description: Allows the equipment to cycle through states or options. Setup: - Update equipment list in 42:portal/tools/craft_cycle. - Create 42:portal//cycle. - Notes: Sometimes also requires 'cycle_silent'. - Configure in 42:portal/tools/cycle. Skins: Description: Enables different visual appearances (skins) for the equipment. Setup: - Update equipment list in 42:portal/tools/craft_skin. - Create 42:portal//skin. - Configure in 42:portal/tools/skin. ``` -------------------------------- ### Implementing Powerable Equipment Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md This section details the specific requirements for making an equipment item 'powerable' within the `42:portal` system, including the creation of dedicated power functions and their integration. ```APIDOC Powerables: 42:portal//power: Description: Function to execute when the equipment is powered. 42:portal//unpower: Description: Function to execute when the equipment is unpowered. General Setup: - Configure in 42:portal/power. - Configure in 42:portal/unpower. ``` -------------------------------- ### Minecraft Datapack 42menu System File Structure Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md Outlines the necessary file paths and conventions for implementing the 42menu tellraw system, allowing pack-specific menus accessible via a single '/trigger 42menu' command. It details the common and pack-specific files required. ```APIDOC 42menu System Conventions: - Access Command: /trigger 42menu Required Files (Paths & Purpose): - data/42/function/42menu.mcfunction: "Exact same in every pack" - data/42/function/error_perms.mcfunction: "Exact same in every pack, must be paired with 42op advancement setup" - data/42/function//load.mcfunction: "Runs 'schedule function 42:42menu 1t replace'" - data/42/function//menu.mcfunction: "Includes all pack-specific menu logic" - data/42/tags/function/menu.json: "References '42:/menu'" - data/minecraft/tags/function/load.json: "References '42:/load'" ``` -------------------------------- ### Regex for Summon Command Prefix Replacement Source: https://github.com/baphomet42/data-packs/blob/1.21.6/datapacks/BaphomethSlab/data/42/function/labs/items/log.md Regular expression used in the build process to identify the start of 'summon' commands. This allows for prepending a dollar sign (`$`) to the command, typically for macro processing in `.mcfunction` files. ```Regex ^summon ``` -------------------------------- ### Access Minecraft Datapack Configuration Menu Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Execute this in-game Minecraft command to open the main configuration menu for installed datapacks, which provides access to individual datapack settings and options like resource pack usage. ```Minecraft Command /trigger 42menu ``` -------------------------------- ### 42dominion Datapack Advancement Documentation Structure Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md This section outlines the required file structure for advancements within 42dominion datapacks, ensuring proper documentation on the 42dominion advancement page. It specifies the location for pack-specific advancements, common generic advancements, and guidelines for using icons for commands and recipes. ```Minecraft Datapack Required Advancement Structure for all Packs: `data/` `42/` `advancement/` `dominion/` `packs.json` (exact same in every pack) `root.json` (exact same in every pack) `/` `pack.json` (with title, description, and icon for pack) Child Advancements for Unique Features: - Commands should use the `command_block` icon. - Recipes should use the `crafting_table` icon. Common Feature Advancements (under `gen`): `data/` `42/` `advancement/` `dominion/` `gen/` `menu.json` (only if 42menu is used) `op.json` (only if 42op is used) `root.json` (required) Other Advancements: - Any advancements not for the 42dominion advancement page should be placed in `advancement//`. ``` -------------------------------- ### Change Skin Tool Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Modifies the texture (skin) of equipment without altering its functionality. Examples include turrets, storage cubes, and other equipment types. ```APIDOC ChangeSkinTool: - Purpose: Changes textures without changing functionality. - Examples: - Turrets: 10+ skins. - Storage Cubes: Old Aperture skin. - Various other equipment types have skin options. ``` -------------------------------- ### Power Wire Feature Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md An optional visual feature to indicate power connections between buttons and other equipment. It uses the Link Tool for setup and Change Skin Tool for visual feedback (X/check mark). ```APIDOC PowerWire: - Purpose: Optional visual connection for buttons to doors and other powerable equipment. - Linking: Done with `Link Tool`; not affected by power wire. - Setup: Use the `Link Tool`. - Visual Feedback: Use `Change Skin Tool` to display an X or check mark based on power. - Typically, the last wire in the line has this skin; rest are default. - Placement: Does not have to be physically connected; place on every block for best effect. ``` -------------------------------- ### Minecraft Datapack Config System File Structure Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md Defines the required file paths and conventions for integrating a datapack into the project's configuration system, including active and history pack registration, and refresh/reload functions. It also covers storing pack-specific settings. ```APIDOC Config System Conventions: - packs.active Compound: - id: (if applicable, e.g., id:3) - name: - version: - packs.history Compound: - version: - No other data required Basic Config Pack Features (File Paths & Purpose): - data/42/function/gen/config/refresh_pack_list.mcfunction: "Exact same in every pack" - data/42/function/gen/config//log.mcfunction: "Adds pack to active/history compounds" - data/42/function/gen/config//menu.mcfunction: "Optional menu logic" - data/42/function/gen/config//reload.mcfunction: "At least 'schedule function 42:gen/config/refresh_pack_list 5t replace'" - data/42/function//load.mcfunction: "Runs 'function 42:gen/config//reload'" - data/42/tags/function/gen/config_log.json: "References '42:gen/config//log'" - data/minecraft/tags/function/load.json: "References '42:/load'" Config Settings: - Storage Path: 42:config settings.. - Requirement: Settings should always be stored, even if default. - Setup: In 42:gen/config//reload. - UI: Tellraw menu recommended for ease of use. Click events can run functions directly. ``` -------------------------------- ### 42dominion Datapack ID and Custom Data Conventions Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md This section details the identification system for 42dominion datapacks, assigning unique IDs (1-99) for integration with the 42menu system. It also specifies the required structure for custom data within items, ensuring all custom data is nested under the `42data` compound, with pack-specific data under `42data.`. ```Minecraft Datapack 42menu system ID format: 42NNXXX (NN=pack ID 1-99, XXX=values 000-999) Entity Tagging: - All entities summoned by a pack must have the tag `42.tag.summon` Custom Item Data (NBT): - All custom items must include `custom_data~{42data:{datapack_item:{}}}` - All other `custom_data` must be within the `42data` compound - Most `custom_data` should typically be within the `42data.` compound Generic Pack IDs (`gen`): - Used for generic features relevant to multiple packs - Can use IDs `0` or `99` - `gen` code is not a standalone datapack Example Pack IDs: - gen: 0/99 - xltt: 1 - portal: 3 - dbd: 5 - src: 7 Namespace Usage: - Rarely use `minecraft:` namespace (almost always non-replacing) - Prefer `42:` namespace followed by pack code (e.g., `42:portal`) ``` -------------------------------- ### Common Shared Files Across Minecraft Datapacks Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md Lists files that are intended to be identical and shared across multiple datapacks within the project. These files are typically located in common namespaces like '42:', '42:dominion/', or '42:gen/'. ```APIDOC Shared Files List: - General Locations: 42:, 42:dominion/, or 42:gen/ - data/42/advancement/dominion/packs.json - data/42/advancement/dominion/root.json - data/42/advancement/gen/menu.json - data/42/advancement/gen/op.json - data/42/advancement/gen/root.json - data/42/function/42menu.mcfunction - data/42/function/error_perms.mcfunction - data/42/function/gen/config/refresh_pack_list.mcfunction - data/42/loot_table/empty.json - data/42/predicate/input_sneak.json - data/42/predicate/is_sneaking.json - data/42/predicate/is_sprinting.json - data/42/predicate/location_fluid.json - data/42/tags/block/projectile_pass.json ``` -------------------------------- ### 42dominion Naming Conventions for Tags, Objectives, and Attributes Source: https://github.com/baphomet42/data-packs/blob/1.21.6/log.md This section specifies the required naming prefixes for various Minecraft elements within 42dominion datapacks, including tags, scoreboard objectives, fake scoreboard players, teams, and attribute modifiers. It also provides guidelines for NBT data formatting, emphasizing SNBT and the preferred use of the `minecraft` namespace for IDs. ```Minecraft Datapack Prefixes for Minecraft Elements: - /tag: `42.tag.` - objective: `42.obj.` - fake scoreboard player: `#42.var..` or `42.var.` - team: `42.team.` - attribute modifier: `42:/` Attribute Modifiers on Items: - `slot` must be a single slot (not a slot group) - prefix: `42:/item/` - suffix: `/` - exceptions: vanilla `id` values (`minecraft:base_attack_damage`, `minecraft:base_attack_speed`) Naming Uniqueness: - Preferred: Names should not be partial matches (e.g., `42.tag.foo` not compatible with `42.tag.foobar`) - Current packs do not strictly enforce this, exercise caution. Scoreboard Objective Exceptions: - Trigger commands may use simpler names. NBT Conventions: - SNBT should generally match game output: - Number types include suffix (e.g., `1b`, `2s`, `3l`, `4f`, `5d`) - Strings are quoted (e.g., `"value"`) - Booleans are `true` or `false` - Not a strict requirement, do not rely on strict formatting. - Minecraft namespace should usually be specified for IDs (e.g., `id:"minecraft:stone"`) ``` ```Regex Useful regex to help find potential deviants for NBT IDs: - `id:[a-z0-9_\-./]*,` - `id:[a-z0-9_\-./]*\}` - `id:"[a-z0-9_\-./]*"` ``` -------------------------------- ### Open 42menu Window Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md This command opens a window that provides access to equipment and tools, including debug options for deleting large numbers of equipment. ```Command /trigger 42menu ``` -------------------------------- ### Link Tool Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Connects power sources (Buttons) to powerable equipment (Doors, Vents). It links unlinked equipment within loaded areas and allows multiple items in one group. Power Wire can be used for visual indication. ```APIDOC LinkTool: - Purpose: Connect Buttons and other power sources to Doors, Vital Apparatus Vents, etc. - Usage: 1. Place any amount of equipment to be linked. 2. Place the Link Tool anywhere. - Range: Unlimited (as long as the area is loaded). - Behavior: - Won't link any equipment that has already been linked. - Second use links new unlinked equipment. - Any number of equipment can be linked in one group. - Once linked, they stay linked until fizzled. - Integration: Power Wire can make connections visible to players (optional, no functional change). ``` -------------------------------- ### Select Tool Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Selects a piece of equipment to modify it and access additional settings. It can access features of most other tools and allows unlinking equipment without fizzling. ```APIDOC SelectTool: - Purpose: Select a piece of equipment to modify it and access additional settings. - Capabilities: - Can access the features of most other tools, and more. - Can be used to unlink equipment without having to fizzle everything and start over. - Constraint: Each player can only have one piece of equipment selected at once. ``` -------------------------------- ### Cycle Tool Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Allows cycling between modes for specific equipment types by clicking near them. ```APIDOC CycleTool: - Action: Cycle between modes. - Usage: Click near equipment. - Applicable Equipment: Super Buttons, Vital Apparatus Vents, Pellet Launchers, Pellet Catchers. ``` -------------------------------- ### Fizzle Tool Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Destroys all equipment within a small range. ```APIDOC FizzleTool: - Action: Destroy all equipment. - Range: Small range. ``` -------------------------------- ### Minecraft Trigger Command: 42menu Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md This command opens a custom in-game window, the '42menu', which provides access to various items and abilities implemented by the datapacks. It serves as a central interface for players to interact with the custom content. ```Minecraft Commands /trigger 42menu ``` -------------------------------- ### Spawner Mechanics and Interactions Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Describes the behavior of various object spawners, including visibility, attribute retention, and interactions with power sources like buttons and Trigger Zones. It covers how objects are summoned, fizzled, and updated. ```APIDOC Spawner: - Visible Spawners: Appear in early chambers in Portal games. - Invisible Spawners: Visible in Select Menu. - Command: `42menu` to unhide all zones and invisible spawners within short range. - Turret Spawners: - Retain all attributes of the turret when first converted (skin, deactivated state). - Changing attributes of a spawned turret will not update the spawner. - To update spawner: Select the new turret and click convert again. - Super Pellet Spawners: Create special pellet from last level of first Portal game. - Pellet launcher can be fizzled after converting pellet to spawner. - Radio Spawners: Reset to correct position after resetting the level. - Cube Spawners: All types can be converted; Vital Apparatus Vents have same functionality with Trigger Zones. Powering Spawners: - Power Source (Button/Trigger Zone) -> Summon correct object (fizzle old one). - Unpowering Portal Spawner -> Remove the portal. - Unpowering Other Spawners -> Will not fizzle the object. - Trigger Zone: - Can summon or fizzle any type of object (not just portals). - Works for all spawners in the link. - Can select a single spawner to spawn or fizzle its object. - Combination: Spawners + Zones -> Create fully resettable levels. ``` -------------------------------- ### 42essentials: Trigger Kittycannon Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md The `/trigger kittycannon` command, included in the 42essentials datapack, initiates a 'Ka-BOOM!' effect. This command provides a fun, explosive interaction within the game, mimicking server plugin functionalities. ```Minecraft Commands /trigger kittycannon ``` -------------------------------- ### JSON Placeholder for Item Components Source: https://github.com/baphomet42/data-packs/blob/1.21.6/datapacks/BaphomethSlab/data/42/function/labs/items/log.md Defines a placeholder structure for item components within composite items. This placeholder is used in base files and later replaced with actual item data during the build process using macro arguments. ```JSON {"42:build_search_item":""} ``` -------------------------------- ### Custom Gun Crafting Function API Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md API documentation for the `/function 42:src/gun/craft/custom` command, which allows for the creation of highly customizable in-game guns. Arguments not explicitly set will automatically fall back to predefined default values, simplifying the crafting process while maintaining flexibility. ```APIDOC Function: /function 42:src/gun/craft/custom {args:{}} Arguments: name: string - The display name of the custom gun item. model: string - The item_model string for the gun's appearance. gun: compound - Contains detailed specifications for the gun's behavior. ammo: compound - Ammunition properties. max: int - Maximum ammo capacity. cooldown: compound - Cooldown timings for gun actions. on_shoot: int - Minimum ticks between shots. on_swap: int - Ticks before the gun can be used after being selected in the hotbar. reload_time: int - Time in ticks required to complete a reload. flags: compound - Optional boolean flags to modify gun behavior (set a flag to {} for true or leave unset for false). auto: boolean - If true, the gun fires continuously when the use key is held. cancel_reload_slowness: boolean - If true, reloading does not reduce player movement speed. large_bullet: boolean - If true, the gun shoots larger bullets for collision and hit detection. slow_bullet: boolean - If true, the bullet moves twice as slow as normal. fast_bullet: boolean - If true, the bullet moves 50% faster than normal. sounds: compound - Contains sound instances to override. Each sub-property is a compound that can have 'replace:{}' to stop the original sound and/or 'sound:{value:""}' to run as a macro with the line '$playsound $(value)'. hit: compound - Plays where the bullet hits something. reload_start: compound - Plays when starting a reload. reload_finish: compound - Plays when successfully finishing a reload. shoot: compound - Plays when shooting. shoot_fail: compound - Plays when attempting to shoot with no ammo. particles: compound - Contains particle instances to override. Each sub-property is a compound that can have 'replace:{}' to stop the original particle and/or 'particle:{value:""}' to run as a macro with the line '$particle $(value)'. hit: compound - Appears where the bullet hits something. tracer: compound - Appears every few blocks along the bullet path. bullet: compound - Properties for the bullet's visual representation. item: compound - Item to render as the bullet (e.g., `{id:"minecraft:sponge"}`). ``` -------------------------------- ### Level Tool Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Assigns a load level to new equipment, making it active only when a player is in that level. Unloaded equipment is removed and reappears when the level loads. It behaves similarly to the Link Tool. ```APIDOC LevelTool: - Purpose: Sets the load level for all new equipment. - Behavior: - Equipment with a load level only works if the level is currently loaded by a player. - Unloaded equipment is removed from the world completely. - Equipment returns upon the level being loaded. - Default: All equipment is set to always be loaded until assigned a level using this tool. - Usage: 1. Place any amount of equipment that should be in the same load level. 2. Place the Level Tool anywhere. - Range: Unlimited (as long as the area is loaded). - Behavior: Won't set the level for any equipment that has already been assigned a level; behaves similarly to the Link Tool. - Loading Logic: Levels are considered loaded only if a player has that level score, allowing close placement without affecting each other or causing excessive lag. - Automation: Can automate levels using Zones. ``` -------------------------------- ### Regex for Item Component Placeholder Capture and Replacement Source: https://github.com/baphomet42/data-packs/blob/1.21.6/datapacks/BaphomethSlab/data/42/function/labs/items/log.md Regular expression used to find and capture the placeholder value within the item component JSON structure. The captured group (`$1`) is then used to replace the entire placeholder with dynamic data using macro arguments like `$($1)`. ```Regex {\"42:build_search_item\":\"([a-z0-9_]*)\"} ``` -------------------------------- ### Manage Daylight Cycle and Time Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md These commands help control the time of day and prevent sunlight from shining through thin walls, which can be an issue with portal placement. Setting the time to midnight and disabling the daylight cycle ensures consistent lighting. ```Minecraft Commands /gamerule doDaylightCycle false /time set midnight ``` -------------------------------- ### Color Palette for portal_gun_overlay Source: https://github.com/baphomet42/data-packs/blob/1.21.6/resourcepacks/42datapack resources/portal/assets/42/textures/item/portal/asembly.txt Defines the hexadecimal color codes and opacity percentages for various 'dot' elements within the 'portal_gun_overlay' component, such as back, back adjacent, front, and front adjacent dots. ```Data Definition portal_gun_overlay back dot #FFFFFF (100%) back dot adjacent #FFFFFF (50%) front dot #FFFFFF (50%) front dot adjacent #FFFFFF (25%) ``` -------------------------------- ### JSON Placeholder for Attribute Modifiers Source: https://github.com/baphomet42/data-packs/blob/1.21.6/datapacks/BaphomethSlab/data/42/function/labs/items/log.md Specifies a placeholder structure for attribute modifiers, including a dummy type and amount. This structure is used in base files and replaced with actual modifier data during item assembly. ```JSON {id:"build_search_mod:",slot:"",type:"42:dummy",amount:0d,operation:"add_value"} ``` -------------------------------- ### 42essentials: Put Held Item on Head Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md The `/trigger hat` command, part of the 42essentials datapack, allows players to equip the item they are currently holding onto their character's head. This recreates a common server plugin feature using only in-game commands. ```Minecraft Commands /trigger hat ``` -------------------------------- ### Define and Generate Stamin-Up Item Attribute Modifier Source: https://github.com/baphomet42/data-packs/blob/1.21.6/datapacks/BaphomethSlab/data/42/function/labs/items/log.md Defines the JSON-like template for the 'stamin_up' item attribute modifier, which increases movement speed. It also provides the regular expression pattern and its corresponding replacement string used to dynamically generate this modifier from a placeholder, ensuring correct ID and slot substitution. ```Data Configuration {amount:2.0d,id:"42:labs/item/stamin_up/",operation:"add_multiplied_total",slot:"",type:"minecraft:movement_speed"} ``` ```Regex \{id:"build_search_mod:stamin_up/([a-z0-9_]*)",slot:"([a-z0-9_]*)",type:"42:dummy",amount:0d,operation:"add_value"\} ``` ```Data Configuration {amount:2.0d,id:"42:labs/item/stamin_up/$1",operation:"add_multiplied_total",slot:"$2",type:"minecraft:movement_speed"} ``` -------------------------------- ### Configure Player Inventory Persistence Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Ensures players retain their inventory upon death, preventing loss of items like portal guns. This is a crucial setting for maintaining game progression and player experience. ```Minecraft Commands /gamerule keepInventory true ``` -------------------------------- ### Color Palette for portal_gun_base Source: https://github.com/baphomet42/data-packs/blob/1.21.6/resourcepacks/42datapack resources/portal/assets/42/textures/item/portal/asembly.txt Specifies the hexadecimal color codes for white and black shades used in the 'portal_gun_base' component, including an opacity value for one black shade. ```Data Definition portal_gun_base white shades #AAAAAA #BBBBBB #CCCCCC #DDDDDD black shades #000000 #111111 #080808 (75%) ``` -------------------------------- ### List Item Attribute Modifiers with Slot Conflicts Source: https://github.com/baphomet42/data-packs/blob/1.21.6/datapacks/BaphomethSlab/data/42/function/labs/items/log.md Identifies specific item attribute modifiers that are designed to have slot conflicts, meaning they can apply to multiple or specific non-standard slots. These exceptions are explicitly documented. ```Data Configuration 42:labs/item/stamin_up/multi\n42:labs/item/archive/sticky_piston/any\n42:labs/item/archive/the_sun/any ``` -------------------------------- ### List Common Undocumented Item Attribute Modifier IDs Source: https://github.com/baphomet42/data-packs/blob/1.21.6/datapacks/BaphomethSlab/data/42/function/labs/items/log.md A list of known, commonly used item attribute modifier IDs that are not formally documented within the primary modifier system. These are provided for convenience and reference. ```Data Configuration minecraft:base_attack_damage\nminecraft:base_attack_speed\nminecraft:armor.boots\nminecraft:armor.leggings\nminecraft:armor.chestplate\nminecraft:armor.helmet\nminecraft:armor.body ``` -------------------------------- ### List Single-Use Item Attribute Modifier IDs Source: https://github.com/baphomet42/data-packs/blob/1.21.6/datapacks/BaphomethSlab/data/42/function/labs/items/log.md A comprehensive list of unique identifiers for item attribute modifiers intended for single-item usage. These modifiers are typically stored directly within the item's definition. ```Data Configuration 42:labs/item/effective_power/\n42:labs/item/vril_sphere/\n42:labs/item/zero_gravity/\n42:labs/item/luftballon/\n42:labs/item/tablet/antman/\n42:labs/item/tablet/hobbit/\n42:labs/item/tablet/bossmode/\n42:labs/item/tablet/giganto/\n42:labs/item/tablet/xltt/\n42:labs/item/archive/budder/\n42:labs/item/archive/sticky_piston/\n42:labs/item/archive/the_sun/ ``` -------------------------------- ### Manage Command Feedback Visibility Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Controls whether command feedback messages are displayed to the player. Disabling this can reduce chat spam from custom chat menus, but it will also hide feedback for all other commands. ```Minecraft Commands /gamerule sendCommandFeedback false ``` -------------------------------- ### Control Mob Spawning Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Determines if mobs are allowed to spawn naturally in the world. While running the world in Peaceful mode is problematic, disabling mob spawning via this gamerule is acceptable. ```Minecraft Commands /gamerule doMobSpawning false ``` -------------------------------- ### Define and Generate Thor Item Attribute Modifier Source: https://github.com/baphomet42/data-packs/blob/1.21.6/datapacks/BaphomethSlab/data/42/function/labs/items/log.md Defines the JSON-like template for the 'thor' item attribute modifier, which provides significant boosts to attack damage, attack speed, knockback resistance, armor toughness, and luck, while reducing fall damage. It also includes the regular expression pattern and replacement string for dynamic generation, ensuring accurate ID and slot substitution across multiple attributes. ```Data Configuration {amount:935.0d,id:"42:labs/item/thor/",operation:"add_value",slot:"",type:"minecraft:attack_damage"},{amount:935.0d,id:"42:labs/item/thor/",operation:"add_value",slot:"",type:"minecraft:attack_speed"},{amount:935.0d,id:"42:labs/item/thor/",operation:"add_value",slot:"",type:"minecraft:knockback_resistance"},{amount:935.0d,id:"42:labs/item/thor/",operation:"add_value",slot:"",type:"minecraft:armor_toughness"},{amount:935.0d,id:"42:labs/item/thor/",operation:"add_value",slot:"",type:"minecraft:luck"},{amount:-1.0d,id:"42:labs/item/thor/",operation:"add_multiplied_total",slot:"",type:"minecraft:fall_damage_multiplier"} ``` ```Regex \{id:"build_search_mod:thor/([a-z0-9_]*)",slot:"([a-z0-9_]*)",type:"42:dummy",amount:0d,operation:"add_value"\} ``` ```Data Configuration {amount:935.0d,id:"42:labs/item/thor/$1",operation:"add_value",slot:"$2",type:"minecraft:attack_damage"},{amount:935.0d,id:"42:labs/item/thor/$1",operation:"add_value",slot:"$2",type:"minecraft:attack_speed"},{amount:935.0d,id:"42:labs/item/thor/$1",operation:"add_value",slot:"$2",type:"minecraft:knockback_resistance"},{amount:935.0d,id:"42:labs/item/thor/$1",operation:"add_value",slot:"$2",type:"minecraft:armor_toughness"},{amount:935.0d,id:"42:labs/item/thor/$1",operation:"add_value",slot:"$2",type:"minecraft:luck"},{amount:-1.0d,id:"42:labs/item/thor/$1",operation:"add_multiplied_total",slot:"$2",type:"minecraft:fall_damage_multiplier"} ``` -------------------------------- ### Prevent Mob Griefing Source: https://github.com/baphomet42/data-packs/blob/1.21.6/README.md Prevents certain mobs, like Endermen, from interacting with and breaking blocks. This is recommended to protect equipment and level structures from environmental damage. ```Minecraft Commands /gamerule mobGriefing false ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.