fix(config): fixed indentation bug
Release / build-and-release (push) Has been cancelled

This commit is contained in:
darwincereska
2026-05-09 13:49:28 -04:00
parent 32165b87e7
commit fa52df1d39
@@ -5,23 +5,23 @@ import java.util.Map;
/**
* Main configuration tree for the mod's economy, bounty, tracker, and permission settings.
*/
public record SoulStealConfig(
EconomyConfig economy,
BountyConfig bounty,
TrackerConfig tracker,
ContractConfig contracts,
ShopUiConfig shop,
HudConfig hud,
PermissionConfig permissions
) {
public record SoulStealConfig(
EconomyConfig economy,
BountyConfig bounty,
TrackerConfig tracker,
ContractConfig contracts,
ShopUiConfig shop,
HudConfig hud,
PermissionConfig permissions
) {
public static SoulStealConfig fromMap(Map<String, Object> root) {
Map<String, Object> economySection = YamlConfigHelper.section(root, "economy");
Map<String, Object> deathPenaltySection = YamlConfigHelper.section(economySection, "death_penalty");
Map<String, Object> transferSection = YamlConfigHelper.section(economySection, "transfer");
Map<String, Object> bountySection = YamlConfigHelper.section(root, "bounties");
Map<String, Object> trackerSection = YamlConfigHelper.section(root, "tracker");
Map<String, Object> contractsSection = YamlConfigHelper.section(root, "contracts");
Map<String, Object> shopSection = YamlConfigHelper.section(root, "shop");
Map<String, Object> trackerSection = YamlConfigHelper.section(root, "tracker");
Map<String, Object> contractsSection = YamlConfigHelper.section(root, "contracts");
Map<String, Object> shopSection = YamlConfigHelper.section(root, "shop");
Map<String, Object> hudSection = YamlConfigHelper.section(root, "hud");
Map<String, Object> scoreboardSection = YamlConfigHelper.section(hudSection, "scoreboard");
Map<String, Object> bossbarSection = YamlConfigHelper.section(hudSection, "bounty_bossbar");
@@ -64,21 +64,21 @@ public record SoulStealConfig(
bountyConfig = bountyConfig.withMaxDurationSeconds(bountyConfig.minDurationSeconds());
}
TrackerConfig trackerConfig = new TrackerConfig(
YamlConfigHelper.bool(trackerSection, "enabled", true),
Math.max(30L, YamlConfigHelper.longValue(trackerSection, "duration_seconds", 900L)),
Math.max(1, YamlConfigHelper.intValue(trackerSection, "update_interval_ticks", 20)),
YamlConfigHelper.bool(trackerSection, "expire_if_target_offline", false)
);
ContractConfig contractConfig = new ContractConfig(
YamlConfigHelper.bool(contractsSection, "enabled", true),
YamlConfigHelper.bool(contractsSection, "auto_claim", true),
new ContractHudConfig(
YamlConfigHelper.bool(contractsSection, "hud_enabled", true),
YamlConfigHelper.string(contractsSection, "hud_title", "Active Contract")
)
);
TrackerConfig trackerConfig = new TrackerConfig(
YamlConfigHelper.bool(trackerSection, "enabled", true),
Math.max(30L, YamlConfigHelper.longValue(trackerSection, "duration_seconds", 900L)),
Math.max(1, YamlConfigHelper.intValue(trackerSection, "update_interval_ticks", 20)),
YamlConfigHelper.bool(trackerSection, "expire_if_target_offline", false)
);
ContractConfig contractConfig = new ContractConfig(
YamlConfigHelper.bool(contractsSection, "enabled", true),
YamlConfigHelper.bool(contractsSection, "auto_claim", true),
new ContractHudConfig(
YamlConfigHelper.bool(contractsSection, "hud_enabled", true),
YamlConfigHelper.string(contractsSection, "hud_title", "Active Contract")
)
);
ShopUiConfig shopUiConfig = new ShopUiConfig(
YamlConfigHelper.string(shopSection, "title", "Soul Shop"),
@@ -117,80 +117,82 @@ public record SoulStealConfig(
YamlConfigHelper.string(permissionsSection, "leaderboard_node", "soulsteal.leaderboard")
);
return new SoulStealConfig(economyConfig, bountyConfig, trackerConfig, contractConfig, shopUiConfig, hudConfig, permissionConfig);
}
return new SoulStealConfig(economyConfig, bountyConfig, trackerConfig, contractConfig, shopUiConfig, hudConfig, permissionConfig);
}
public static String defaultYaml() {
return """
economy:
starting_souls: 0
max_souls: 1000000
kill_reward: 25
death_penalty:
flat: 15
percent: 0.10
minimum: 5
maximum: 100
transfer:
enabled: true
minimum: 1
economy:
starting_souls: 0
max_souls: 1000000
kill_reward: 25
death_penalty:
flat: 15
percent: 0.10
minimum: 5
maximum: 100
transfer:
enabled: true
minimum: 1
bounties:
enabled: true
min_value: 25
max_value: 10000
default_duration_seconds: 7200
min_duration_seconds: 600
max_duration_seconds: 86400
survivor_reward_percent: 0.50
placement_cooldown_seconds: 60
max_active_per_target: 5
max_active_per_placer: 3
bounties:
enabled: true
min_value: 25
max_value: 10000
default_duration_seconds: 7200
min_duration_seconds: 600
max_duration_seconds: 86400
survivor_reward_percent: 0.50
placement_cooldown_seconds: 60
max_active_per_target: 5
max_active_per_placer: 3
tracker:
enabled: true
duration_seconds: 900
update_interval_ticks: 20
expire_if_target_offline: false
contracts:
enabled: true
auto_claim: true
hud_enabled: true
hud_title: "Active Contract"
shop:
title: "Soul Shop"
rows: 3
filler_item: "minecraft:black_stained_glass_pane"
default_purchase_cooldown_seconds: 0
enable_custom_amount_selector: true
default_max_custom_amount: 64
tracker:
enabled: true
duration_seconds: 900
update_interval_ticks: 20
expire_if_target_offline: false
hud:
scoreboard:
enabled: true
default_visible: false
title: "Soul HUD"
bounty_bossbar:
enabled: true
title: "Bounty on You"
leaderboard:
page_size: 10
contracts:
enabled: true
auto_claim: true
hud_enabled: true
hud_title: "Active Contract"
permissions:
# soulsteal.admin grants every admin-only action below.
admin_node: "soulsteal.admin"
reload_node: "soulsteal.admin.reload"
shop_node: "soulsteal.shop"
bounty_node: "soulsteal.bounty"
balance_others_node: "soulsteal.admin.balance.others"
set_node: "soulsteal.admin.balance.set"
add_node: "soulsteal.admin.balance.add"
take_node: "soulsteal.admin.balance.take"
scoreboard_node: "soulsteal.scoreboard"
leaderboard_node: "soulsteal.leaderboard"
""";
shop:
title: "Soul Shop"
rows: 3
filler_item: "minecraft:light_gray_stained_glass_pane"
default_purchase_cooldown_seconds: 0
enable_custom_amount_selector: true
default_max_custom_amount: 64
hud:
scoreboard:
enabled: true
default_visible: false
title: "Soul HUD"
bounty_bossbar:
enabled: true
title: "Bounty on You"
leaderboard:
page_size: 10
permissions:
# soulsteal.admin grants every admin-only action below.
admin_node: "soulsteal.admin"
reload_node: "soulsteal.admin.reload"
shop_node: "soulsteal.shop"
bounty_node: "soulsteal.bounty"
balance_others_node: "soulsteal.admin.balance.others"
set_node: "soulsteal.admin.balance.set"
add_node: "soulsteal.admin.balance.add"
take_node: "soulsteal.admin.balance.take"
scoreboard_node: "soulsteal.scoreboard"
leaderboard_node: "soulsteal.leaderboard"
""";
}
private static double clampPercent(double value) {
@@ -198,7 +200,7 @@ public record SoulStealConfig(
}
private static int clampRows(int rows) {
return Math.max(2, Math.min(6, rows));
return Math.max(2, Math.min(6, rows));
}
public record EconomyConfig(long startingSouls, long maxSouls, long killReward, DeathPenaltyConfig deathPenalty, TransferConfig transfer) {
@@ -233,14 +235,14 @@ public record SoulStealConfig(
}
}
public record TrackerConfig(boolean enabled, long durationSeconds, int updateIntervalTicks, boolean expireIfTargetOffline) {
}
public record ContractConfig(boolean enabled, boolean autoClaim, ContractHudConfig hud) {
}
public record ContractHudConfig(boolean enabled, String title) {
}
public record TrackerConfig(boolean enabled, long durationSeconds, int updateIntervalTicks, boolean expireIfTargetOffline) {
}
public record ContractConfig(boolean enabled, boolean autoClaim, ContractHudConfig hud) {
}
public record ContractHudConfig(boolean enabled, String title) {
}
public record ShopUiConfig(
String title,
@@ -277,4 +279,4 @@ public record SoulStealConfig(
String leaderboardNode
) {
}
}
}