### Simple Resource Pack Prompt Example Source: https://docs.oraxen.com/configuration/branding-customization A basic example of a resource pack prompt using gold color. ```yaml prompt: "Please accept the resource pack to see custom items!" ``` -------------------------------- ### Branded Resource Pack Prompt Example Source: https://docs.oraxen.com/configuration/branding-customization Example of a branded resource pack prompt using a color gradient. ```yaml prompt: "MyServer requires this pack for the full experience!" ``` -------------------------------- ### PackLayer Configuration Example Source: https://docs.oraxen.com/compatibility/packlayer This is an example of the `config.yml` file used to configure PackLayer's behavior, including skip modes, server filtering, trusted domains, and grace periods. ```yaml # PackLayer Configuration # Skip Mode - determines how PackLayer decides to skip duplicate packs # Options: # HASH_ONLY - Skip if SHA-1 hash matches (default, recommended) # URL_ONLY - Skip if URL matches # HASH_OR_URL - Skip if either hash OR URL matches # HASH_AND_URL - Skip only if both hash AND URL match # ALWAYS_SKIP - Always skip pack sends (testing only) # NEVER_SKIP - Never skip (effectively disables plugin) skip-mode: HASH_ONLY # Server Filter - control which backend servers PackLayer applies to server-filter: # Mode: DISABLED (all servers), WHITELIST, or BLACKLIST mode: DISABLED # List of server names (as defined in Velocity/BungeeCord config) servers: - lobby - hub # Trusted Domains - always skip packs from these domains # Supports wildcards: *.example.com, cdn.example.com/* trusted-domains: # - atlas.oraxen.com # - cdn.example.com # Grace period (ms) after server switch before applying skip logic # Set to 0 to disable. Useful if backend servers intentionally re-send packs. server-switch-grace-ms: 0 # Enable debug logging debug: false # Enable statistics tracking (packs skipped, bandwidth saved) statistics-enabled: true ``` -------------------------------- ### Emoji Resource Pack Prompt Example Source: https://docs.oraxen.com/configuration/branding-customization Example of a resource pack prompt including emojis and bold text. ```yaml prompt: "✨ Accept our custom pack for awesome items! ✨" ``` -------------------------------- ### Complete ChorusBlock Example with Custom Properties Source: https://docs.oraxen.com/creating-content/blocks/chorusblock This example demonstrates a full configuration for a custom ore block using the ChorusBlock mechanic, including display name, material, textures, hardness, light emission, blast resistance, and custom drops. ```yaml chorus_ruby_ore: displayname: "Ruby Ore" material: PAPER Pack: generate_model: true parent_model: "block/cube_all" textures: - ruby_ore.png Mechanics: chorusblock: custom_variation: 5 model: chorus_ruby_ore hardness: 8 light: 3 blast_resistant: true block_sounds: place_sound: block.deepslate.place break_sound: block.deepslate.break step_sound: block.deepslate.step drop: silktouch: true loots: - oraxen_item: ruby probability: 1.0 max_amount: 2 limited_placing: floor: true roof: true wall: true type: ALLOW block_tags: - base_stone_overworld - base_stone_nether ``` -------------------------------- ### Example: Apply Rainbow Effect Source: https://docs.oraxen.com/creating-content/text-effects Demonstrates applying the 'rainbow' text effect to the string 'Hello World!'. ```minecraft-command /oraxen texteffect rainbow Hello World! ``` -------------------------------- ### Example: Apply Shake Effect Source: https://docs.oraxen.com/creating-content/text-effects Demonstrates applying the 'shake' text effect to the string 'Very Shaky!'. ```minecraft-command /oraxen texteffect shake Very Shaky! ``` -------------------------------- ### Oraxen Direct Folder Structure Example Source: https://docs.oraxen.com/plugin-setup/pack-merging Illustrates the directory structure for placing custom resource pack files directly within the Oraxen plugin folder. ```text plugins/Oraxen/ └── pack/ ├── assets/ ← Direct resource pack files │ ├── minecraft/ │ │ ├── textures/ │ │ ├── models/ │ │ ├── lang/ │ │ └── sounds/ │ └── [custom_namespace]/ ├── textures/ ← Alternative: flat structure ├── models/ ├── sounds/ ├── lang/ ├── pack.mcmeta ├── pack.png └── uploads/ ← ZIP files go here ``` -------------------------------- ### Example: Apply Wave Effect Source: https://docs.oraxen.com/creating-content/text-effects Demonstrates applying the 'wave' text effect to the string 'Wavy Text'. ```minecraft-command /oraxen texteffect wave Wavy Text ``` -------------------------------- ### MiniMessage Simple Color Example Source: https://docs.oraxen.com/plugin-setup/understanding-the-basics Shows how to apply predefined color names and nesting within MiniMessage for text formatting. ```plaintext I'm green now I'm golden now I'm green again! ``` -------------------------------- ### ZIP Upload Priority Example Source: https://docs.oraxen.com/plugin-setup/pack-merging Demonstrates how file naming and processing order affect the final merged pack. Files processed later can override those processed earlier. ```text uploads/ ├── 0_base_pack.zip (contains: texture.png, model.json) ├── 1_custom_pack.zip (contains: texture.png, new_item.json) └── 2_override_pack.zip (contains: texture.png) Processing Order & Result 1. `0_base_pack.zip` → texture.png added 2. `1_custom_pack.zip` → texture.png **overrides** v1, new_item.json added 3. `2_override_pack.zip` → texture.png **overrides** v2 Final Pack Contains - `texture.png` from `2_override_pack.zip` - `model.json` from `0_base_pack.zip` - `new_item.json` from `1_custom_pack.zip` ``` -------------------------------- ### Basic Item Configuration Source: https://docs.oraxen.com/creating-content/items Defines the display name and base material for a custom item. This is the starting point for item creation. ```yaml onyx_axe: displayname: "<#6f737d>Onyx Axe" material: DIAMOND_AXE ``` -------------------------------- ### Oraxen Pack Merging Priority Example Source: https://docs.oraxen.com/plugin-setup/pack-merging Demonstrates the priority system for resource pack files, showing how defaults, direct folder files, and uploaded ZIPs are processed and which versions override others. ```text Defaults (Minecraft) ├── assets/minecraft/textures/block/dirt.png ├── assets/minecraft/models/block/stone.json └── assets/minecraft/textures/item/sword.png Direct Folders (pack/) ├── assets/minecraft/textures/block/dirt.png ← Different version └── assets/minecraft/textures/item/axe.png ← New file Uploaded ZIPs (pack/uploads/) ├── 01_base_pack.zip (contains: sword.png) └── 02_override_pack.zip (contains: dirt.png) ``` -------------------------------- ### Create Compatibility Class for MythicMobs Source: https://docs.oraxen.com/developers/create-your-own-compatibility Extend `CompatibilityProvider` and implement event handlers to add support for MythicMobs. This example shows the basic structure for handling MythicDropLoadEvent. ```java import io.lumine.xikage.mythicmobs.MythicMobs; import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicDropLoadEvent; import io.th0rgal.oraxen.compatibilities.CompatibilityProvider; public class MythicMobsCompatibility extends CompatibilityProvider{ @EventHandler public void onMythicDropLoadEvent(MythicDropLoadEvent event) { } } ``` -------------------------------- ### MiniMessage Auto Gradient Example Source: https://docs.oraxen.com/plugin-setup/understanding-the-basics Illustrates the automatic gradient application in MiniMessage by specifying start, middle, and end colors. ```plaintext This example automatically applies a gradient to whatever is between the start and end of the gradient ``` -------------------------------- ### Condition Examples for ClickAction Source: https://docs.oraxen.com/creating-content/items/abilities/clickaction Examples of conditions that can be used with the ClickAction mechanic, checking server status, player permissions, and game modes. ```plaintext #server.getOnlinePlayers().size() > 10 #server.getAllowEnd() #server.getDefaultGameMode() #player.world.name == 'world' #player.hasPermission("test.permission") #player.gamemode.name() == 'ADVENTURE' ``` -------------------------------- ### Complete Sound Configuration Example Source: https://docs.oraxen.com/configuration/sound-yml Defines various sound types including music discs, block sounds, ambient sounds, UI sounds, and weapon sounds. Ensure file paths are correct and formats are supported. ```yaml settings: automatically_generate: true sounds: # Music disc epic_theme: category: records sound: music/epic_theme.ogg stream: true subtitle: "Epic Theme Playing" jukebox_song: description: - text: "Epic Theme" color: "gold" italic: false - text: "By Composer Name" color: "gray" length_in_seconds: 240 comparator_output: 15 # Block sounds crystal_break: category: block sound: blocks/crystal/break.ogg subtitle: "Crystal shatters" crystal_step: category: block sound: blocks/crystal/step.ogg # Ambient sound magical_hum: category: ambient sound: ambient/magical_hum.ogg stream: true subtitle: "Magical humming" # UI sound menu_click: category: master sound: ui/menu_click.ogg # Weapon sound sword_swing: category: player sound: weapons/sword_swing.ogg subtitle: "Swoosh" ``` -------------------------------- ### Action Examples for ClickAction Source: https://docs.oraxen.com/creating-content/items/abilities/clickaction Demonstrates various actions that can be triggered by the ClickAction mechanic, including console commands, player messages, actionbars, and sounds. ```plaintext [console] say hello [player] say hello [message] Hello! [actionbar] Hello from the actionbar! {source=AMBIENT volume=0.1 pitch=1} [sound] minecraft:block.shulker_box.close ``` -------------------------------- ### Usage Example with MiniMessage Tags Source: https://docs.oraxen.com/creating-content/text-effects/configuration-reference Demonstrates how to apply text effects using MiniMessage format tags in chat or other text contexts. ```plaintext Rainbow text! Wavy text ``` -------------------------------- ### Configure Custom Music Disc Source: https://docs.oraxen.com/configuration/mechanics-yml Example configuration for a custom music disc named 'epic_disc', linked to a specific jukebox song key. ```yaml epic_disc: material: MUSIC_DISC_13 Components: jukebox_playable: song_key: "oraxen:epic_theme" ``` -------------------------------- ### Lightweight Fragment Shader Example Source: https://docs.oraxen.com/creating-content/text-effects/configuration-reference Use fragment-only shaders for simple effects that don't require vertex manipulation. This example sets the text color to red. ```yaml simple_red: snippets: - fragment: | texColor.rgb = vec3(1.0, 0.0, 0.0); ``` -------------------------------- ### Example Display Entity Furniture Configuration Source: https://docs.oraxen.com/creating-content/furniture/display-entities This YAML configuration demonstrates how to set up a 'cart' item as display entity furniture. It specifies properties like display name, material, and advanced display entity settings including hitbox and brightness. ```yaml cart: displayname: "Cart" material: PAPER Mechanics: furniture: type: DISPLAY_ENTITY hitbox: width: 0.4 height: 0.3 display_entity_properties: display_transform: NONE brightness: block_light: 15 sky_light: 0 barrier: true Pack: generate_model: false model: default/cart ``` -------------------------------- ### Configure Magic Wand with Custom Commands Source: https://docs.oraxen.com/configuration/mechanics-yml Example of applying the custom mechanic to a magic wand item, triggering console commands on right-click. ```yaml magic_wand: Mechanics: custom: one_usage: event: CLICK:right:all actions: console: - "give %player% diamond 1" ``` -------------------------------- ### Basic Furniture Configuration Source: https://docs.oraxen.com/vendors/vendor-guidelines Defines a custom furniture item with display name, material, and model settings. Use this for basic furniture setups. ```yaml my_example_furniture: displayname: "My Example Furniture" material: PAPER Pack: generate_model: false model: packname_or_something/model_file Mechanics: furniture: type: DISPLAY_ENTITY hitbox: width: 1.0 height: 1.0 display_entity_properties: display_transform: FIXED barrier: true ``` -------------------------------- ### GLSL Time-Based Animation Examples Source: https://docs.oraxen.com/creating-content/text-effects/configuration-reference Demonstrates how to create smooth oscillations, saw waves, and stepped animations using time and speed variables. Useful for animating effects over time. ```glsl // Smooth oscillation (0.0 to 1.0) float wave = (sin(timeSeconds * speed) + 1.0) * 0.5; // Saw wave (0.0 to 1.0 repeating) float saw = fract(timeSeconds * speed); // Stepped animation float step = floor(timeSeconds * stepsPerSecond); ``` -------------------------------- ### Configure Click Actions for ChorusBlock Source: https://docs.oraxen.com/creating-content/blocks/chorusblock Define actions to run when a ChorusBlock is clicked, optionally with conditions. This example shows a console command executed if the player has a specific permission. ```yaml Mechanics: chorusblock: custom_variation: 1 clickActions: - conditions: - "has_permission{perm=my.permission}" actions: - "[console] say %player% clicked the block!" ``` -------------------------------- ### Configure Legendary Sword as Soulbound Source: https://docs.oraxen.com/configuration/mechanics-yml Example configuration for a 'legendary_sword' item, making it soulbound to prevent loss on death. ```yaml legendary_sword: Mechanics: soulbound: enabled: true ``` -------------------------------- ### Simple Colored Prefix Example Source: https://docs.oraxen.com/configuration/branding-customization Use a single color tag to set a simple, colored prefix for Oraxen messages. ```yaml prefix: "[MyServer] " ``` -------------------------------- ### JSON Model for GUI Scaling Source: https://docs.oraxen.com/creating-content/items/appearance Example JSON model demonstrating GUI scaling with translation and scale properties. This is often used in conjunction with `oversized_in_gui`. ```json { "parent": "item/generated", "textures": { "layer0": "default/welcome_disk" }, "display": { "gui": { "translation": [-2, -2, 0], "scale": [2, 2, 2] } } } ``` -------------------------------- ### Default Oraxen Setup Configuration Source: https://docs.oraxen.com/plugin-setup/pack-hosting The default configuration for Oraxen, combining settings for resource pack upload, including options for Polymath and self-hosting. ```yaml Pack: upload: enabled: true type: polymath #transfer.sh, polymath, or self-host polymath: server: atlas.oraxen.com # you can also host your own polymath instance secret: "oraxen" # change this if you host your own polymath to limit access to resource pack uploading self-host: host: "0.0.0.0" # The IP address to bind the HTTP server to (0.0.0.0 = listen on all interfaces) port: 8080 # The port the HTTP server will listen on domain: "localhost:8080" # The domain/IP:port that players will use to download the pack (e.g., "my-server.com:8080" or "192.168.1.100:8080") ``` -------------------------------- ### Inline Plant Stages Configuration Source: https://docs.oraxen.com/creating-content/furniture/farming Defines all growth stages for a plant within a single item configuration. Use this for a streamlined setup. ```yaml rose_seed: displayname: "Rose Seed" material: PAPER Pack: generate_model: true parent_model: "item/generated" textures: - custom/plants/rose_seed # Define all growth stage models here models: stage0: custom/plants/rose_stage_0 stage1: custom/plants/rose_stage_1 stage2: custom/plants/rose_stage_2 stage3: custom/plants/rose_stage_3 Mechanics: furniture: barrier: false farmblock_required: true initial_stage: 0 # Start at stage0 when placed stages: - model: stage0 # References Pack.models key evolution: delay: 10000 probability: 0.5 light_boost: true bone_meal: chance: 50 drop: silktouch: true loots: - { oraxen_item: rose_seed, probability: 1.0 } - model: stage1 evolution: delay: 10000 probability: 0.5 light_boost: true bone_meal: chance: 50 drop: silktouch: true loots: - { oraxen_item: rose_seed, probability: 1.0 } - model: stage2 evolution: delay: 10000 probability: 0.5 light_boost: true bone_meal: chance: 50 drop: silktouch: true loots: - { oraxen_item: rose_seed, probability: 1.0 } - model: stage3 # Final stage - no evolution section drop: silktouch: true loots: - { oraxen_item: rose_seed, max_amount: 2, probability: 0.75 } - { oraxen_item: rose_plant, max_amount: 5, probability: 0.55 } ``` -------------------------------- ### Combine Item Appearance Systems Source: https://docs.oraxen.com/creating-content/items/appearance Enable multiple appearance systems simultaneously to leverage different rendering and data mechanisms. This example enables both the default item model component and custom_model_data strings. ```yaml appearance: item_properties: true # Sets item_model component model_data_ids: true # Also sets custom_model_data.strings[0] ``` -------------------------------- ### Configure Furniture Light Emission Source: https://docs.oraxen.com/creating-content/furniture Enable furniture to emit light by setting an intensity level between 1 and 15. This example also shows loot configuration. ```yaml Mechanics: furniture: barrier: true light: 5 drop: silktouch: false loots: - { oraxen_item: table, probability: 1.0 } ``` -------------------------------- ### Heavy Shader Example (Avoid) Source: https://docs.oraxen.com/creating-content/text-effects/configuration-reference Avoid complex calculations, heavy loops, or extensive vertex manipulation in shaders, as these can negatively impact performance, especially on lower-end hardware. ```yaml complex: snippets: - fragment: | // Avoid heavy loops or many calculations for (int i = 0; i < 100; i++) { // BAD texColor.rgb += someCalculation(i); } vertex: | // Complex vertex manipulation every frame ``` -------------------------------- ### Knockback Strike Item Configuration Source: https://docs.oraxen.com/creating-content/items/abilities/combat Example configuration for a 'Legendary Hammer' item, demonstrating how to set up the knockback strike mechanic with specific parameters for hits, forces, reset time, and effects. ```yaml legendary_hammer: displayname: "Legendary Hammer" material: DIAMOND_PICKAXE lore: - "<#ff455b>» <#D5D6D8>Strike your enemies with a devastating blow" - "<#ff455b>» <#D5D6D8>On the 15th hit, the player is launched forward" Mechanics: knockback_strike: required_hits: 15 # Hits needed to trigger knockback knockback_horizontal: 2.0 # Horizontal force (backward push) knockback_vertical: 1.2 # Vertical force (upward launch) reset_time: 80 # Ticks before hit counter resets (20 = 1 second) play_sound: true # Play sound on knockback trigger sound_type: ENTITY_ENDER_DRAGON_HURT # Sound to play sound_volume: 1.5 # Sound volume (0.0-2.0) sound_pitch: 0.8 # Sound pitch (0.5-2.0, lower = deeper) particle: type: DUST # Particle type to spawn count: 200 # Number of particles spread: 0.5 # Particle spread radius in blocks ``` -------------------------------- ### MiniMessage Formatting Example Source: https://docs.oraxen.com/configuration/branding-customization Use MiniMessage tags for colors, formatting, and placeholders within your custom messages. The '' placeholder inserts the configured plugin prefix. ```yaml updated_items: "✓ Updated items for !" ``` -------------------------------- ### Basic ChorusBlock Configuration Source: https://docs.oraxen.com/creating-content/blocks/chorusblock This is a basic example of how to configure a custom block using the ChorusBlock mechanic. Ensure the `custom_variation` is unique (1-63) and the `model` path matches your block's model. ```yaml my_chorus_block: displayname: "Custom Block" material: PAPER Pack: generate_model: true parent_model: "block/cube_all" textures: - my_block_texture.png Mechanics: chorusblock: custom_variation: 1 # Must be unique, 1-63 model: my_chorus_block hardness: 5 drop: silktouch: false loots: - { oraxen_item: my_chorus_block, probability: 1.0 } ``` -------------------------------- ### Configure Ruby Helmet with Components Source: https://docs.oraxen.com/creating-content/armors/components Example configuration for a ruby helmet using the PAPER material and specifying an equippable component. Ensure the itemID follows the armorname_armortype pattern. ```yaml ruby_helmet: displayname: "Ruby Helmet" material: PAPER Pack: generate_model: true parent_model: "item/generated" textures: - default/armors/ruby_helmet ``` -------------------------------- ### Configure Custom Magic Elytra Source: https://docs.oraxen.com/creating-content/armors/components Example configuration for a custom magic elytra. Item IDs should have an '_elytra' suffix, and texture files should match the armor name with an '_elytra.png' extension. Elytra items are detected by suffix, material, or item meta flag. ```yaml magic_elytra: displayname: "Magic Elytra" material: ELYTRA Pack: generate_model: true parent_model: "item/generated" textures: - default/armors/magic_elytra Components: equippable: slot: CHEST model: oraxen:magic_elytra ``` -------------------------------- ### PackLayer Event API Example (Velocity) Source: https://docs.oraxen.com/compatibility/packlayer Register an event handler to intercept pack skip events and optionally cancel them to force a pack resend for a player. ```java // Get the service (Velocity example) PackLayerVelocityPlugin plugin = /* get plugin instance */; PackLayerService service = plugin.getService(); // Register an event handler service.registerEventHandler(event -> { // Called when a pack skip is about to occur if (shouldForceResend(event.getPlayerId())) { event.setCancelled(true); // Force pack to be sent } }); // Manual pack cache control service.clearPlayer(playerId); ``` -------------------------------- ### GLSL Character-Based Variation Examples Source: https://docs.oraxen.com/creating-content/text-effects/configuration-reference Shows how to apply variations to effects based on character index, such as offsets, staggered animations, and grouping characters. Useful for unique per-character effects. ```glsl // Different value per character float offset = charIndex * 0.1; // Staggered animation float stagger = charIndex * 0.3; float anim = sin((timeSeconds - stagger) * speed); // Group characters float group = floor(charIndex / 3.0); // Groups of 3 ``` -------------------------------- ### Configure Teleport Stick with Custom Actions Source: https://docs.oraxen.com/configuration/mechanics-yml Example of using the custom mechanic for a 'teleport_stick' item. It triggers a player command ('spawn') on right-click with a 10-second cooldown. ```yaml teleport_stick: Mechanics: custom: teleport: event: CLICK:right:all cooldown: 10 actions: player: - "spawn" ``` -------------------------------- ### Example Custom Durability Value Source: https://docs.oraxen.com/configuration/mechanics-yml An example of how to set a custom durability value for a specific item, 'crystal_sword', within the durability mechanic. ```yaml crystal_sword: Mechanics: durability: value: 500 ``` -------------------------------- ### Configure Welcome Sound Source: https://docs.oraxen.com/configuration/branding-customization Enable and configure the welcome sound in settings.yml. You can change the sound type, volume, and pitch. ```yaml Pack: receive: loaded: actions: sound: enabled: true # Set to false to disable type: minecraft:welcome # Change to your custom sound volume: 1.0 pitch: 1.0 ``` -------------------------------- ### Registering a Custom Sound in sound.yml Source: https://docs.oraxen.com/configuration/sound-yml Example of how to register a custom sound effect in the sound.yml file. Ensure the .ogg sound file is placed in the correct pack directory and Oraxen is reloaded. ```yaml sounds: my_custom_sound: category: block sound: custom/my_sound.ogg subtitle: "Custom Sound Effect" ``` -------------------------------- ### Armor Configuration Example Source: https://docs.oraxen.com/creating-content/armors/shaders This YAML configuration defines a custom armor piece, specifying its display name, material, and texture generation settings. Ensure the item ID follows the 'armorname_armortype' pattern. ```yaml ruby_helmet: displayname: "Ruby Helmet" material: LEATHER_HELMET Pack: generate_model: true parent_model: "item/generated" textures: - default/armors/ruby_helmet - default/armors/ruby_helmet ``` -------------------------------- ### Oraxen Glyph Placeholder Example Source: https://docs.oraxen.com/creating-content/glyphs-hud Use the glyph ID as the section name to create a PlaceholderAPI placeholder. For example, if the glyph ID is 'heart', the placeholder becomes '%oraxen_heart%'. ```text %oraxen_glyphid% ``` -------------------------------- ### Custom Mechanic Example Source: https://docs.oraxen.com/creating-content/items/abilities/custom-ability This example demonstrates a custom mechanic triggered by a right-click. It checks for a specific permission and, if granted, gives the player a cooked beef item via the console. The item is not consumed after use. ```yaml Mechanics: custom: test: one_usage: false event: "CLICK:right:all" conditions: - "HAS_PERMISSION:example.permission" actions: - "[console] give cooked_beef 1" ``` -------------------------------- ### Configure Furniture Evolution Stages Source: https://docs.oraxen.com/creating-content/furniture Set up furniture to evolve over time, similar to crop growth. Configure evolution delay, next stage, probability, and optional boosts for light and rain, as well as bone meal interaction. ```yaml Mechanics: furniture: evolution: delay: 6000 # Ticks between evolution checks next_stage: my_plant_stage2 # The item ID to evolve into probability: 0.5 # Chance to evolve (0.0 to 1.0) light_boost: # Optional: speed up in light minimum_light_level: 9 boost_tick: 2000 # Ticks to add per check when light is sufficient rain_boost: # Optional: speed up in rain boost_tick: 1500 bone_meal: # Optional: allow bone meal to advance growth chance: 30 # Percentage chance to advance on bone meal use ``` -------------------------------- ### Get Text Effect Definition Source: https://docs.oraxen.com/creating-content/text-effects/api Retrieve a text effect definition by its name to access its properties. ```java TextEffect.Definition effect = TextEffect.getEffect("rainbow"); String name = effect.getName(); // "rainbow" int id = effect.getId(); // 0 String desc = effect.getDescription(); // "Cycles through rainbow colors over time" boolean enabled = effect.isEnabled(); // true TextColor trigger = effect.getTriggerColor(); // The trigger color for this effect ``` -------------------------------- ### Basic ClickAction Configuration Source: https://docs.oraxen.com/creating-content/items/abilities/clickaction Configure a basic clickAction mechanic for noteblocks, furniture, or stringblocks. Players must have 'test.permission' to trigger the console command. ```yaml Mechanics: noteblock/furniture/stringblock: clickActions: - conditions: - '#player.hasPermission("test.permission")' actions: - '[console] say hello !' ``` -------------------------------- ### Apply Efficiency Modifier Source: https://docs.oraxen.com/configuration/mechanics-yml Example of applying an efficiency modifier to a specific item, like a super pickaxe. ```yaml super_pickaxe: Mechanics: efficiency: amount: 10 ``` -------------------------------- ### Configure Resource Pack Upload Source: https://docs.oraxen.com/plugin-setup/plugin-settings Set up resource pack uploads using Polymath. Specify the server type and its address. ```yaml enabled: true type: polymath #transfer.sh or polymath polymath: server: atlas.oraxen.com # you can also host your own polymath instance ``` -------------------------------- ### MiniMessage Hex Color Example Source: https://docs.oraxen.com/plugin-setup/understanding-the-basics Demonstrates the use of hexadecimal color codes within the MiniMessage format for text. ```plaintext <#FF5555>I start out red <#55FF55>and now im green! ``` -------------------------------- ### Configuring Custom Storage for Noteblocks Source: https://docs.oraxen.com/creating-content/blocks/noteblock Create custom storage containers with specified types, rows, titles, and sounds. ```yaml Mechanics: noteblock: barrier: true storage: type: STORAGE # STORAGE, PERSONAL, ENDERCHEST, or DISPOSAL rows: 5 # Default: 6 title: "My Storage" open_sound: entity.shulker.open close_sound: entity.shulker.close ``` -------------------------------- ### Apply Potion Effects to Armor Source: https://docs.oraxen.com/configuration/mechanics-yml Example configuration for the armor_effects mechanic, applying the SPEED effect to a 'speed_boots' item. ```yaml speed_boots: Mechanics: armor_effects: - SPEED:1 ``` -------------------------------- ### Basic NoteBlock Item Configuration Source: https://docs.oraxen.com/creating-content/blocks/noteblock Defines a custom block item using the NoteBlock mechanic with a cube_all parent model and a single texture. ```yaml my_block: displayname: "My block" material: DIAMOND Pack: generate_model: true parent_model: "block/cube_all" textures: - my_block_texture.png ``` -------------------------------- ### Command to Place Furniture Source: https://docs.oraxen.com/compatibility/skript A custom Skript command that allows players with permissions to place specified Oraxen furniture. ```vb # Command to place furniture command /placefurniture : permission: oraxen.placefurniture trigger: place oraxen furniture arg-1 at player's target block send "&aPlaced %arg-1%!" to player ``` -------------------------------- ### Get Assets Folder Path Source: https://docs.oraxen.com/developers/api Retrieves the path to the plugin's assets folder, which is used for managing resource pack content. ```java ResourcePack.getAssetsFolder(); ``` -------------------------------- ### Get Oraxen Item Source: https://docs.oraxen.com/compatibility/skript Retrieve an ItemStack from a given Oraxen item ID. Useful for giving items to players or manipulating them in scripts. ```skript give player oraxen item "ruby_sword" ``` ```skript set {_item} to oraxen item "emerald_pickaxe" ``` ```skript drop oraxen item "custom_helmet" at player's location ``` -------------------------------- ### Gradient Prefix with Custom Colors Source: https://docs.oraxen.com/configuration/branding-customization Create a gradient effect for your plugin prefix by specifying start and end HEX color codes. ```yaml prefix: "MyServer » " ``` -------------------------------- ### Custom Music Disc Source: https://docs.oraxen.com/creating-content/items/components Example of a custom music disc that can be played in a jukebox. Specifies the item name, material, and the associated song key. ```yaml welcome_disk: itemname: Welcome Disk material: PAPER Components: jukebox_playable: show_in_tooltip: true song_key: oraxen:welcome Pack: generate_model: true parent_model: item/handheld textures: - default/welcome_disk.png ``` -------------------------------- ### Configure Lifeleech Amount Source: https://docs.oraxen.com/configuration/mechanics-yml Sets the amount of health to heal based on damage dealt for the lifeleech mechanic. This example configures a vampire sword. ```yaml vampire_sword: Mechanics: lifeleech: amount: 0.5 # Heal 50% of damage dealt ``` -------------------------------- ### Creating a Music Disc Item Source: https://docs.oraxen.com/configuration/sound-yml Configures an item to be a playable music disc, linking it to a custom sound key. ```yaml welcome_disk: displayname: "Welcome Disk" material: MUSIC_DISC_13 # Or any music disc material ItemFlags: - HIDE_ADDITIONAL_TOOLTIP Components: jukebox_playable: show_in_tooltip: true song_key: "oraxen:welcome" # Must match sound ID Pack: generate_model: true parent_model: "item/handheld" textures: - default/welcome_disk.png ``` -------------------------------- ### Configure Magic Apple with Potion Effects Source: https://docs.oraxen.com/configuration/mechanics-yml Example of applying consumable_potion_effects to a 'magic_apple' item, granting REGENERATION and ABSORPTION effects upon consumption. ```yaml magic_apple: Mechanics: consumable: effects: - REGENERATION:5:60 - ABSORPTION:2:120 ``` -------------------------------- ### Enable Backpack Cosmetic Globally Source: https://docs.oraxen.com/creating-content/items/abilities/backpack-cosmetic Configure the global settings for backpack cosmetics in the `mechanics.yml` file. Set `enabled` to `true` to activate the feature. ```yaml backpack_cosmetic: enabled: true ``` -------------------------------- ### Damaged Item Model Configuration Source: https://docs.oraxen.com/creating-content/items/appearance Configure different models for an item based on its durability. This allows for visual changes as the item gets damaged. ```yaml Pack: generate_model: false model: default/diamond_sword damaged_models: - default/diamond_sword_damaged1 - default/diamond_sword_damaged2 - default/diamond_sword_damaged3 ``` -------------------------------- ### Custom Door Configuration Source: https://docs.oraxen.com/creating-content/blocks/shapedblock Sets up a custom door block. Use 'item/generated' for the hand icon and specify textures for the placed door's bottom and top halves. ```yaml custom_oak_door: displayname: "<#8B4513>Custom Oak Door" material: PAPER Pack: generate_model: true parent_model: item/generated textures: - custom_oak_door_icon # Flat icon for hand/inventory display Mechanics: shaped_block: type: DOOR custom_variation: 1 hardness: 2 # Block textures for the placed door (bottom and top halves) textures: bottom: block/oak_door_bottom top: block/oak_door_top block_sounds: break_sound: block.wood.break place_sound: block.wood.place drop: silktouch: false loots: - oraxen_item: custom_oak_door probability: 1.0 ``` -------------------------------- ### Get ItemBuilder by OraxenID Source: https://docs.oraxen.com/developers/api Retrieves an ItemBuilder for a given Oraxen item ID. The itemID corresponds to a section in the plugin's item configurations. ```java OraxenItems.getItemById(itemID); ``` -------------------------------- ### Paper Server Configuration Source: https://docs.oraxen.com/creating-content/blocks/chorusblock For optimal performance and to avoid potential bugs and lag, it is recommended to enable this setting in your `config/paper-global.yml` file. ```yaml block-updates: disable-chorus-plant-updates: true ``` -------------------------------- ### Get Oraxen Furniture ID Source: https://docs.oraxen.com/compatibility/skript Fetch the Oraxen furniture ID from an entity, block, or location. This is useful for interacting with or identifying custom furniture. ```skript set {_furnitureId} to oraxen furniture at target entity ``` ```skript if oraxen furniture at clicked entity is "wooden_chair": make player sit ``` -------------------------------- ### Select Character Range in MiniMessage Source: https://docs.oraxen.com/creating-content/glyphs-hud For glyphs representing a sequence or range of characters, you can specify a range using `start..end` notation. ```plaintext ``` -------------------------------- ### Oraxen Debug Command Source: https://docs.oraxen.com/usage/commands This command is used to gather advanced logs for troubleshooting Oraxen installation issues. Its usage may vary with updates. ```text Usage: It will depend on the situation and could change with the updates of oraxen, I will explain everything. ``` -------------------------------- ### Generic Repairable Component Source: https://docs.oraxen.com/creating-content/items/components Use Minecraft's generic component system to add components not explicitly handled by Oraxen. This example adds repairability. ```yaml Components: repairable: items: - minecraft:diamond ``` -------------------------------- ### Configure Oraxen Glyphs Settings Source: https://docs.oraxen.com/plugin-setup/plugin-settings Set up glyph rendering, emoji list permissions, unicode completions, and chat hover text. ```yaml Glyphs: glyph_handler: vanilla # or nms - vanilla is recommended emoji_list_permission_only: false # Filter emoji list by permissions unicode_completions: true # Enable tab-completion for unicode characters chat_hover_text: true # Show glyph name on hover in chat ``` -------------------------------- ### Bottled Experience Configuration Source: https://docs.oraxen.com/creating-content/items/abilities/farming Configure the experience conversion ratio and global settings for enabling the mechanic and durability cost. ```yaml Mechanics: bottledexp: ratio: 0.95 # So you'll lose 1/20 of your exp by converting it ``` ```yaml bottledexp: enabled: true durability_cost: 1 ``` -------------------------------- ### GLSL Breathing Effect for Vertex Shader Source: https://docs.oraxen.com/creating-content/text-effects/glsl-customization Implement a breathing effect by slowly pulsing the scale of text elements. This example modifies the vertex shader. ```glsl // Vertex shader float breath = (sin(timeSeconds * 1.5) + 1.0) * 0.1 + 0.9; pos *= breath; ``` -------------------------------- ### Complete Pack Generation Configuration Source: https://docs.oraxen.com/configuration/advanced-pack-generation Optimal settings for a production server, including validation, compatibility, atlas generation, organization, file exclusions, compression, and obfuscation. ```yaml Pack: generation: generate: true # Validation verify_pack_files: true # Compatibility fix_force_unicode_glyphs: true texture_slicer: true # Atlas atlas: exclude_malformed_from_atlas: true generate: true type: "SPRITE" # Organization auto_generated_models_follow_texture_path: false # Exclude source files excluded_file_extensions: - ".psd" - ".xcf" - ".kra" - ".blend" - ".tmp" - ".bak" - ".md" # Compression & protection compression: BEST_COMPRESSION obfuscation: type: SIMPLE protection: true comment: "© 2026 MyServer - All Rights Reserved" ``` -------------------------------- ### Add Items to Smelting Blacklist Source: https://docs.oraxen.com/configuration/mechanics-yml Provides an example of adding items to the `blacklist_cooked` for the smelting mechanic. This prevents items like WET_SPONGE and ICE from being auto-smelted. ```yaml smelting: blacklist_cooked: - WET_SPONGE - ICE # Don't melt ice ``` -------------------------------- ### Configure Welcome Sound in Oraxen Source: https://docs.oraxen.com/faq Customize or disable the welcome sound played when the resource pack is sent to a user via settings.yml. Adjust enabled status, sound type, volume, and pitch. ```yaml receive: enabled: true loaded: actions: sound: # Set to false to disable the welcome sound # Set to true to enable the welcome sound enabled: true type: minecraft:welcome # Change this to use a different sound volume: 1.0 # 0.0 to 1.0 pitch: 1.0 # 0.5 to 2.0 ``` -------------------------------- ### Configuring Basic ChorusBlock Sounds Source: https://docs.oraxen.com/creating-content/blocks/chorusblock Set custom sounds for block interactions like placing, breaking, hitting, stepping, and falling. ```yaml Mechanics: chorusblock: custom_variation: 1 block_sounds: place_sound: block.stone.place break_sound: block.stone.break hit_sound: block.stone.hit step_sound: block.stone.step fall_sound: block.stone.fall ``` -------------------------------- ### GLSL Glitch Effect for Fragment Shader Source: https://docs.oraxen.com/creating-content/text-effects/glsl-customization Implement a glitch effect that causes random color inversions. This example uses pseudo-randomness and character index for variation. ```glsl // Fragment shader float glitch = step(0.95, fract(sin(floor(timeSeconds * 20.0) * charIndex) * 43758.5453)); texColor.rgb = mix(texColor.rgb, 1.0 - texColor.rgb, glitch); ``` -------------------------------- ### Dyeable Item Configuration (YAML) Source: https://docs.oraxen.com/creating-content/items/dyeable-items Configure a dyeable item, such as a clock, using YAML. This includes display name, material, color, and furniture mechanics. ```yaml clock: displayname: "Clock" material: LEATHER_HORSE_ARMOR color: 255, 255, 255 #rgb Mechanics: furniture: barrier: false drop: # useless if you are not using a barrier silktouch: false loots: - { oraxen_item: clock, probability: 1.0 } Pack: generate_model: false model: custom/furniture/clock ``` -------------------------------- ### GLSL Color Shift Effect for Fragment Shader Source: https://docs.oraxen.com/creating-content/text-effects/glsl-customization Create a color shifting effect by cycling through RGB colors over time. This example modifies the fragment shader. ```glsl // Fragment shader float shift = timeSeconds * 0.5; texColor.rgb = vec3( sin(shift) * 0.5 + 0.5, sin(shift + 2.094) * 0.5 + 0.5, sin(shift + 4.188) * 0.5 + 0.5 ); ``` -------------------------------- ### Define a Custom Glow Effect in text_effects.yml Source: https://docs.oraxen.com/creating-content/text-effects/glsl-customization Add a custom 'glow' effect to your text_effects.yml configuration. This example uses GLSL to create a pulsing brightness effect. ```yaml effects: # Custom: Glowing text that pulses brighter and darker glow: enabled: true description: Glowing brightness pulse snippets: - fragment: | float glow = (sin(timeSeconds * 3.0) + 1.0) * 0.5; float brightness = 0.7 + glow * 0.6; // 0.7 to 1.3 texColor.rgb = vec3(0.9, 0.7, 0.2) * brightness; ``` -------------------------------- ### LuckPerms Prefix with Glyph Source: https://docs.oraxen.com/creating-content/glyphs-hud Add a glyph to a LuckPerms prefix by including the '%oraxen_glyphid%' placeholder in the prefix string. This example shows how to set a prefix for the 'default' group. ```bash /lp group default meta setprefix %oraxen_glyphid% ```