### Start Location Configuration Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html Sets the starting coordinate for the dungeon. ```yaml settings: start-location: "0,65,0" ``` -------------------------------- ### Action Defaults Example Source: https://sincerpg.github.io/SinceDungeon/editor.html Example configuration for spawn_wave action defaults. ```yaml action-defaults: spawn_wave: mob: "ZOMBIE" amount: 1 scale_with_party: false time_limit: -1 time_penalty: 1 ``` -------------------------------- ### Advanced YAML Examples Source: https://sincerpg.github.io/SinceDungeon/editor.html Examples of setting various configuration values using the Advanced YAML path format. ```text settings.max-players=8 settings.cooldown-seconds=3600 stages.2.actions.wave.amount=12 stages.2.actions.wave.scale_with_party=true ``` -------------------------------- ### PlaceholderAPI sincedungeontop Examples Source: https://sincerpg.github.io/SinceDungeon/integrations.html Example usage of top leaderboard placeholders. ```text %sincedungeontop_fastest_example_dungeon_1_name% %sincedungeontop_fastest_example_dungeon_1_value% %sincedungeontop_kills_example_dungeon_3_name% ``` -------------------------------- ### Start Location with Rotation Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html Sets the starting coordinate including yaw and pitch. ```yaml settings: start-location: "0,65,0,180,0" ``` -------------------------------- ### Location List Example Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html Example of a list of multiple locations. ```yaml locations: - "15,64,20" - "5,64,20" ``` -------------------------------- ### PlaceholderAPI Example Placeholders Source: https://sincerpg.github.io/SinceDungeon/leaderboards.html Example placeholders for the fastest category on the example_dungeon map, rank 1, showing name and value. ```text %sincedungeontop_fastest_example_dungeon_1_name% %sincedungeontop_fastest_example_dungeon_1_value% ``` -------------------------------- ### Minimal Dungeon Configuration Source: https://sincerpg.github.io/SinceDungeon/getting-started.html A basic example of a dungeon configuration file defining settings, rewards, and stages. ```yaml template-world: "ForgottenCrypt_Template" public: true settings: max-players: 4 required-lives-to-join: 1 lives-deducted-per-death: 1 lives-deducted-on-leave: 0 lives-deducted-on-fail: 0 lives-deducted-on-clear: 0 cooldown-seconds: 1800 rewards: solo-tiers: 600: 1 party-tiers: 500: 1 pool: diamond: type: "ITEM" value: "DIAMOND:1-3" chance: 100.0 name: "Diamonds" stages: 1: chance: 100.0 actions: start: type: "REACH_LOCATION" target: "0,64,0" radius: 3.0 ``` -------------------------------- ### Configure MythicMobs Reward Source: https://sincerpg.github.io/SinceDungeon/premium.html Example configuration for a reward pool using the MYTHIC_ITEM type. ```yaml rewards: pool: mythic_reward: type: "MYTHIC_ITEM" value: "AncientRelic:1" chance: 5.0 name: "Ancient Relic" ``` -------------------------------- ### Advanced YAML Path Syntax: path=value Source: https://sincerpg.github.io/SinceDungeon/troubleshooting.html Use the syntax path=value to set a YAML path. The example sets settings.max-players to 8. Do not type only the path. ```text path=value ``` ```text settings.max-players=8 ``` -------------------------------- ### Dungeon Coordinate Plan Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Example layout of key dungeon coordinates relative to the local origin. ```text 0,65,0 player entry 10,64,10 first reach objective 15,64,20 mob spawn 20,60,-5 loot chest 0,64,-10 locked gate trigger 0,64,-50 boss room ``` -------------------------------- ### Loot chest item data examples Source: https://sincerpg.github.io/SinceDungeon/rewards.html Examples of item data formats used by loot chests, custom mob drops, keys, and cooldown items. ```text KEY:gate_key:1 DIAMOND:3-8 COOLDOWN_REDUCE:300:1 MMOITEMS:SWORD:SILVER_LANCE:1 ``` -------------------------------- ### Target Location Example Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html Example of a single target location definition. ```yaml target: "10,64,-5" ``` -------------------------------- ### Coordinate Translation Example Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Shows how local YAML coordinates are translated to real world locations based on a region origin of 2048,0,0. ```text YAML target 10,64,10 -> real location 2058,64,10 YAML chest 20,60,-5 -> real location 2068,60,-5 ``` -------------------------------- ### Core sounds and particles configuration Source: https://sincerpg.github.io/SinceDungeon/languages-customization.html Defines core sound and particle settings for events like door lock, door unlock, game start, and zone border. These are the default feedback settings. ```yaml sounds: door_locked: "block.chest.locked" door_unlock: "block.iron_door.open" game_start: "entity.ender_dragon.growl" particles: zone_border: "FLAME" reach_location_idle: "HAPPY_VILLAGER" ``` -------------------------------- ### Placeholder condition syntax Source: https://sincerpg.github.io/SinceDungeon/troubleshooting.html Placeholder condition syntax for PlaceholderAPI. Requires PlaceholderAPI installed and the placeholder to return a value. ```yaml check: "%player_level%;>=;10" ``` -------------------------------- ### Configure Large Dungeon Regions Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Example configuration for larger dungeons where region-spacing must be larger than twice the region-radius. ```yaml region-spacing: 4096 region-radius: 1500 ``` -------------------------------- ### MiniMessage text formatting examples Source: https://sincerpg.github.io/SinceDungeon/languages-customization.html Shows MiniMessage-style formatting for colored and hex-colored text. Use these tags in messages to apply colors. ```text Error text Success text Hex colored bold text ``` -------------------------------- ### Premium Schematic Template World Source: https://sincerpg.github.io/SinceDungeon/getting-started.html Example of setting the template-world value for schematic mode. ```yaml template-world: "ForgottenCrypt_Template" ``` -------------------------------- ### COMMAND reward type Source: https://sincerpg.github.io/SinceDungeon/rewards.html Runs a console command as a reward. Supports %player% placeholder and PlaceholderAPI placeholders if installed. ```YAML type: "COMMAND" value: "eco give %player% 1000" chance: 100.0 name: "$1,000 Cash" ``` -------------------------------- ### lives configuration: default lives and regen settings Source: https://sincerpg.github.io/SinceDungeon/lives-cooldowns.html Global 'lives' section defines default max and start lives (3) and regeneration interval (3600s) with a regen amount of 1. ```yaml lives: default-max-lives: 3 default-start-lives: 3 regen-interval-seconds: 3600 regen-amount: 1 ``` -------------------------------- ### Premium Hologram Commands Source: https://sincerpg.github.io/SinceDungeon/leaderboards.html Commands to create, move, and delete premium hologram leaderboards. Uses native TextDisplay entities; no DecentHolograms installation required. ```text /sdp hologram create /sdp hologram move /sdp hologram delete ``` -------------------------------- ### Get Plugin Version Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Retrieve the current version of the SinceDungeon plugin. ```java String version = api.getPluginVersion(); ``` -------------------------------- ### MMOItems reward format Source: https://sincerpg.github.io/SinceDungeon/troubleshooting.html Format for MMOItems rewards. Requires MMOItems installed and correct item type and ID. ```text MMOITEMS::: ``` -------------------------------- ### Define a locked gate with LOOT_CHEST and UNLOCK_DOOR Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Example configuration for a locked gate requiring a key from a chest to trigger the door unlock. ```yaml stages: 2: chance: 100.0 actions: find_key: type: "LOOT_CHEST" location: "20,60,-5" items: 13: "KEY:gate_key:1" open_gate: type: "UNLOCK_DOOR" key_id: "gate_key" trigger: "0,64,-10" corner1: "-2,64,-10" corner2: "2,68,-10" ``` -------------------------------- ### Action block structure with type Source: https://sincerpg.github.io/SinceDungeon/actions.html Required structure for every action block: each action must include a `type` field. This example shows a REACH_LOCATION action nested under a stage. ```yaml stages: 1: actions: objective_name: type: "REACH_LOCATION" target: "10,64,10" radius: 3.0 ``` -------------------------------- ### Build Project from Source Source: https://sincerpg.github.io/SinceDungeon/getting-started.html Command to build the project using Gradle. ```bash ./gradlew build ``` -------------------------------- ### Core configuration file path Source: https://sincerpg.github.io/SinceDungeon/configuration.html Path to the core configuration file. SinceDungeon loads its main settings from this file. ```yaml plugins/SinceDungeon/config.yml ``` -------------------------------- ### Startup async timeout configuration Source: https://sincerpg.github.io/SinceDungeon/configuration.html Controls how long the plugin waits for async startup data loading before failing startup. Increase it if the database is remote or the server has many dungeon files. ```yaml startup: async-timeout-seconds: 30 ``` -------------------------------- ### Basic database configuration Source: https://sincerpg.github.io/SinceDungeon/configuration.html Basic database configuration. Supported backends: sqlite (local file storage, recommended for small servers) and mysql (remote database, recommended for large or networked servers). ```yaml database: type: "sqlite" host: "localhost" port: 3306 database: "sincedungeonpremium" username: "root" password: "" ``` -------------------------------- ### GUI Settings Configuration Source: https://sincerpg.github.io/SinceDungeon/leaderboards.html YAML configuration for the leaderboard GUI, including fetch limit, GUI size, date format, and item materials for ranks and categories. ```yaml leaderboard: fetch-limit: 50 gui-size: 54 date-format: "dd/MM/yyyy HH:mm" items: rank_1: GOLD_BLOCK rank_2: IRON_BLOCK rank_3: COPPER_BLOCK rank_other: COAL_BLOCK category_time: CLOCK category_kills: DIAMOND_SWORD category_clears: NETHER_STAR category_party_time: GOLDEN_APPLE ``` -------------------------------- ### Configure menu settings (editor, reward, leaderboard) Source: https://sincerpg.github.io/SinceDungeon/configuration.html Configure menu settings for the editor, reward GUI, and leaderboard GUI. The editor section sets the navigation item and limits for locations, mob amount, and radius. The reward section sets the session expiry time in seconds. The leaderboard section sets the fetch limit, GUI size, and date format. ```yaml editor: nav-item: "ARROW" limits: max-locations: 50 max-mob-amount: 200 max-radius: 100.0 reward: session-expire-seconds: 300 leaderboard: fetch-limit: 50 gui-size: 54 date-format: "dd/MM/yyyy HH:mm" ``` -------------------------------- ### Premium configuration file path Source: https://sincerpg.github.io/SinceDungeon/configuration.html Path to the premium addon configuration file. This file stores premium-specific settings. ```yaml plugins/SinceDungeon-PremiumAddon/config.yml ``` -------------------------------- ### Configure Hologram Settings Source: https://sincerpg.github.io/SinceDungeon/premium.html Enable hologram drops and configure leaderboard update intervals and display properties. ```yaml hologram-drops: enabled: true hologram-leaderboard: update-interval-seconds: 300 line-spacing: 0.28 view-range: 64.0 locations: ``` -------------------------------- ### PlaceholderAPI sincedungeontop Format Source: https://sincerpg.github.io/SinceDungeon/integrations.html The standard format for top leaderboard placeholders. ```text %sincedungeontop____% ``` -------------------------------- ### Dungeon File Path Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html The standard file path for dungeon configuration files. ```yaml plugins/SinceDungeon/dungeons/.yml ``` -------------------------------- ### Configure command labels and aliases Source: https://sincerpg.github.io/SinceDungeon/configuration.html Configure custom command labels and aliases for party, dungeon, and admin commands. The admin command defaults to 'sincedungeon' with aliases including 'sincedungeonpremium', 'sd', and 'sdungeon'. Premium's command is fixed as '/sdp' with alias '/sdpremium'. ```yaml commands: party: "party" party-aliases: [ "p", "pt" ] dungeon: "dungeon" dungeon-aliases: [ "dg", "inst" ] admin: "sincedungeon" admin-aliases: [ "sincedungeonpremium", "sd", "sdungeon" ] ``` -------------------------------- ### Generated settings files (actions.yml, effects.yml, gameplay.yml, items.yml, menus.yml) Source: https://sincerpg.github.io/SinceDungeon/configuration.html List of generated settings files that split additional Core settings. These files control GUI items, gameplay defaults, effects, menu layouts, and action defaults used by the editor. ```yaml settings/actions.yml settings/effects.yml settings/gameplay.yml settings/items.yml settings/menus.yml ``` -------------------------------- ### DEFEND_CORE Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the DEFEND_CORE action type. ```yaml type: "DEFEND_CORE" location: "0,64,0" core_type: "IRON_GOLEM" core_name: "&b&lSacred Crystal" core_health: 1000.0 duration: 600 attacker_mob: "ZOMBIE" attacker_amount: 5 attacker_interval: 100 attacker_name: "&cInvader" attacker_is_baby: false attacker_attributes: [] attacker_equipment: [] ``` -------------------------------- ### Initialize SinceDungeonAPI Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Retrieve the singleton instance of the SinceDungeonAPI. ```java SinceDungeonAPI api = SinceDungeonAPI.get(); ``` -------------------------------- ### MMOItems Reward Shortcut Source: https://sincerpg.github.io/SinceDungeon/integrations.html Configuration format for MMOItems rewards. ```yaml type: "MMOITEM" value: "SWORD:SILVER_LANCE:1" ``` -------------------------------- ### Configure Mythic+ Affixes Source: https://sincerpg.github.io/SinceDungeon/premium.html Define affixes for specific dungeons using the affixes key. ```yaml affixes: example_dungeon: - "VOLCANIC" - "VAMPIRIC" ``` -------------------------------- ### Configure Affixes Settings Source: https://sincerpg.github.io/SinceDungeon/premium.html Set damage, radius, and delay parameters for volcanic and vampiric affixes. ```yaml affixes-settings: volcanic: damage: 10.0 radius: 3.0 delay-ticks: 40 vampiric: heal-percentage: 0.5 ``` -------------------------------- ### PLAY_SOUND Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the PLAY_SOUND action type. ```yaml type: "PLAY_SOUND" sound_name: "entity.ender_dragon.growl" volume: 1.0 pitch: 1.0 ``` -------------------------------- ### Enable Premium Schematic Mode Source: https://sincerpg.github.io/SinceDungeon/getting-started.html Configuration to enable schematic mode in the Premium addon config. ```yaml instancing: mode: "SCHEMATIC" ``` -------------------------------- ### Stage Configuration Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html Defines a dungeon stage with completion commands and arrival actions. ```yaml stages: 1: chance: 100.0 commands: - "say Stage 1 completed by %player%" actions: arrival: type: "REACH_LOCATION" target: "10,64,10" radius: 3.0 ``` -------------------------------- ### Premium Commands Source: https://sincerpg.github.io/SinceDungeon/premium.html List of administrative commands available in the Premium Addon. ```text /sdp reload /sdp stage insert /sdp hologram create /sdp hologram move /sdp hologram delete ``` -------------------------------- ### Dungeon Control Methods Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Methods to join, quit, stop, and query dungeons. ```APIDOC ## Dungeon Control Methods ### Description Methods to control player participation in dungeons. ### Methods - void joinDungeon(Player player, String dungeonId) - void joinDungeon(Player player, String dungeonId, boolean allowPrivate) - void quitDungeon(Player player) - void forceStopDungeon(UUID playerId, boolean force) - boolean isPlaying(Player player) - DungeonGame getGame(Player player) - Map getAllActiveGames() ### Parameters - player (Player) - Required - The player to join/quit/check. - dungeonId (String) - Required - The ID of the dungeon template. - allowPrivate (boolean) - Optional - If true, allows joining private dungeons without admin permission. - playerId (UUID) - Required - The UUID of the player whose dungeon to stop. - force (boolean) - Required - Whether to force stop. ### Notes The two-argument joinDungeon follows normal visibility rules: private dungeons require the player to have SinceDungeon.admin. The three-argument overload can explicitly allow private dungeons for controlled integrations. ``` -------------------------------- ### Dungeon Reload and Join Commands Source: https://sincerpg.github.io/SinceDungeon/example-dungeon.html Commands to reload the plugin configuration and join the newly created dungeon. ```bash /sincedungeon reload /dungeon join forgotten_crypt ``` -------------------------------- ### Create Leaderboard Hologram Command Source: https://sincerpg.github.io/SinceDungeon/premium.html Use this command in-game to create a leaderboard hologram for a specific dungeon. ```text /sdp hologram create example_dungeon FASTEST_TIME ``` -------------------------------- ### Manage Dungeon Sessions Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Methods for joining, quitting, and stopping dungeons, as well as querying active game states. ```java api.joinDungeon(player, "example_dungeon"); api.joinDungeon(player, "private_test_dungeon", true); api.quitDungeon(player); api.forceStopDungeon(player.getUniqueId(), true); boolean playing = api.isPlaying(player); DungeonGame game = api.getGame(player); Map games = api.getAllActiveGames(); ``` -------------------------------- ### Dungeon Configuration YAML Source: https://sincerpg.github.io/SinceDungeon/example-dungeon.html A complete dungeon definition file containing settings, conditions, rewards, and four distinct stages. ```yaml template-world: "ForgottenCrypt_Template" public: true settings: start-location: "0,65,0" max-players: 6 required-lives-to-join: 1 lives-deducted-per-death: 1 lives-deducted-on-leave: 0 lives-deducted-on-fail: 0 lives-deducted-on-clear: 0 keep-inventory-on-death: true prevent-item-dropping: true block-ender-pearls: true kick-delay-after-finish: 15 force-daylight-and-clear-weather: true save-and-restore-stats: true death-action: "RESPAWN" clear-mob-drops: true randomize-stages: false cooldown-seconds: 1800 cooldown-on-leave: true commands: on-start: - "lp user %player% permission set dungeon.in_game true" on-finish: - "lp user %player% permission unset dungeon.in_game" on-first-finish: - "eco give %player% 5000" conditions: level_check: name: "Level Requirement" check: "%player_level%;>=;10" msg: "You must be at least Level 10 to enter this dungeon!" rewards: solo-tiers: 300: 3 600: 2 1200: 1 party-tiers: 240: 3 500: 2 1000: 1 pool: diamonds: type: "ITEM" value: "DIAMOND:3-8" chance: 50.0 name: "Diamonds" cash: type: "COMMAND" value: "eco give %player% 1000" chance: 100.0 name: "$1,000 Cash" stages: 1: chance: 100.0 actions: arrival: type: "REACH_LOCATION" target: "10,64,10" radius: 3.0 start_message: - "Move to the crypt entrance." 2: chance: 100.0 actions: guards: type: "SPAWN_WAVE" mob: "SKELETON" amount: 5 scale_with_party: true custom_name: "Crypt Guard" locations: - "15,64,20" - "5,64,20" start_message: - "The dead are rising!" 3: chance: 100.0 actions: key_chest: type: "LOOT_CHEST" location: "20,60,-5" items: 13: "KEY:gate_key:1" 14: "GOLD_INGOT:5" gate: type: "UNLOCK_DOOR" key_id: "gate_key" trigger: "0,64,-10" corner1: "-2,64,-10" corner2: "2,68,-10" particle: "SOUL_FIRE_FLAME" 4: chance: 100.0 actions: boss: type: "BOSS_BATTLE" location: "0,64,-50" mob: "ZOMBIE" custom_name: "&4&lCrypt Lord" base_health: 500.0 scale_health_per_player: 150.0 bar_color: "RED" bar_style: "SOLID" attributes: - "movement_speed:0.3" phases: 50: message: "&cThe Crypt Lord calls reinforcements!" reinforcements: mob: "ZOMBIE" amount: 3 custom_name: "&cCrypt Minion" attributes: [ ] equipment: [ ] ``` -------------------------------- ### Action Defaults Configuration Path Source: https://sincerpg.github.io/SinceDungeon/editor.html The configuration key used for defining action defaults. ```yaml action-defaults: ``` -------------------------------- ### Server Freeze Log Output Source: https://sincerpg.github.io/SinceDungeon/troubleshooting.html Log output showing provider overwrite messages that indicate a server freeze caused by blocked startup while waiting for async template loading. ```plaintext [SinceDungeon] [API] Reward System overwritten by: DefaultRewardSystem [SinceDungeon] [API] Party System overwritten by: DefaultPartyProvider [SinceDungeon] [API] Instancing System overwritten by: DefaultInstanceProvider ``` -------------------------------- ### Premium sounds and particles configuration Source: https://sincerpg.github.io/SinceDungeon/languages-customization.html Adds Premium-specific sound and particle settings for puzzle, roulette, and affix events. These are injected by Premium when it loads or reloads. ```yaml sounds: puzzle_success: "block.note_block.chime" puzzle_fail: "block.note_block.bass" roulette_tick: "block.note_block.hat" roulette_finish: "entity.player.levelup" particles: affix_vampiric: "HEART" affix_volcanic_warn: "FLAME" affix_volcanic_boom: "EXPLOSION" ``` -------------------------------- ### JUMP_STAGE Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the JUMP_STAGE action type. ```yaml type: "JUMP_STAGE" target_stage: 5 ``` -------------------------------- ### CHECKPOINT Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the CHECKPOINT action type. ```yaml type: "CHECKPOINT" location: "0,64,0" radius: 3.0 sound: "entity.player.levelup" particle: "TOTEM_OF_UNDYING" ``` -------------------------------- ### SPAWN_WAVE action Source: https://sincerpg.github.io/SinceDungeon/actions.html Spawns vanilla mobs and completes when they are killed. Supports scaling with party size, custom names, attributes, equipment, custom drops, and spawn locations. ```yaml type: "SPAWN_WAVE" mob: "ZOMBIE" amount: 5 scale_with_party: true custom_name: "Crypt Guard" is_baby: false attributes: - "generic.max_health:40" equipment: - "HAND:IRON_SWORD" custom_drops: - "DIAMOND:1:25" locations: - "15,64,20" ``` -------------------------------- ### Configure party system settings Source: https://sincerpg.github.io/SinceDungeon/configuration.html Configure party system settings: max members, friendly fire, join distance, reward share mode, system name, and invite timeout. Reward share modes are 'EQUAL' (all eligible members receive rewards) and 'LEADER_ONLY' (only the leader receives reward chests). ```yaml party: max-members: 4 allow-friendly-fire: false max-join-distance: 50.0 reward-share-mode: "EQUAL" system-name: "System" invite-timeout: 60 ``` -------------------------------- ### Recommended Paper/Folia schematic configuration Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Standard configuration block for enabling schematic instancing. ```yaml instancing: mode: "SCHEMATIC" paste-y-level: 64 world-settings: autosave: false time: 6000 storm: false thundering: false schematic: paste-air: true shared-world: name: "SDPremium_Schematic" spawn-location: "0,65,0" coordinate-y-offset: 0 region-spacing: 2048 region-radius: 512 grid-width: 128 clear-on-release: true clear-min-y: -64 clear-max-y: 320 ``` -------------------------------- ### Register MythicMobs Item Format Source: https://sincerpg.github.io/SinceDungeon/premium.html The syntax for registering MythicMobs items as item providers and rewards. ```text MYTHIC_ITEM:: ``` -------------------------------- ### Full database configuration with HikariCP pool Source: https://sincerpg.github.io/SinceDungeon/configuration.html Full database configuration including HikariCP pool settings. The pool settings are available under database.pool. ```yaml database: type: "sqlite" host: "localhost" port: 3306 database: "sincedungeonpremium" username: "root" password: "" pool: max-size: 10 min-idle: 2 max-lifetime: 1800000 timeout: 5000 ``` -------------------------------- ### GIVE_ITEM Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the GIVE_ITEM action type. ```yaml type: "GIVE_ITEM" item_data: "DIAMOND:1" receive_message: "&aYou received a mysterious item..." ``` -------------------------------- ### BUFF Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the BUFF action type. ```yaml type: "BUFF" effect_type: "SPEED" duration: 200 amplifier: 1 ``` -------------------------------- ### Premium Schematic File Path Source: https://sincerpg.github.io/SinceDungeon/example-dungeon.html The required file path for placing the dungeon schematic when using the Premium Addon. ```text plugins/SinceDungeon-PremiumAddon/schematics/ForgottenCrypt_Template.schem ``` -------------------------------- ### Player GUI Command Source: https://sincerpg.github.io/SinceDungeon/leaderboards.html Command to open the leaderboard GUI for a specific map. Only public maps are suggested to players. ```text /dungeon top ``` -------------------------------- ### Premium Addon Directory Structure Source: https://sincerpg.github.io/SinceDungeon/getting-started.html The directory structure generated by the SinceDungeon Premium addon. ```text plugins/SinceDungeon-PremiumAddon/ config.yml messages.yml schematics/ ``` -------------------------------- ### PlaceholderAPI placeholders Source: https://sincerpg.github.io/SinceDungeon/lives-cooldowns.html Placeholder placeholders for lives, max lives, regen info, time to regen, and cooldown per map. ```text %sincedungeon_lives% %sincedungeon_max_lives% %sincedungeon_lives_regen_amount% %sincedungeon_lives_regen_interval% %sincedungeon_lives_time_to_regen% %sincedungeon_cooldown_% ``` -------------------------------- ### Dungeon file path Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html The dungeon file name must match the dungeon ID. ```text plugins/SinceDungeon/dungeons/forgotten_crypt.yml ``` -------------------------------- ### SinceDungeonAPI.get() Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Retrieves the singleton instance of the SinceDungeonAPI for use in plugins. ```APIDOC ## SinceDungeonAPI.get() ### Description Returns the singleton instance of the SinceDungeonAPI. ### Method static SinceDungeonAPI get() ### Returns - SinceDungeonAPI - The API instance. ### Example SinceDungeonAPI api = SinceDungeonAPI.get(); ``` -------------------------------- ### Reload Commands Source: https://sincerpg.github.io/SinceDungeon/getting-started.html Commands to reload the Core and Premium plugin configurations. ```text /sincedungeon reload ``` ```text /sdp reload ``` -------------------------------- ### ESCORT_NPC Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the ESCORT_NPC action type. ```yaml type: "ESCORT_NPC" entity_type: "VILLAGER" custom_name: "&aVIP Escort" max_health: 100.0 start_location: "0,64,0" target_location: "20,64,20" speed: 1.0 success_radius: 4.0 vip_is_baby: false vip_attributes: - "follow_range:128.0" vip_equipment: [] attacker_mob: "ZOMBIE" attacker_amount: 3 attacker_interval: 100 attacker_name: "&cAssassin" attacker_is_baby: false attacker_attributes: [] attacker_equipment: [] ``` -------------------------------- ### Teleport to Local Origin Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Command to position yourself at the local origin before copying the schematic. ```text /tp 0 64 0 ``` -------------------------------- ### Schematic File Path Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html The directory where the saved schematic file must be placed. ```text plugins/SinceDungeon-PremiumAddon/schematics/ ``` -------------------------------- ### Register Custom Actions Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Register a custom action with specific parameters and prompts. ```java api.registerCustomAction( "CUSTOM_ACTION", map -> new MyCustomAction(), "Custom Action", Material.NETHER_STAR, "Runs my custom objective.", defaultParams, customPrompts ); ``` -------------------------------- ### Premium schematic file location Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Place Premium schematic files in this directory. ```text plugins/SinceDungeon-PremiumAddon/schematics/ ``` -------------------------------- ### PlaceholderAPI Placeholder Format Source: https://sincerpg.github.io/SinceDungeon/leaderboards.html Placeholder format for top leaderboard placeholders. Categories: fastest, partyfastest, kills, clears. Types: name, value. ```text %sincedungeontop____% ``` -------------------------------- ### List of language files for English Source: https://sincerpg.github.io/SinceDungeon/languages-customization.html Shows the language files grouped by feature for the 'en' locale. Each file corresponds to a feature area such as admin, cooldown, or game. ```yaml languages/en/admin.yml languages/en/cooldown.yml languages/en/cross_server.yml languages/en/editor.yml languages/en/error.yml languages/en/game.yml languages/en/general.yml languages/en/lives.yml languages/en/party.yml languages/en/reward.yml languages/en/top.yml ``` -------------------------------- ### Hologram Update Interval Configuration Source: https://sincerpg.github.io/SinceDungeon/leaderboards.html YAML configuration for hologram leaderboard update interval, line spacing, and view range. ```yaml hologram-leaderboard: update-interval-seconds: 300 line-spacing: 0.28 view-range: 64.0 ``` -------------------------------- ### BRANCHING_PATH Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the BRANCHING_PATH action type. ```yaml type: "BRANCHING_PATH" path_a_loc: "0,64,0" path_b_loc: "10,64,10" stage_a: 3 stage_b: 4 radius: 3.0 ``` -------------------------------- ### Standard schematic coordinates Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Use this standard for every schematic dungeon: schematic origin at 0,64,0, player entry at 0,65,0, and paste Y level at 64. ```text Schematic origin: 0,64,0 Player entry: 0,65,0 Paste Y level: 64 ``` -------------------------------- ### Dungeon Settings Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html Comprehensive settings for player limits, life costs, and death behavior. ```yaml settings: max-players: 6 required-lives-to-join: 1 lives-deducted-per-death: 1 lives-deducted-on-leave: 0 lives-deducted-on-fail: 0 lives-deducted-on-clear: 0 keep-inventory-on-death: true prevent-item-dropping: true block-ender-pearls: true kick-delay-after-finish: 15 force-daylight-and-clear-weather: true save-and-restore-stats: true death-action: "RESPAWN" clear-mob-drops: true randomize-stages: false cooldown-seconds: 1800 cooldown-on-leave: true required-item: "NONE" consume-required-item: true ``` -------------------------------- ### Premium Command Alias Source: https://sincerpg.github.io/SinceDungeon/premium.html Alternative command alias for the Premium Addon. ```text /sdpremium ``` -------------------------------- ### Stage Insertion Command Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html CLI commands to insert a stage into an existing dungeon file. ```bash /sincedungeon stage insert /sdp stage insert ``` -------------------------------- ### Dungeon Data Loading Message Source: https://sincerpg.github.io/SinceDungeon/troubleshooting.html Message shown when a player tries to join before startup data has finished loading. Wait for the startup ready log and check database connectivity and template YAML errors. ```plaintext Dungeon data is still loading. Please try again in a moment. ``` -------------------------------- ### Action notification toggles for spawn_wave Source: https://sincerpg.github.io/SinceDungeon/languages-customization.html Enables or disables action notifications for the 'spawn_wave' action. Useful keys include custom_start, init, progress, warning, and complete. ```yaml action-notifications: spawn_wave: custom_start: true init: true progress: true complete: true ``` -------------------------------- ### RANDOM_WAVE action and mob format Source: https://sincerpg.github.io/SinceDungeon/actions.html Spawns a weighted mix of vanilla and Mythic mobs. The format block defines the `random_mobs` entry syntax: vanilla entries use `VANILLA::`, Mythic entries use `MYTHIC:::`. ```yaml type: "RANDOM_WAVE" amount: 8 scale_with_party: true random_mobs: - "VANILLA:ZOMBIE:50" - "VANILLA:SKELETON:30" - "MYTHIC:SkeletonKing:20:1" locations: - "0,64,0" ``` ```yaml VANILLA:: MYTHIC::: ``` -------------------------------- ### getPluginVersion Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Returns the plugin version string. ```APIDOC ## getPluginVersion ### Description Returns the version of the SinceDungeon plugin. ### Method String getPluginVersion() ### Returns - String - The plugin version. ### Example String version = api.getPluginVersion(); ``` -------------------------------- ### Cooldown item configurations Source: https://sincerpg.github.io/SinceDungeon/lives-cooldowns.html Configured empty item blocks for cooldown_reset and cooldown_reduce items. ```yaml items: cooldown_reset: { } cooldown_reduce: { } ``` -------------------------------- ### Native TextDisplay Hologram Command Source: https://sincerpg.github.io/SinceDungeon/integrations.html Command to create a leaderboard hologram using native Minecraft entities. ```text /sdp hologram create ``` -------------------------------- ### Open Dungeon Editor Command Source: https://sincerpg.github.io/SinceDungeon/editor.html Command to open the in-game dungeon editor. ```text /dungeon editor ``` -------------------------------- ### Top-Level Dungeon Structure Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html The base structure for a dungeon configuration file. ```yaml template-world: "ForgottenCrypt_Template" public: true settings: { } conditions: { } rewards: { } stages: { } ``` -------------------------------- ### TELEPORT action Source: https://sincerpg.github.io/SinceDungeon/actions.html Teleports all participants to the `location` and plays the specified `sound`. ```yaml type: "TELEPORT" location: "0,64,0" sound: "entity.enderman.teleport" ``` -------------------------------- ### Multiverse Inventory Bypass Permissions Configuration Source: https://sincerpg.github.io/SinceDungeon/permissions.html Core config includes bypass permissions to prevent inventory clearing issues when a dungeon instance world is deleted while a player is inside it. ```yaml settings: mvi-bypass-permissions: - "mvinv.bypass.*" - "Multiverse-Inventories.bypass.*" ``` -------------------------------- ### Dungeon settings: lives required and deduction Source: https://sincerpg.github.io/SinceDungeon/lives-cooldowns.html Dungeon file settings require a certain number of lives to join and define deduct costs for death, leave, fail, and clear. The outcome costs stack and 0 disables them. ```yaml settings: required-lives-to-join: 1 lives-deducted-per-death: 1 lives-deducted-on-leave: 0 lives-deducted-on-fail: 0 lives-deducted-on-clear: 0 ``` -------------------------------- ### Extension Interfaces Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Interfaces that can be implemented to replace or extend core systems. ```APIDOC ## Extension Interfaces ### Description Interfaces that allow replacing or extending core systems. ### Interfaces - PartyProvider - Replace the built-in party system. - InstanceProvider - Replace default world instancing. - RewardSystem - Replace reward distribution. - RewardProcessor - Add reward types. - ConditionProcessor - Add condition types. - CustomItemProvider - Add item-data formats. ``` -------------------------------- ### MMOItems Reward Parsing Source: https://sincerpg.github.io/SinceDungeon/integrations.html The syntax for parsing MMOItems rewards. ```text MMOITEMS::: ``` -------------------------------- ### Premium item data format Source: https://sincerpg.github.io/SinceDungeon/rewards.html Premium adds a format for Mythic item rewards. ```text MYTHIC_ITEM:: ``` -------------------------------- ### Save schematic with WorldEdit Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Stand at the local origin before copying. If you copy while standing elsewhere, WorldEdit stores a different clipboard offset, causing shifted mobs, chests, doors, triggers, checkpoints, and spawn locations. ```text /tp 0 64 0 //copy //schem save ForgottenCrypt_Template ``` -------------------------------- ### Configure Roulette Rewards GUI Source: https://sincerpg.github.io/SinceDungeon/premium.html Define the GUI layout and timing settings for the reward spin feature. ```yaml roulette: enabled: true title: "&6&lReward Spin" gui-size: 27 border-material: "BLACK_STAINED_GLASS_PANE" pointer-material: "HOPPER" top-pointer-slot: 4 bottom-pointer-slot: 22 spin-start-slot: 9 spin-end-slot: 17 reward-slot: 13 next-spin-delay-ticks: 40 ``` -------------------------------- ### Register Custom Reward Processors Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Register a reward processor and provide the corresponding YAML configuration. ```java api.registerRewardProcessor("TOKENS", (player, value, displayName) -> { int amount = Integer.parseInt(value); // Give tokens here }); ``` ```yaml type: "TOKENS" value: "100" name: "100 Tokens" ``` -------------------------------- ### Manage Dungeon Templates Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Register, unregister, and retrieve dungeon templates. ```java DungeonTemplate template = api.getTemplate("example_dungeon"); Set ids = api.getAvailableTemplates(); api.registerTemplate(template); api.unregisterTemplate("example_dungeon"); ``` -------------------------------- ### Configure locale and debug settings Source: https://sincerpg.github.io/SinceDungeon/configuration.html Set the locale, debug mode, and whether remaining mobs are cleared when an action completes. Available bundled locales include English, Vietnamese, and Chinese. ```yaml settings: locale: "en" debug: false clear-remaining-mobs-on-action-complete: true ``` -------------------------------- ### DAMAGE_ZONE Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the DAMAGE_ZONE action type. ```yaml type: "DAMAGE_ZONE" location: "0,64,0" radius: 5.0 damage: 4.0 interval: 20 duration: 200 particle: "CAMPFIRE_COSY_SMOKE" ``` -------------------------------- ### Cross-server configuration Source: https://sincerpg.github.io/SinceDungeon/configuration.html Cross-server mode is marked experimental in the default config. It uses proxy plugin messaging and Redis Pub/Sub so a lobby server can request a dungeon run on a dungeon node. ```yaml cross-server: enabled: false transfer-timeout-seconds: 30 server-name: "dungeon-node-1" bungee-channel: "BungeeCord" return-server: "lobby" ``` -------------------------------- ### NPC_INTERACTION Action Configuration Source: https://sincerpg.github.io/SinceDungeon/premium.html Configuration for the NPC_INTERACTION action type. ```yaml type: "NPC_INTERACTION" entity_type: "VILLAGER" custom_name: "&eDungeon Guide" npc_location: "0,64,0" target_location: "5,64,5" interaction_mode: "TALK" message_scope: "PLAYER" teleport_scope: "PLAYER" max_health: 40.0 move_speed: 1.0 success_radius: 2.5 interaction_radius: 4.0 start_on_click: true npc_is_baby: false consume_required_item: true fail_on_npc_death: true click_cooldown_ticks: 20 dialogue_lines: - "&e[NPC] &fHello, ." required_item: "NONE" reward_item: "NONE" reward_display_name: "" npc_attributes: [] npc_equipment: [] ``` -------------------------------- ### Build Artifacts Location Source: https://sincerpg.github.io/SinceDungeon/getting-started.html The directory where generated JAR files are placed after a successful build. ```text build/libs/ ``` -------------------------------- ### Configure dungeon gameplay defaults Source: https://sincerpg.github.io/SinceDungeon/configuration.html Set dungeon gameplay defaults: lobby countdown, template folder, world prefix, death action, top award recipient, mob drop clearing, stat save/restore, and out-of-lives action. The table explains each option's meaning. ```yaml dungeon: lobby-countdown: 10 template-folder: "dungeons" world-prefix: "SinceDungeon_" death-action: "RESPAWN" top-awarded-to: "ALL_MEMBERS" clear-mob-drops: true save-and-restore-stats: false out-of-lives-action: "SPECTATE" ``` -------------------------------- ### Core Plugin Directory Structure Source: https://sincerpg.github.io/SinceDungeon/getting-started.html The directory structure generated by the SinceDungeon Core plugin within the server plugins folder. ```text plugins/SinceDungeon/ config.yml data.db dungeons/ languages/ settings/ ``` -------------------------------- ### Save Schematic Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html WorldEdit command to save the copied selection as a schematic file. ```text //schem save ForgottenCrypt_Template ``` -------------------------------- ### giveItemSafely Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Safely gives an item to a player, avoiding loss when inventories are full or in temporary dungeon worlds. ```APIDOC ## giveItemSafely ### Description Safely delivers an item to a player, preventing loss when inventory is full or when in temporary dungeon worlds. ### Method void giveItemSafely(Player player, ItemStack item, String rewardName) ### Parameters - player (Player) - Required - The player to give the item to. - item (ItemStack) - Required - The item to give. - rewardName (String) - Required - The name of the reward. ### Example api.giveItemSafely(player, itemStack, "Reward Name"); ``` -------------------------------- ### Command Hooks Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html Executes console commands at specific dungeon lifecycle events. ```yaml settings: commands: on-start: - "lp user %player% permission set dungeon.in_game true" on-finish: - "lp user %player% permission unset dungeon.in_game" on-first-finish: - "eco give %player% 5000" ``` -------------------------------- ### Advanced YAML Path Format Source: https://sincerpg.github.io/SinceDungeon/editor.html The syntax required when adding a new path in the Advanced YAML menu. ```text path=value ``` -------------------------------- ### Common optional action fields Source: https://sincerpg.github.io/SinceDungeon/actions.html Shows common optional fields loaded by the action system: `time_limit`, `time_penalty`, `start_message`, and `notifications` toggles. `time_limit: -1` disables the timer; `time_penalty: 1` applies a penalty when supported. ```yaml type: "SPAWN_WAVE" time_limit: -1 time_penalty: 1 start_message: - "Message" notifications: custom_start: true init: true progress: true complete: true warning: true ``` -------------------------------- ### Configure Region Spacing Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html Set the spacing for shared-world mode to allow SinceDungeon to allocate regions and offset locations. ```yaml region-spacing: 2048 ``` -------------------------------- ### Coordinate Format Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html Standard format for defining 3D locations. ```text x,y,z ``` -------------------------------- ### Set active locale in settings Source: https://sincerpg.github.io/SinceDungeon/languages-customization.html Sets the active language locale to 'en'. The locale must be one of the shipped folders: en, vi, or zh. ```yaml settings: locale: "en" ``` -------------------------------- ### LOOT_CHEST action Source: https://sincerpg.github.io/SinceDungeon/actions.html Creates a chest objective. `per_player: true` lets each player collect their own share; `required_key` can require a key item. ```yaml type: "LOOT_CHEST" location: "20,60,-5" per_player: false required_key: "NONE" items: 13: "KEY:gate_key:1" 14: "GOLD_INGOT:5" ``` -------------------------------- ### Soul Crystal item configuration Source: https://sincerpg.github.io/SinceDungeon/lives-cooldowns.html Configured life crystal item with material NETHER_STAR and display name with '' placeholder. ```yaml items: life_crystal: material: "NETHER_STAR" name: "&d&lSoul Crystal &8| &a+ Lives" ``` -------------------------------- ### Admin Permission Node: SinceDungeon.admin Source: https://sincerpg.github.io/SinceDungeon/permissions.html Default permission is operator. Controls core admin command tree, /dungeon editor, /dungeon spectate, /dungeon getkey, premium /sdp commands, and admin target usage where checked by command logic. ```text SinceDungeon.admin ``` -------------------------------- ### Premium Schematic File Paths Source: https://sincerpg.github.io/SinceDungeon/getting-started.html The file paths the Premium plugin checks for schematic files based on the template-world name. ```text plugins/SinceDungeon-PremiumAddon/schematics/ForgottenCrypt_Template.schem plugins/SinceDungeon-PremiumAddon/schematics/ForgottenCrypt_Template.schematic ``` -------------------------------- ### CONTROL_ZONE action Source: https://sincerpg.github.io/SinceDungeon/actions.html Players hold an area for a duration. The zone can shrink over time and optionally spawn attackers. ```yaml type: "CONTROL_ZONE" center: "0,64,0" start_radius: 10.0 end_radius: 3.0 required_time: 20 mob: "ZOMBIE" mob_interval: 60 mob_level: 1 custom_name: "Zone Invader" ``` -------------------------------- ### Condition Syntax Source: https://sincerpg.github.io/SinceDungeon/dungeon-files.html The required format for defining condition checks. ```text ;; ``` -------------------------------- ### Discord Webhook Configuration Source: https://sincerpg.github.io/SinceDungeon/integrations.html Configuration block for enabling and customizing Discord completion notifications. ```yaml webhooks: enabled: true url: "YOUR_DISCORD_WEBHOOK_URL_HERE" embed-title: "Dungeon Cleared!" embed-color: "5814783" embed-description: "Map: **%dungeon%**\nTime: **%time%s**\nPlayers: **%players%**" ``` -------------------------------- ### Template Management Methods Source: https://sincerpg.github.io/SinceDungeon/developer-api.html Methods to retrieve, register, and unregister dungeon templates. ```APIDOC ## Template Management Methods ### Description Methods to manage dungeon templates. ### Methods - DungeonTemplate getTemplate(String id) - Set getAvailableTemplates() - void registerTemplate(DungeonTemplate template) - void unregisterTemplate(String id) ### Parameters - id (String) - Required - The template ID. - template (DungeonTemplate) - Required - The template to register. ### Returns - getTemplate: DungeonTemplate - The template with the given ID. - getAvailableTemplates: Set - Set of available template IDs. ``` -------------------------------- ### Copy Selection Source: https://sincerpg.github.io/SinceDungeon/folia-schematic.html WorldEdit command to copy the selected dungeon area. ```text //copy ``` -------------------------------- ### out-of-lives-action global config Source: https://sincerpg.github.io/SinceDungeon/lives-cooldowns.html Global dungeon config for behavior when a player runs out of lives. Options include 'SPECTATE', 'KICK', and 'FAIL'. ```yaml dungeon: out-of-lives-action: "SPECTATE" ``` -------------------------------- ### Admin Reset Commands Source: https://sincerpg.github.io/SinceDungeon/leaderboards.html Commands to reset leaderboard data. Use /sincedungeon top reset to reset a map's leaderboard, /sincedungeon top resetplayer to reset a player's data, and /sincedungeon top resetplayer to reset a player's data for a specific map. ```text /sincedungeon top reset /sincedungeon top resetplayer /sincedungeon top resetplayer ```