🎮 Paper 1.21 · Plugin

Il sistema di sfide
definitivo per Paper

ChallengesX porta challenges, quests, battlepass e achievements in un unico plugin potente e configurabile.

⚔️

Challenges

Giornaliere, settimanali, mensili, permanenti e stagionali. Rotazione automatica e configurabile.

🗺️

Quest System

Quests a rami multipli con step, scelte narrative e progressione non lineare.

🏆

Battlepass

Due corsie (free + premium) ispirate a Brawl Stars. Ricompense per ogni livello.

🥇

Achievements

Sistema achievement con tier multipli, condizioni composite e ricompense.

👥

Party System

Sfide in party con condivisione del progresso e sfide esclusive cooperative.

📊

Leaderboard

Classifica globale, Hall of Fame e storico personalizzato per ogni giocatore.

🌍

Multi-Mode

Lifesteal, Roleplay, Skyblock, Factions, Prison, KitPvP — ogni modo ha le sue sfide.

🔌

Integrazioni

Vault, PlaceholderAPI, LuckPerms, ItemsAdder, Citizens, MythicMobs, DiscordSRV e altri.

Panoramica

ChallengesX è il sistema di challenge e quest definitivo per server Paper 1.21. Tutto è configurabile, nessun valore hardcodato.

Cos'è ChallengesX?

Un plugin Minecraft per Paper che unisce in un'unica soluzione: challenges giornaliere/settimanali/mensili con rotazione automatica, un sistema battlepass a doppia corsia, quests narrative a rami multipli, achievements con tier, party cooperativi e una classifica globale.

Requisiti

  • Paper 1.21 o superiore
  • Java 17+
  • Vault (obbligatorio per le ricompense economia)
  • PlaceholderAPI (raccomandato)

Dipendenze opzionali

Il plugin si integra automaticamente con i plugin presenti al momento del caricamento. Non è necessario installarli tutti.

PluginFunzione
LuckPermsPermessi avanzati e rank VIP/MVP
ItemsAdderIcone custom per GUI e rank Maestria
CitizensNPC per consegna quest
MythicMobsSfide con mob custom
DiscordSRVNotifiche Discord su completamento
FancyHologramsOlogrammi leaderboard
TABRank Maestria nella tablist

Installazione

L'installazione di ChallengesX richiede meno di 5 minuti.

1. Copia il JAR

Scarica ChallengesX-2.0.jar e copialo nella cartella plugins/ del tuo server Paper.

2. Primo avvio

Avvia il server. ChallengesX genererà automaticamente tutti i file di configurazione in plugins/ChallengesX/.

bash
plugins/ChallengesX/
├── config.yml          # configurazione principale
├── achievements.yml    # definizione achievements
├── battlepass.yml      # livelli e ricompense battlepass
├── quests.yml          # definizione quest
├── shop.yml            # shop punti
├── challenges/
│   ├── vanilla.yml
│   ├── lifesteal.yml
│   └── ...             # un file per ogni server-mode
└── lang/
    ├── messages_it.yml
    ├── messages_en.yml
    └── ...             # 8 lingue incluse

3. Configura

Apri config.yml e imposta almeno il server-mode corretto per il tuo server. Salva e usa /cx reload senza riavviare.

💡 Usa /cx reload per ricaricare la configurazione a caldo senza riavviare il server.

Configurazione

Tutto il comportamento del plugin è controllato da config.yml. Zero valori hardcodati.

Server Mode

Determina quale set di sfide viene caricato. Supporta anche modalità combinate.

yaml
server-mode: VANILLA
# oppure lista combinata:
# server-mode: [LIFESTEAL, VANILLA]
ModeDescrizione
VANILLASfide generali per qualsiasi server
LIFESTEALSfide PvP, cuori e sopravvivenza
SKYBLOCKFarming, isola e risorse
FACTIONSConquista territori e clan
PRISONMining, rank-up e sell
KITPVPKill, streak e KDA
ROLEPLAYInterazioni, skill e narrative

Progressione XP

yaml
progression:
  xp-per-challenge: 50
  xp-multiplier:
    EASY:       0.5
    NORMAL:     1.0
    HARD:       2.0
    LEGENDARY:  5.0
  daily-first-bonus: 1.5
  streak-multiplier:
    enabled: true
    increment-per-challenge: 0.1
    max-multiplier: 2.5

Challenges

Le sfide sono il cuore del plugin. Ogni categoria ha la sua rotazione automatica.

Categorie

CategoriaResetPermesso
DAILYOgni giorno a mezzanottechallengesx.category.daily
WEEKLYOgni lunedìchallengesx.category.weekly
MONTHLYPrimo del mesechallengesx.category.monthly
PERMANENTMaichallengesx.category.permanent
LIMITEDData scadenza customchallengesx.category.limited

Difficoltà

  • EASY — moltiplicatore XP ×0.5
  • NORMAL — moltiplicatore XP ×1.0
  • HARD — moltiplicatore XP ×2.0
  • LEGENDARY — moltiplicatore XP ×5.0

Struttura di una challenge

yaml
esempio_sfida:
  name: "Cacciatore Esperto"
  description: "Uccidi 50 zombie"
  category: DAILY
  difficulty: HARD
  type: KILL_MOB
  target: ZOMBIE
  amount: 50
  xp: 150
  rewards:
    - type: MONEY
      amount: 500
    - type: COMMAND
      command: "give %player% diamond 3"

Battlepass

Sistema a doppia corsia ispirato a Brawl Stars. Si avanza completando qualsiasi challenge.

Corsie

CorsiaAccessoRicompense
FreeTutti i giocatoriRicompense standard per ogni livello
PremiumChi acquista il passFree + ricompense premium (doppia corsia)

Progressione

