Skip to content

Commit f1c9230

Browse files
committed
Add configurable anvil max repair cost
1 parent 5b90d17 commit f1c9230

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed

atdeprecated-server/minecraft-patches/removes/0004-Remove-anvil-too-expensive-cap.patch renamed to atdeprecated-server/minecraft-patches/features/0005-Add-config-for-anvil-max-repair-cost.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
22
From: MidnightTale <[email protected]>
3-
Date: Sat, 19 Jul 2025 22:31:31 +0700
4-
Subject: [PATCH] Remove anvil too expensive cap
3+
Date: Thu, 24 Jul 2025 07:14:23 +0700
4+
Subject: [PATCH] Add config for anvil max repair cost
55

66

77
diff --git a/net/minecraft/world/inventory/AnvilMenu.java b/net/minecraft/world/inventory/AnvilMenu.java
8-
index 2346e1fc0c94084c3bb95c00be8aac36ae5f26ae..5915b6722b727875660ee9c94bd8ed5cbbb0c1ff 100644
8+
index 2346e1fc0c94084c3bb95c00be8aac36ae5f26ae..63e986e2c2c7f75d72d2cf1c4e7fafd6e82a2960 100644
99
--- a/net/minecraft/world/inventory/AnvilMenu.java
1010
+++ b/net/minecraft/world/inventory/AnvilMenu.java
1111
@@ -46,7 +46,7 @@ public class AnvilMenu extends ItemCombinerMenu {
1212
private static final int SLOT_Y_PLACEMENT = 47;
1313
// CraftBukkit start
1414
public static final int DEFAULT_DENIED_COST = -1;
1515
- public int maximumRepairCost = 40;
16-
+ public int maximumRepairCost = Integer.MAX_VALUE; // atDeprecated - Remove too expensive anvil cap
16+
+ public int maximumRepairCost = fun.mntale.atdeprecated.config.AtCoreConfig.ANVIL_CONFIG.maximumRepairCost < 0 ? Integer.MAX_VALUE : fun.mntale.atdeprecated.config.AtCoreConfig.ANVIL_CONFIG.maximumRepairCost; // atDeprecated - Remove too expensive anvil cap
1717
private org.bukkit.craftbukkit.inventory.view.CraftAnvilView bukkitEntity;
1818
// CraftBukkit end
1919
public boolean bypassEnchantmentLevelRestriction = false; // Paper - bypass anvil level restrictions

atdeprecated-server/src/main/java/fun/mntale/atdeprecated/config/AtCoreConfig.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package fun.mntale.atdeprecated.config;
22

3+
import fun.mntale.atdeprecated.config.modules.features.AnvilConfig;
34
import fun.mntale.atdeprecated.config.modules.features.BeaconConfig;
45
import fun.mntale.atdeprecated.config.modules.features.DispenserConfig;
56
import fun.mntale.atdeprecated.config.modules.features.ElytraConfig;
@@ -9,6 +10,7 @@
910
public class AtCoreConfig {
1011
private static final ConfigManager configManager = new ConfigManager(new File("atdeprecated/atdeprecated-global.toml"));
1112

13+
public static final AnvilConfig ANVIL_CONFIG = new AnvilConfig();
1214
public static final BeaconConfig BEACON_CONFIG = new BeaconConfig();
1315
public static final DispenserConfig DISPENSER_CONFIG = new DispenserConfig();
1416
public static final ElytraConfig ELYTRA_CONFIG = new ElytraConfig();
@@ -24,6 +26,7 @@ public static void load() {
2426
}
2527

2628
private static void registerModules() {
29+
configManager.registerModule(ANVIL_CONFIG);
2730
configManager.registerModule(BEACON_CONFIG);
2831
configManager.registerModule(DISPENSER_CONFIG);
2932
configManager.registerModule(ELYTRA_CONFIG);
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package fun.mntale.atdeprecated.config.modules.features;
2+
3+
import fun.mntale.atdeprecated.config.EnumConfigCategory;
4+
import fun.mntale.atdeprecated.config.IConfigModule;
5+
import fun.mntale.atdeprecated.config.annotations.ConfigInfo;
6+
7+
public class AnvilConfig implements IConfigModule {
8+
9+
@ConfigInfo(name = "maximum-repair-cost", comments = "The maximum repair cost for the anvil. Set to -1 to disable.")
10+
public int maximumRepairCost = 40;
11+
12+
@Override
13+
public EnumConfigCategory getCategory() {
14+
return EnumConfigCategory.FEATURES;
15+
}
16+
17+
@Override
18+
public String getBaseName() {
19+
return "anvil";
20+
}
21+
}

0 commit comments

Comments
 (0)