Skip to content

Commit 852145a

Browse files
committed
Add initial configuration and placeholder for LevelingCore functionality
1 parent 3c2dd12 commit 852145a

2 files changed

Lines changed: 76 additions & 0 deletions

File tree

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.azuredoom.levelingcore;
2+
3+
// TODO: Implement leveling core functionality to Hytale Server API
4+
public class LevelingCore {}

src/main/resources/default.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# LevelingCore configuration
2+
#
3+
# =========================
4+
# Database Configuration
5+
# =========================
6+
#
7+
# Supported JDBC URLs:
8+
# H2 (file): jdbc:h2:file:./data/plugins/levelingcore/levelingcore;MODE=PostgreSQL
9+
# MySQL: jdbc:mysql://host:port/dbname
10+
# MariaDB: jdbc:mariadb://host:port/dbname
11+
# PostgreSQL: jdbc:postgresql://host:port/dbname
12+
#
13+
# Notes:
14+
# - H2 commonly uses empty username/password unless you configured otherwise.
15+
# - For MySQL/MariaDB/Postgres, set username/password.
16+
#
17+
database:
18+
jdbcUrl: "jdbc:h2:file:./data/plugins/levelingcore/levelingcore;MODE=PostgreSQL"
19+
username: ""
20+
password: ""
21+
maxPoolSize: 10
22+
23+
# =========================
24+
# Leveling Formula
25+
# =========================
26+
#
27+
# Supported types:
28+
# - EXPONENTIAL: XP floor at level L is baseXp * (L - 1) ^ exponent
29+
# - LINEAR: XP floor at level L is xpPerLevel * (L - 1)
30+
# - TABLE: XP floor at level L is defined in a CSV file
31+
# - CUSTOM: XP floor at level L is defined by a math expression
32+
#
33+
# Notes:
34+
# - XP migration is enabled by default. Set migrateXP to false to disable.
35+
# - Changing the formula will recompute XP to preserve player levels.
36+
#
37+
formula:
38+
type: "EXPONENTIAL"
39+
migrateXP: true
40+
exponential:
41+
baseXp: 100.0
42+
exponent: 1.7
43+
# Maximum level supported by this formula
44+
maxLevel: 100000
45+
linear:
46+
xpPerLevel: 100
47+
# Maximum level supported by this formula
48+
maxLevel: 100000
49+
table:
50+
# CSV file relative to the data directory
51+
file: "levels.csv"
52+
custom:
53+
# Expression returns the XP floor for a level.
54+
#
55+
# Available variables:
56+
# - level (current level, integer >= 1)
57+
#
58+
# You may also reference any constants defined below.
59+
#
60+
# Example:
61+
# exp(a * (level - 1)) * b / c
62+
#
63+
xpForLevel: "exp(a * (level - 1)) * b / c"
64+
65+
# Optional constants referenced in the expression
66+
constants:
67+
a: 0.12
68+
b: 100
69+
c: 1
70+
71+
# Maximum level supported by this formula (used for binary search)
72+
maxLevel: 100000

0 commit comments

Comments
 (0)