### Target Furniture Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Targeters/Furniture.md This example demonstrates how to use the Furniture targeter within a skill. It targets furniture and then triggers a subsequent skill. ```yaml ExampleSkill: Skills: - skill{s=TargetFurniture} @Forward{f=2} TargetFurniture: Skills: - sudoskill{cat=true;s=FoundFurniture} @Furniture FoundFurniture: Skills: - message{m=You have found me, human!} @trigger ``` -------------------------------- ### Set and Read Furniture Variable Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/FurnitureVariableSet.md This example demonstrates setting a string variable 'example' with the value 'hello world' on all furniture entities of type 'Example_Furniture' within a 10-radius. It then iterates through these entities, constructs a message using the target's UUID and the furniture's 'example' variable, and displays it. ```yaml Skills: - furniturevariableset{var=example;type=STRING;val=hello world} @FurnitureInRadius{r=10;types=Example_Furniture} - foreach{skill=[ - setvariable{var=skill.message;type=STRING;val=" "} - message{m=} @self ]} @FurnitureInRadius{r=10;types=Example_Furniture} ``` -------------------------------- ### Basic Furniture Configuration Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Furniture.md This example shows the basic structure for defining a piece of furniture with its ID, type, and furniture-specific properties like Material and Model. ```yaml ExampleFurniture: Id: IRON_NUGGET Type: FURNITURE Model: 5 Furniture: Material: GOLD_NUGGET Model: 6 ``` -------------------------------- ### Example Furniture Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Furniture.md A comprehensive example of a furniture configuration, including its ID, display name, type, material, model, health, barriers, lights, seats, and associated skills. ```yaml TestFurniture: Id: IRON_NUGGET Display: 'Probably a Chair' Type: FURNITURE Furniture: Material: GOLD_NUGGET Model: 5 Health: 3 Barriers: - 0,0,0 Lights: - 0,2,0 15 Seats: - 0,0.9,0,0,0 FurnitureSkills: - sound{s=entity.chicken.egg} @self ~onBlockPlace - sound{s=entity.chicken.egg} @self ~onInteract - sound{s=entity.zombie.break_wooden_door} @self ~onBlockBreak - sound{s=block.lever.click} @self ~onBlockRotate - sound{s=entity.zombie.attack_wooden_door} @self ~onDamaged ``` -------------------------------- ### Example SnapshotUsedBow Skill Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/SnapshotUsedBow.md This example demonstrates how to use the snapshotusedbow skill in conjunction with a delay and projectilehit. ```yaml ExampleSnapshot: Skills: - snapshotusedbow - delay 100 - projectilehit ``` -------------------------------- ### Example Item Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Items.md This is an example of an item configuration that can be used with MythicCrucible. It specifies material, equip slot, a skill to execute on equip, and conditions for the item to apply its stats and skills. ```yaml ExampleItem: Material: STONE_SWORD EquipSlot: HAND EquipSlotSkill: DoFancyStuff EquipConditions: - day true ``` -------------------------------- ### ItemUpdater Example with Version 1 Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Item-Updater.md An example item configuration demonstrating the ItemUpdater with Version set to 1. This item will be updated if its version differs upon MM reload. ```yaml yet_another_example_item: Id: diamond_sword ItemUpdater: Version: 1 PreserveStatRatio: true Lore: - "Really really cool sword." ``` -------------------------------- ### ItemUpdater Example with Version 2 Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Item-Updater.md This example shows an item with ItemUpdater Version set to 2. When a player interacts with this item, it will replace any previous version with updated lore. ```yaml yet_another_example_item: Id: diamond_sword ItemUpdater: Version: 2 PreserveStatRatio: true Lore: - "I hated the old lore so I updated it." ``` -------------------------------- ### MythicKeys Triggers Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Triggers.md This example demonstrates how to use MythicKeys triggers to bind skills to player key presses and releases, specifically for the jump key. ```yml COOL_ITEM: Id: STICK Display: I'm a cool stick Skills: - message{m="You pressed the jump key"} @Self ~onPress ?keyid{id=minecraft:jump} - message{m="You released the jump key"} @Self ~onRelease ?keyid{id=minecraft:jump} ``` -------------------------------- ### Example Item with Multiple Recipe Types Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Recipes.md An example item showcasing various recipe types including FURNACE, SHAPED, BREWING, and SHAPELESS. This illustrates how a single item can be crafted in multiple ways. ```yaml ExampleItem: Id: GOLD_NUGGET Model: 5 Display: 'Test Recipe Item' Recipes: FURNACE: Type: FURNACE Amount: 1 CookingTime: 120 Experience: 5 Ingredient: diamond SHAPED_1: Type: SHAPED Amount: 1 Ingredients: - apple | air - air | apple BREWER_1: Type: BREWING Amount: 1 Ingredient: apple InputItem: diamond SHAPELESS_1: Type: SHAPELESS Amount: 1 Ingredients: - apple - apple - diamond - TestRecipe ``` -------------------------------- ### onBlockBreak Trigger Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Triggers/onBlockBreak.md This example demonstrates how to use the onBlockBreak trigger to play a sound when a custom block is broken. The sound played is 'block.amethyst_block.break'. ```yaml CustomBlockSkills: - sound{s=block.amethyst_block.break} @self ~onBlockBreak ``` -------------------------------- ### Parse Armor Skill Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/parsearmor.md This example demonstrates how to use the parsearmor mechanic within a MythicMobs skill configuration. It targets the player using the skill ('@self') and triggers on item use ('~onUse'). ```yaml Skills: - parsearmor @self ~onUse ``` -------------------------------- ### Basic onAttack Skill Implementation Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Triggers/onAttack.md This example demonstrates how to attach a skill to an item that will be executed when the item is used to attack an entity. The 'ignite' skill is applied to the target entity. ```yml ExampleItem: Material: STONE_SWORD Skills: - ignite @trigger ~onAttack ``` -------------------------------- ### ProjectileHit Mechanic Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/ProjectileHit.md This example demonstrates how to use the projectile mechanic to launch a custom projectile and then apply the projectilehit mechanic upon impact. The 'm=1.2' attribute sets the damage multiplier. ```yaml SuperProjectile: Skills: - snapshotusedbow - projectile{...;onHit=SuperProjectile-Hit} @target SuperProjectile-Hit: Skills: - projectilehit{m=1.2} ``` -------------------------------- ### Execute Skill on Block Place Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Triggers/onBlockPlace.md This example demonstrates how to play a sound effect when a custom block is placed. The trigger is activated by the onBlockPlace event. ```yaml CustomBlockSkills: - sound{s=block.amethyst_block.place} @self ~onBlockPlace ``` -------------------------------- ### Set Compass Location Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/SetCompassLocation.md Example of how to use the setcompasslocation mechanic to set a compass's target to a specific coordinate. ```yaml CustomCompass: Id: COMPASS Skills: - setcompasslocation{} @Location{x=100;y=71;z=-120} ~onUse ``` -------------------------------- ### Stonecutting Recipe Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Recipes/Stonecutting.md Example configuration for a stonecutting recipe. Ensure the server is restarted after adding or modifying recipes. ```yaml ExampleItem: Id: GOLD_NUGGET Model: 1 Display: 'An example item' Recipes: STONECUTTING: Type: STONECUTTING Amount: 4 BaseItem: GRASS_BLOCK ``` -------------------------------- ### Consume Ammo Skill Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/ConsumeAmmo.md This example demonstrates how to configure the consumeAmmo skill for an item. It specifies that 1 ammo should be consumed and defines the skills to trigger on consumption ('ConsumeMetaSkill') and when no ammo is available ('NoAmmoMetaSkill'). ```yaml MyItem: Skills: - consumeAmmo{amount=1;onConsume=ConsumeMetaSkill;onNoAmmo=NoAmmoMetaSkill} ``` -------------------------------- ### Example Furnace Recipe Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Recipes/Furnace.md This YAML configuration demonstrates how to define recipes for different furnace types like FURNACE and BLASTING. Ensure the 'Type' matches the desired workstation and 'CookingTime' is set in ticks. ```yaml ExampleItem: Id: GOLD_NUGGET Model: 1 Display: 'An example item' Recipes: FURNACE: Type: FURNACE Amount: 1 CookingTime: 400 Ingredient: APPLE BLASTING: Type: BLASTING Amount: 1 CookingTime: 200 Ingredient: APPLE ``` -------------------------------- ### Configure Item with Ammo and Lore Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Ammo.md An example item configuration enabling ammo, setting consume on use, and defining lore display. ```yaml TestGun: Id: BLAZE_ROD Model: 10 Display: 'X-97 Testing Phaser' Ammo: Enabled: TRUE ConsumeOnUse: true Bullet: TestAmmo ClipSize: 10 AmmoPerItem: 1 Lore: - "&7Ammunition 10 / 10" Skills: - consumeammo{amount=1; onNoAmmo=TestGun-OutOfAmmo; onUse=TestGun-Fire} @self ~onUse - reloadammo{sync=false; onReload=TestGun-Reload; onFail=TestGun-Reload-Fail; onFull=TestGun-Reload-Full} @self ~onSwing ``` -------------------------------- ### Basic Custom Block Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Custom-Blocks.md A simple custom block configuration for a MUSHROOM_BLOCK type with a specified texture. ```yaml TestBlock: Id: STONE Model: 5 Display: 'Probably a Block' Type: BLOCK CustomBlock: Type: MUSHROOM_BLOCK Id: 30 Texture: block/exampletexture CustomBlockSkills: - sound{s=block.amethyst_block.place} @self ~onBlockPlace - sound{s=block.amethyst_block.break} @self ~onBlockBreak ``` -------------------------------- ### onCancelUse Skill Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Triggers/onCancelUse.md This example demonstrates how to apply a message skill that triggers when the player stops using the item. The target is set to '@self', meaning the skill affects the player executing the trigger. ```yml ExampleItem: Material: SHIELD Skills: - message{m="Are we done with that? T.T"} @self ~onCancelUse ``` -------------------------------- ### UpdateLore Skill Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/UpdateLore.md This example demonstrates how to use the updatelore skill to add dynamic lore to an item. The lore line includes a placeholder for a random number between 0 and 5. ```yaml MyItem: Id: stick Display: 'Godly Stick' Lore: - 'This is a random number ' Skills: - updatelore{} ~onUse ``` -------------------------------- ### Advanced Custom Block Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Custom-Blocks.md This example demonstrates a more comprehensive custom block configuration, including a custom ID, model, display name, texture, hardness, and specific tool interactions with speed multipliers. ```yaml ACustomBlock: Id: BROWN_MUSHROOM_BLOCK Model: 18 Display: 'a custom block' Type: BLOCK CustomBlock: Type: MUSHROOM_BLOCK Id: 18 Texture: block/a_special_block Hardness: 5 Tools: - WOODEN_PICKAXE 2 - STONE_PICKAXE 4 - IRON_PICKAXE 6 - GOLDEN_PICKAXE 12 - DIAMOND_PICKAXE 8 - NETHERITE_PICKAXE 9 - CustomMythicPickaxe 18 ``` -------------------------------- ### Set Item Lore on Use Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/SetLore.md This example demonstrates how to change an item's lore when a player right-clicks with it. Ensure the 'lore' attribute is correctly formatted with lines of text. ```yaml MyItem: Id: stick Display: 'Godly Stick' Lore: - 'This is line 1' - 'This is line 2' Skills: - setlore{l="This is line 1","Is this line 2"} ~onUse ``` -------------------------------- ### ItemUpgradeLevel Condition Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Conditions/ItemUpgradeLevel.md This example demonstrates how to use the ItemUpgradeLevel condition to check if an item in the 'NONE' slot meets a minimum upgrade level of 1, while also checking the difference between the current and default level. ```yaml Conditions: - itemupgradelevel{checkupgrade=true;minimumlevel=1;slot=NONE} ``` -------------------------------- ### Target Furniture Near Origin Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Targeters/FurnitureNearOrigin.md This example demonstrates how to use the FurnitureNearOrigin targeter to select furniture within a 10-unit radius of the origin. The origin is defined by a forward particle effect. ```yaml Skills: - particle{origin=@Forward{f=10}} @FurnitureNearOrigin{r=10} ``` -------------------------------- ### Set Crossbow Charged Examples Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/setcrossbowcharged.md These examples demonstrate how to use the set crossbow charged mechanic to change the CustomModelData and charged state of a player's crossbow. The first example sets the crossbow to not charged with CustomModelData 3, while the second sets it to charged with CustomModelData 4. These are triggered based on whether the player is crouching. ```yaml TrickyCrossbow: Id: CROSSBOW Display: "Trick-y Crossbow" Skills: - setcrossbowcharged{m=3;charged=false} @self ~onSwing ?!crouching - setcrossbowcharged{m=4;charged=true} @self ~onSwing ?crouching ``` -------------------------------- ### Configure a Netherite Backpack Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Bags.md Advanced configuration for a custom backpack item, including display name, lore, inventory size, sounds, auto-pickup, and notifications. This example uses a template and specifies custom models and sounds. ```yaml NetheriteBackpack: Template: UncommonBag Display: "Netherite Backpack" Generation: "backpacks/netherite_backpack" Model: 90000 Lore: Description: "A Sturdy Backpack with lots of room!" Inventory: Size: 18 Title: "&f" PreventBagNesting: true SaveOnItemUpdate: true Sounds: Open: "mythic:backpack.zipper_open" Close: "mythic:backpack.zipper_close" Pickup: "entity.villager.death" Volume: 1 Pitch: 1 AutoPickup: Enabled: true OnlyWhenFull: true CollectWhenHeld: false AddToBagStacks: true BlacklistedItems: - BEDROCK - COMMAND_BLOCK Particles: Enabled: true Type: "SMOKE_NORMAL" Count: 5 Notifications: NearlyFull: Enabled: true Threshold: 3 Message: "§8Your Netherite Backpack is nearly full! ({slots} slots left)" ``` -------------------------------- ### ReloadAmmo Skill Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/ReloadAmmo.md This example demonstrates how to configure the reloadammo skill. It specifies that the operation should be asynchronous and defines meta-skills to be executed on reload completion, failure, and when the gun is already full. ```yaml Skills: - reloadammo{sync=false; onReload=TestGun-Reload; onFail=TestGun-Reload-Fail; onFull=TestGun-Reload-Full } @self ~onSwing ``` -------------------------------- ### Remove Triggering Item on Pickup Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/RemoveTriggeringItem.md This example demonstrates how to remove the item that was picked up, triggering the SkillTree. It also plays a sound effect to the player and cancels the event. ```yaml - skill{sync=true;s=[ - cancelEvent @Self - sound{s=block.amethyst_block.break;p=1.5;audience=@self} @self - removeTriggeringItem ]} @self ~onPickup ``` -------------------------------- ### Set Pieces Placeholder for Equipment Sets Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Track the number of pieces equipped from a specific set using placeholders like ``, for example, ``. ```yaml - message{m="Set pieces: "} @self ``` -------------------------------- ### Consume Item Skill Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/Consumeitem.md Use this skill to remove a specified amount of a particular item from the player's inventory. Ensure the item and amount are correctly specified. ```yaml Skills: - consumeitem{i=DIRT;a=32} ``` -------------------------------- ### Custom Font Image Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Example configuration for defining custom bitmap fonts in `font-images.yml`. This allows custom images to be used as special characters in placeholders and text. ```yaml Donut: Type: bitmap Char: "\u0a86" File: unicode/coverscreen/donut Ascent: 8 Height: 8 ``` -------------------------------- ### Define a Small Custom Bag Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Bags.md Create a basic custom bag by assigning the 'BAG' type to an item. This example defines a small bag with 9 inventory slots. ```yaml SMALL_BAG: Id: paper Type: BAG Inventory: Title: Small Bag Size: 9 SaveOnItemUpdate: true ``` -------------------------------- ### Integrate Workbench with Command Mechanic Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Recipes/Workbenches.md Use the command mechanic to trigger workbench access without player input. This example shows how to open the mega workbench when a furniture item is interacted with. ```yaml ExampleCraftingTable: Id: IRON_NUGGET Display: 'Mega Crafting Table' Type: FURNITURE Furniture: Material: GOLD_NUGGET Model: 5 Health: 1 Barriers: - 0,0,0 FurnitureSkills: - command{c="megaworkbench "} @trigger ~onInteract ``` -------------------------------- ### Add Skill to Item Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Usage.md This example shows how to add a particle line skill to a diamond sword that triggers on use. Skills are added in a 'Skills:' block using MythicMobs syntax. ```yaml SpecialSword: Id: DIAMOND_SWORD Display: '&6A Sword with a Skill' Skills: - effect:particleline{p=flame} @targetlocation ~onUse ``` -------------------------------- ### Dynamically Change Furniture Inventory Name Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/furnitureinventory.md Demonstrates changing the inventory name dynamically. The inventory is bound to the furniture, and its name can be updated on each opening as long as the size remains constant (54 slots in this example). ```yaml FurnitureSkills: - randomskill{ s=[ - FurnitureInventory{title="Hello";size=54} ], [ - FurnitureInventory{title="World";size=54} ] } @trigger ~onInteract ``` -------------------------------- ### WorldEdit Custom Block Placement Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Custom-Blocks.md Demonstrates the WorldEdit command syntax for placing custom blocks, including custom namespaces. ```plaintext //set mythic:ItemName ``` ```plaintext //set mynamespace:ItemName ``` -------------------------------- ### Consume Item Durability Example Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/ConsumeItemDurability.md Use this skill to reduce an item's durability. The 'a' attribute specifies the amount to consume. This example consumes 10 durability from the item used by the caster on ability use. ```yaml Skills: - ConsumeItemDurability{a=10} @self ~onUse ``` -------------------------------- ### Self-Hosting Deployment Options Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Configure the port for SELFHOST deployment. ```yaml SelfHosting: # The port to use Port: 8080 ``` -------------------------------- ### Remove Furniture with Drops Enabled Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/furnitureremoveat.md Removes furniture at a relative location, enabling drops. This example triggers on interaction. ```yaml FurnitureSkills: - removefurnitureat{doDrops=true} @selflocation{xoffset=1} ~onInteract ``` -------------------------------- ### Shaped Recipe with Wildcard Ingredients Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Recipes.md Demonstrates using wildcards for both Mythic items ('m') and vanilla items ('v') in a shaped recipe. This allows for flexible ingredient matching based on partial item names. ```yaml TEST_WAND: Recipes: Recipe: Type: SHAPED Ingredients: - 'AIR |m *jewel| AIR' - 'AIR |v *PLANKS| AIR' - 'AIR |v *PLANKS| AIR' ``` -------------------------------- ### General Resource Pack Generation Settings Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Set the namespace, enable merging of other resource packs like ModelEngine and HappyHUD, and configure whether the final pack should be zipped. ```yaml Generation: # The namespace to use Namespace: mythic # If the ModelEngine resourcepack should be automatically merged MergeModelEngine: true # If the HappyHUD resourcepack should be automatically merged MergeHappyHUD: true # If the pack should be zipped ZipPack: true ``` -------------------------------- ### Consume Durability on Attack Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/ConsumeHeldDurability.md Example of consuming 10 durability from the held item when the player attacks. The item can break if durability reaches zero. ```yaml Skills: - consumehelddurability{a=10} @self ~onAttack ``` -------------------------------- ### Create Dummy Item with Skills in MythicMobs Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/MMOItems.md Define a dummy item in MythicMobs to hold the skills you want to apply to an MMOItem. The item's ID and other settings are irrelevant as it only serves as an anchor for skills. ```yaml LavariteSword: Id: STICK # doesn't matter since it's a dummy item Skills: - skill{s=[ - effect:particleline{p=flame;amount=5;speed=0.1;yOffset=0.45;hO=0.5;vO=0.5} - damage{amount=10;element=FIRE} - ignite{ticks=100} ]} @target ~onUse ``` -------------------------------- ### Self-Hosting Deployment Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Configure self-hosting for resource pack deployment. Ensure the specified port is open and AutoSend URL points to your server's IP and port. ```yaml Deployment: Enabled: true Type: SELFHOST SelfHosting: Port: 8080 AutoSend: Enabled: true SendOnUpdate: true # should /mm i generate push the new pack to online players immediately? PublicURL: http://12.34.567.890:8080 Force: false # If players need to accept the pack to play. Prompt: "This server requires a resource pack to play!" # The message shown when players join ``` -------------------------------- ### Check Attack Cooldown Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Conditions/AttackOnCooldown.md Use this condition to trigger events or actions only when the player is on an attack cooldown. No specific setup is required beyond including the condition. ```yaml Conditions: - attackoncooldown ``` -------------------------------- ### Apply an Equipment Set to an Item Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Sets.md Assign an existing equipment set to an item by specifying the set's key in the `EquipmentSet` option within the item's configuration. ```yaml ExampleItem: Material: STONE_SWORD EquipmentSet: PHOENIX ``` -------------------------------- ### Create a New Equipment Set Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Sets.md Define a new equipment set by adding its configuration to the `equipment-sets.yml` file. Specify display names, lore, and tiered bonuses based on the number of equipped pieces. ```yaml PHOENIX: Enabled: true # Will default to true if not set Display: 'Phoenix Set' Lore: - 'Phoenix Set' - '[2]: +20% Critical Strike Chance' - '[4]: 20% chance on being hit to burn' - 'ignite attacker. +20% Critical Strike Damage.' Bonuses: - Pieces: 2 Stats: - CRITICAL_STRIKE_CHANCE 0.2 ADDITIVE - Pieces: 4 Stats: - CRITICAL_STRIKE_DAMAGE 0.2 ADDITIVE Skills: - ignite @trigger ~onDamaged 0.2 ``` -------------------------------- ### Set Compass to Lodestone Location Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/SetCompassLodestone.md Configures a custom compass to point to a specific world location when used. This example sets the target to coordinates x=100, y=71, z=-120. ```yaml CustomCompass: Id: COMPASS Skills: - SetCompassLodestone @Location{x=100;y=71;z=-120} ~onUse ``` -------------------------------- ### Configure Brewing Stand Recipe Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Recipes/Brewing.md Use this configuration to define a brewing recipe. The Ingredient goes in the top slot and the InputItem in a bottom slot of the brewing stand. ```yaml ExampleItem: Id: GOLD_NUGGET Model: 1 Display: 'An example item' Recipes: BREWER_1: Type: BREWING Amount: 1 Ingredient: apple InputItem: diamond ``` -------------------------------- ### Basic Item Generation Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Use this for simple item generation where the generator can auto-detect between .bbmodel, .json, or .png assets. ```yaml EmeraldSword: Material: DIAMOND_SWORD Model: 1 Generation: item/emerald_sword ``` -------------------------------- ### Item Configuration with Furniture States Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/furniturestate.md Defines a furniture item with multiple states (OPEN and CLOSED) and sets its default state to CLOSED. It also includes a skill to interact with the furniture. ```yaml #ITEM CONFIG ExampleFurniture: Id: STONE Display: "Example Furniture" Type: FURNITURE Furniture: Material: BRICK DefaultState: CLOSED States: OPEN: Model: 6 CLOSED: Model: 7 FurnitureSkills: - skill{s=ExampleFurniture_SwitchState} @self ~onInteract ``` -------------------------------- ### Using ParseWeapon on Use Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/ParseWeapon.md This snippet demonstrates how to apply the ParseWeapon mechanic when an item is used. It targets the player executing the action. ```yaml Skills: - parseweapon @self ~onUse ``` -------------------------------- ### Consume Item on Respawn Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/ConsumeUsedItem.md This example shows how to use the consumeuseditem skill to remove the item that triggered the skill tree when the entity respawns. The '@self' target indicates the skill affects the entity itself. ```yaml Skills: - consumeuseditem @self ~onRespawn ``` -------------------------------- ### Place Furniture at Target Block Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/PlaceFurnitureAt.md Use this skill to place a specified furniture at the block targeted by the player. Ensure the 'furniture' attribute is correctly defined. ```yaml Skills: - placefurnitureat @TargetBlock ``` -------------------------------- ### Inline Custom Model Data Check Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Conditions/custommodeldata.md This example demonstrates how to use the custommodeldata condition inline with a skill. It checks for custom model data '1' before executing the 'message' skill on item swing. ```yml INLINE_EXAMPLE: Id: STICK Skills: - message{m=test} @self ~onSwing ?custommodeldata{m=1} ``` -------------------------------- ### Define Augment Type Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Augments.md Configure a new Augment Type by specifying its display name, formatting for empty and filled slots, and icons. This setup determines how Augment slots appear on items. ```yaml GEM: Enabled: true Display: 'Gem' Formatting: Empty: ' Empty Slot' Filled: ' : ' Icons: Empty: '☆' Filled: '★' Invalid: '' ``` -------------------------------- ### Configure Furniture Occlusion Culling Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Enable and configure per-player furniture culling behind solid blocks globally or per-furniture using `Cullable: true`. ```yaml Configuration: Furniture: Culling: Enabled: true Interval: 1 ForceAll: true MinDistance: 0.0 MaxDistance: 64.0 PaddingWidth: 0.0 PaddingHeight: 0.0 HiddenStatue: Type: FURNITURE Furniture: Cullable: true ``` -------------------------------- ### Configure Furniture Hitboxes Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/1.6.x_changelogs.md Configure hitbox dimensions for furniture using Interaction Entities. Defaults to 1x1 if the furniture has no barriers, or 0 if it does. ```yaml Chair: Furniture: Hitbox: Height: 1 Width: 1 ``` -------------------------------- ### S3 Deployment Options Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Configure S3 storage details including bucket, key, and authentication credentials. ```yaml S3: Storage: Key: pack Bucket: packs Authentication: Endpoint: '' AccessKey: '' SecretKey: '' ``` -------------------------------- ### Configure Display Entity Furniture Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/1.6.x_changelogs.md Use this configuration to set up display entities as furniture. Type defaults to DISPLAY on 1.19.4+ and ITEM_FRAME on earlier versions. DISPLAY should be backwards compatible with default options. ```yaml Furniture: Type: DISPLAY Scale: 0.5,0.5,0.5 (size of the model, defaults to 0.5 to match itemframe sizing) Transform: [FIXED/HEAD/GROUND/GUI/LEFT_HAND/RIGHT_HAND, defaults to FIXED] Billboard: [FIXED/CENTER/VERTICAL/HORIZONTAL] Brightness: [brightness] InterpolationDelay: [delay before beginning interpolation] InterpolationDuration: [seconds to interpolate scaling over] ``` -------------------------------- ### Referencing Vanilla Textures for Fonts Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Demonstrates how to configure font entries to use vanilla Minecraft textures. Ascent and Height are required when using the 'minecraft:' namespace. ```yaml lightning: File: unicode/lightning iron_boots: File: minecraft:item/iron_boots Ascent: 8 Height: 9 ``` -------------------------------- ### Disable Noteblock Updates on Paper Server Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Custom-Blocks.md To prevent visual glitches with custom blocks, it's recommended to disable block updates for the base block type on Paper servers. This example shows how to disable updates for Noteblocks. ```yaml block-updates: disable-chorus-plant-updates: false disable-mushroom-block-updates: false disable-noteblock-updates: true disable-tripwire-updates: false ``` -------------------------------- ### Optifine File Generation Setting Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Determine whether related Optifine files should be generated for custom armors. ```yaml # If the related optifine files should be generated GenerateOptifineFiles: true ``` -------------------------------- ### Enable PackSquash for Pack Optimization Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Configure PackSquash integration to optimize generated zipped resource packs. Specify paths for the executable and settings, and set a cache size. ```yaml Generation: PackSquash: Enabled: true ExecutablePath: plugins/MythicCrucible/generation/packsquash/packsquash SettingsPath: plugins/MythicCrucible/generation/packsquash/packsquash.toml CacheSize: 5 ``` -------------------------------- ### Generate Furniture with Custom Models and States Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Defines a piece of furniture with a base material, custom model ID, display name, and generation path. It also shows how to define furniture states with different models and generation paths. ```yml TestGeneration5: Material: LEATHER_BOOTS Model: 10 # ^^^ The CustomModelData ID for the Material to use. # In this case, the model generated will be # LEATHER_BOOTS with a CustomModelData ID of 10. Display: 'Test Generation 5' Generation: item/toilet # ^^^ This denotes the file structure for the item's model to be placed. Type: FURNITURE Furniture: Type: DISPLAY Material: BRICK Model: 11 # Furniture states are also accounted for in the same way. # For example, item/toilet would be BRICK CMD 11 Generation: item/toilet States: UH_OH: Model: 12 Generation: item/toilet_flushed # And this would be BRICK CMD 12 ``` -------------------------------- ### AutoSend Configuration for Deployment Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Enable automatic sending of the resource pack to players, configure update behavior, public URL, force prompt, and the join message. ```yaml AutoSend: Enabled: false SendOnUpdate: false PublicURL: https://s3.yourcoolwebsite.com Force: false # If players need to accept the pack to play. Prompt: "This server requires a resource pack to play!" # The message shown when players join ``` -------------------------------- ### Define Item Model Selection Based on Display Context Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Use 'Select' to choose different item models based on the 'minecraft:display_context' property, such as 'gui'. ```yaml MenuIcon: Material: PAPER Generation: Model: item/menu_icon Select: Property: minecraft:display_context Cases: - When: - gui Model: item/menu_icon_gui ``` -------------------------------- ### Configure Furniture Light Sources Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Furniture.md Define relative coordinates and light levels for light sources. Light blocks rotate with furniture and cannot overlap barriers or non-air blocks. ```yaml Furniture: Lights: - -1,0,0 15 # Will be placed one block "to the right" the base of the Furniture, based on the Furniture's rotation with light level 15. - 0,-1,0 15 # Will be placed one block below the base of the Furniture - 0,0,-1 15 # Will be placed one block "backward" the base of the Furniture, based on the Furniture's rotation ``` -------------------------------- ### Apply Tint to Item Models Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Generate item models with custom tints, supporting various types like DYE, Potion, and Grass. ```yaml TintedBlade: Material: DIAMOND_SWORD Generation: Model: item/tinted_blade Tint: - Type: DYE Index: 0 Default: "#FFFFFF" ``` -------------------------------- ### Open Backpack Skill Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/OpenBackpack.md This snippet shows how to activate the 'openbackpack' skill. Ensure the skill is correctly listed under the 'Skills' section. ```yaml Skills: - openbackpack ``` -------------------------------- ### Multiline Tooltips for Augmentations Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Augment tooltips can now be defined as a list, allowing for multiline descriptions. ```yaml SharpnessAugment: Material: AMETHYST_SHARD Augmentation: Type: GEM Tooltip: - "Increases weapon damage" - "Socket this into a weapon" ``` -------------------------------- ### Configure Connectable Furniture Models Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Define `ConnectionModels` for furniture that dynamically changes its model based on adjacent furniture of the same type. Supports various connection types. ```yaml CastleWall: Type: FURNITURE Furniture: Type: DISPLAY ConnectionModels: Default: mythic:item/wall_default Straight: mythic:item/wall_straight Left: mythic:item/wall_left Right: mythic:item/wall_right Inner: mythic:item/wall_inner Outer: mythic:item/wall_outer ``` -------------------------------- ### Configure Furniture States Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Furniture.md Defines different visual states for furniture, allowing for dynamic changes like growing crops or opening drawers. Each state can have its own model and properties like lights or glowing frames. ```yaml TestFurniture: Furniture: DefaultState: States: : Model: 2 : Model: 3 ``` -------------------------------- ### Container Placeholders for Size and Item Counts Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md These placeholders provide information about container size and the amount of specific items within it, such as `` and ``. ```yaml - message{m="Chest size: , diamonds: "} @self ``` ```yaml - message{m="Slot 0: x "} @self ``` -------------------------------- ### Auto Deployment Configuration (General) Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/ResourcePack-Generator.md Enable or disable the auto deployment feature and select the deployment type (SELFHOST or S3). ```yaml Deployment: # If the auto deployment feature is enabled Enabled: false # The type of the auto deployment. Can be SELFHOST or S3 Type: SELFHOST ``` -------------------------------- ### Item Interaction Placeholders for Triggers Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md New placeholders like ``, ``, and `` are available for inventory and drag/drop triggers, providing detailed item context. ```yaml - message{m="x in slot "} @self ~onInventoryTake ``` -------------------------------- ### Skill Configuration for Furniture State Change Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Skills/Mechanics/furniturestate.md Configures a skill to switch the furniture state. It includes a condition to check the current state and an alternative skill to cast if the condition is not met. ```yaml #SKILL CONFIG ExampleFurniture_SwitchState: Conditions: - furnitureState{s=CLOSED} orElseCast ExampleFurniture_Close Skills: - furniturestate{state=OPEN} ExampleFurniture_Close: Skills: - furniturestate{state=CLOSED} ``` -------------------------------- ### Enable Glowing Furniture Item Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Furniture.md Sets whether the furniture item should have a glowing effect. Defaults to false. ```yaml Furniture: GlowingItem: true ``` -------------------------------- ### Define Item Generation Namespace and Model Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Configure item-specific generation settings, including the namespace and model for resource pack creation. ```yaml SomeItem: Material: DIAMOND_SWORD Generation: Namespace: cosmetics Model: item/ruby_blade Texture: item/ruby_blade ``` -------------------------------- ### Shapeless Recipe with Crafting Skills Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Recipes.md Configures a shapeless recipe that triggers a MythicMobs skill upon successful crafting. The `` placeholder can be used to reference the number of items crafted. ```yaml ThiccItem: Recipes: Recipe: Type: SHAPELESS Ingredients: - slime_ball - honey_bottle CraftSkills: - lightning @self ``` -------------------------------- ### Configure Furniture Display Properties Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Furniture.md Sets the display properties for furniture, such as height, width, and scale. These properties affect how the furniture is rendered in the game world. ```yaml Furniture: Type: DISPLAY Height: 2 Width: 2 Scale: 2,2,2 ``` -------------------------------- ### WorldEdit Furniture Copy/Paste Commands Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Utilize WorldEdit commands `//copy -e` and `//paste -e` to copy and paste furniture entities, preserving their state, color, orientation, and variables. ```text //copy -e //paste -e ``` -------------------------------- ### Paint Brush Item Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Paint-Brush.md Configure a Paint Brush item with its material, display name, type, color options, and skills. The `onPaint` trigger is essential for its functionality. ```yaml TestPaintBrush: Material: LEATHER_BOOTS Display: 'Paint Brush' Type: PAINT_BRUSH Options: Color: 0,0,255 Skills: - particles{p=reddust;size=;color=;a=5;hS=0.5;vS=0.5} @origin ~onPaint ``` -------------------------------- ### Enable Auto-Sending Resource Packs During Configuration Source: https://github.com/mythiccraft/mythiccrucible.wiki/blob/master/Changelogs.md Configure automatic resource pack sending to occur during Paper's configuration phase on supported versions. ```yaml Generation: Deployment: AutoSend: Enabled: true DuringConfiguration: true ```