Ogni challenge completata assegna punti XP. Al raggiungimento di 1000 XP (configurabile) si sale di livello nel battlepass, sbloccando le ricompense del livello raggiunto.

💡 Chi possiede il pass premium riscatta entrambe le corsie di ricompense per ogni livello — non solo quella premium.

Permessi

  • challengesx.battlepass.premium — accesso corsia premium
  • challengesx.battlepass.use — accesso GUI battlepass

Quest System

Quest narrative con step sequenziali, rami multipli e scelte del giocatore.

Struttura

Ogni quest è composta da step. Ogni step può avere più rami (branches) tra cui il giocatore deve scegliere, rendendo ogni playthrough potenzialmente diverso.

yaml
quest_esempio:
  name: "Il Viandante"
  description: "Una storia di sopravvivenza"
  steps:
    - id: step_1
      type: KILL_MOB
      target: SKELETON
      amount: 10
      branches:
        - id: branch_a
          condition: "kills >= 10"
          next_step: step_2a
        - id: branch_b
          condition: "time_elapsed > 300"
          next_step: step_2b

Comandi

  • /quests — apri la quest board
  • /quests info <id> — dettagli quest
  • /quests abandon <id> — abbandona quest attiva

Maestria

Sistema di progressione cosmetica basato su giorni qualificanti reali. Non legato a donazioni.

Come funziona

Un "giorno qualificante" viene contato solo se il giocatore soddisfa tutte e tre le condizioni:

  • Almeno 1 kill PvP nel giorno
  • Almeno 30 minuti di gioco attivo
  • Non essere stati uccisi da un giocatore
⚠️ La penalità di morte abbassa il displayed_rank di 1 grado, ma non intacca mai i streak_days accumulati.

Tier e Rank (28 gradi totali)

TierGradiGiorni
BronzoI → IV0 → 14
ArgentoI → IV23 → 68
OroI → IV89 → 170
LapisI → IV203 → 263
SmeraldoI → IV280 → 323
DiamanteI → IV334 → 357
AmetistaI → IV360 → 365

Comandi

  • /maestria — profilo personale
  • /maestria top — leaderboard globale
  • /maestria info <giocatore> — profilo di un altro giocatore (admin)

Party System

Crea gruppi per completare sfide cooperative e condividere il progresso.

Funzionamento

I party permettono a più giocatori di lavorare insieme sulle stesse sfide. Il progresso viene sommato tra tutti i membri attivi del party.

Comandi Party

ComandoDescrizione
/cx party createCrea un nuovo party
/cx party invite <giocatore>Invita un giocatore
/cx party leaveLascia il party attuale
/cx party infoVisualizza i membri del party

Comandi

Tutti i comandi disponibili nel plugin.

Giocatori

ComandoAliasDescrizione
/challenges/sfide /cha /cxApri menu challenges
/battlepass/bpApri menu battlepass
/cx profileVisualizza il tuo profilo
/cx profile <player>Profilo di un altro giocatore
/cx topLeaderboard globale
/cx shopApri reward shop
/maestriaProfilo Maestria

Admin (op)

ComandoDescrizione
/cx reloadRicarica configurazione a caldo
/cx force <player> <challenge>Forza completamento sfida
/cx reset <player>Resetta i dati di un giocatore
/cx exportEsporta dati in CSV
/cx event start <id>Avvia evento temporaneo
/maestria setrank <player> <rank>Imposta rank Maestria

Permessi

Tutti i permessi disponibili. I permessi default: true sono attivi per tutti i giocatori.

PermessoDefaultDescrizione
challengesx.usetruePermesso base
challengesx.category.dailytrueAccesso sfide giornaliere
challengesx.category.weeklytrueAccesso sfide settimanali
challengesx.category.monthlytrueAccesso sfide mensili
challengesx.vipfalseMoltiplicatore VIP ×1.5
challengesx.mvpfalseMoltiplicatore MVP ×2.0
challengesx.bypass.cooldownopIgnora cooldown
challengesx.adminopComandi admin
challengesx.admin.reloadopHot-reload config
challengesx.secret.viewfalseVedere sfide segrete

Integrazioni

ChallengesX rileva automaticamente i plugin compatibili e attiva le integrazioni.

PlaceholderAPI

Sono disponibili le seguenti placeholder per usare i dati di ChallengesX in altri plugin:

placeholders
%challengesx_points%          → punti totali giocatore
%challengesx_completed%       → sfide completate oggi
%challengesx_rank%            → posizione in classifica
%challengesx_battlepass_level%→ livello battlepass attuale
%challengesx_maestria_rank%   → rank Maestria visualizzato
%challengesx_maestria_days%   → streak days Maestria

DiscordSRV

Quando un giocatore completa una challenge HARD o LEGENDARY, viene inviata automaticamente una notifica nel canale Discord configurato.

ItemsAdder

Usato per le icone del sistema Maestria (namespace rankicons) e per icone custom nelle GUI. Il pack deve essere presente in ItemsAdder per visualizzare le icone correttamente.

Storage

Tre backend di storage supportati. Cambiare tipo richiede una migrazione manuale dei dati.

YAML (default)

I dati vengono salvati in file .yml per ogni giocatore. Ottimo per server piccoli, nessuna dipendenza esterna.

SQLite

Database file-based, nessun server richiesto. Raccomandato per la maggior parte dei server.

yaml
storage:
  type: SQLITE
  auto-save-minutes: 5

MySQL

Raccomandato per reti BungeeCord/Velocity con database condiviso.

yaml
storage:
  type: MYSQL
  mysql:
    host: localhost
    port: 3306
    database: challengesx
    username: root
    password: "tua_password"

Bug Reports

Segnala problemi o comportamenti inaspettati del plugin.

🎉 Nessun bug segnalato ancora!