Links
Tags
Creators
Details
Licensed MIT
Published 3 months ago
Updated last month
All versions
0.1.0a
Alpha
OpenRPG 0.1.0a4 months ago 17
Compatibility
Minecraft: Java Edition
26.2
Platforms
Bukkit
Paper
Spigot
Changes
Changelog
v0.1.0a — Initial release
Core system
- Plugin bootstrap: Paper 1.21+, Kotlin, Gradle Shadow plugin
- OpenRPGLoader and OpenRPG main class with lifecycle
- ServicesManager API registration
Data model
- PlayerClass, PlayerStats, PlayerData, EffectContext, Modifier
- Effect interface (apply, priority, stackType)
- Condition interface (matches)
- EffectPriority: BASE, EQUIPMENT, CLASS, BUFF, DEBUFF, FINAL
- StackType: ADDITIVE, MULTIPLICATIVE, OVERRIDE
- SkillTreeNode with id, name, material, prerequisites
Conditions (4)
- CloseEnemiesCondition — near enemies (config: radius)
- NightTimeCondition — at night
- LowHealthCondition — health below threshold (config: threshold)
- SneakingCondition — while sneaking
Effects (8)
- DamageBonusEffect — multiplies damage
- DefenseBonusEffect — multiplies defense
- SpeedBonusEffect — multiplies speed
- CriticalChanceEffect — adds crit probability
- CriticalDamageEffect — adds crit multiplier
- HealEffect — flat healing
- LifeStealEffect — % damage to health
- FireAuraEffect — sets enemy on fire (config: duration, cooldown)
Engines
- EffectEngine — groups, sorts, evaluates and applies modifiers, fires EffectAppliedEvent
- ConditionEngine, StatEngine, EventDispatcher
- CooldownManager — per-player per-key cooldown system
Registries (4)
- ClassRegistry, ConditionRegistry, EffectRegistry, StatRegistry
Classes (3)
- Warrior — melee bonuses near enemies
- Mage — night power, fire aura, desperate defense
- Assassin — stealth damage, crits, life steal
Critical hit system
- critChance + critMultiplier in PlayerStats
- Random roll after damage multiplier
- Gold action bar with CRITICAL feedback
Talent tree
- 18 nodes (6 per class) with prerequisites
- Loaded from skills.yml — fully data-driven
- SkillLoader parses YAML, resolves conditions/effects through registries
- Errors are logged and skipped
EXP & leveling
- EXP from mob kills (3–50 based on max health)
- Formula: level * 100 EXP per level, max 50
- 1 talent point per level
- Action bar and chat feedback
Persistence
- PersistentDataContainer (player .dat files)
- Save on assign, load on join, save on quit
- onDisable saves all online players
Events
- EffectAppliedEvent — custom Bukkit event after each modifier
- Other plugins listen via @EventHandler without coupling
GUIs (Based chest interfaces)
- ClassSelectionGUI — class selection with heads and click-to-select
- StatusGUI — player stats, modifiers, talent points, buttons
- TalentGUI — skill nodes with learned/available/locked states
Commands
Unified under /openrpg:
| Command | Action |
|---|---|
| /openrpg | Help |
| /openrpg status | Open StatusGUI |
| /openrpg class [id] | Open GUI or assign directly |
| /openrpg talent | Open TalentGUI |
Internationalization
- LanguageManager with messages_EN.properties and messages_ES.properties
- Auto-detect player locale
- Color codes with & prefix
- Fallback to English
Damage feedback
- Action bar: "Zombie: 10/20 ❤ 34"
- Gold text for critical hits
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:NbWkXsM4:2eaXKBmn"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:NbWkXsM4:2eaXKBmn"
}

