
OpenRPG
OpenRPG: A modular, open-source RPG engine for Paper.
Оцените первым
32
0
Список изменений
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
Файлы
openRPG-0.1.0a.jar(1.88 MiB)
ОсновнойМетаданные
Канал релиза
Alpha
Номер версии
0.1.0a
Загрузчики
BukkitPaperSpigot
Версии игры
26.2
Загрузок
6
Дата публикации
06.07.2026
