Skip to content

Commit 37d84e5

Browse files
authored
Merge branch '2.x' into l10n_2.x
2 parents 2b78b7d + 5baf239 commit 37d84e5

77 files changed

Lines changed: 1349 additions & 273 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build-master.yml

Lines changed: 57 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,65 @@ jobs:
4141
report_paths: '**/build/test-results/test*/TEST-*.xml'
4242

4343
- name: Archive plugin jars on GitHub
44-
uses: actions/upload-artifact@v4
44+
uses: actions/upload-artifact@v7
4545
with:
4646
name: EssentialsX plugin jars
4747
path: jars/
4848

49+
- name: Upload EssentialsX jar
50+
uses: actions/upload-artifact@v7
51+
with:
52+
path: jars/EssentialsX-*.jar
53+
archive: false
54+
55+
- name: Upload EssentialsXAntiBuild jar
56+
uses: actions/upload-artifact@v7
57+
with:
58+
path: jars/EssentialsXAntiBuild-*.jar
59+
archive: false
60+
61+
- name: Upload EssentialsXChat jar
62+
uses: actions/upload-artifact@v7
63+
with:
64+
path: jars/EssentialsXChat-*.jar
65+
archive: false
66+
67+
- name: Upload EssentialsXDiscord jar
68+
uses: actions/upload-artifact@v7
69+
with:
70+
path: jars/EssentialsXDiscord-*.jar
71+
archive: false
72+
73+
- name: Upload EssentialsXDiscordLink jar
74+
uses: actions/upload-artifact@v7
75+
with:
76+
path: jars/EssentialsXDiscordLink-*.jar
77+
archive: false
78+
79+
- name: Upload EssentialsXGeoIP jar
80+
uses: actions/upload-artifact@v7
81+
with:
82+
path: jars/EssentialsXGeoIP-*.jar
83+
archive: false
84+
85+
- name: Upload EssentialsXProtect jar
86+
uses: actions/upload-artifact@v7
87+
with:
88+
path: jars/EssentialsXProtect-*.jar
89+
archive: false
90+
91+
- name: Upload EssentialsXSpawn jar
92+
uses: actions/upload-artifact@v7
93+
with:
94+
path: jars/EssentialsXSpawn-*.jar
95+
archive: false
96+
97+
- name: Upload EssentialsXXMPP jar
98+
uses: actions/upload-artifact@v7
99+
with:
100+
path: jars/EssentialsXXMPP-*.jar
101+
archive: false
102+
49103
- name: Deploy to Maven repo
50104
if: ${{ success() && github.event_name == 'push' && github.repository == 'EssentialsX/Essentials' && github.ref == 'refs/heads/2.x' }}
51105
env:
@@ -67,7 +121,7 @@ jobs:
67121
cp -r EssentialsXMPP/build/docs/javadoc/ javadocs/EssentialsXMPP/
68122
69123
- name: Archive Javadocs
70-
uses: actions/upload-artifact@v4
124+
uses: actions/upload-artifact@v7
71125
with:
72126
name: javadocs
73127
path: javadocs/
@@ -85,7 +139,7 @@ jobs:
85139
node-version: 22
86140

87141
- name: Download Javadocs
88-
uses: actions/download-artifact@v4
142+
uses: actions/download-artifact@v8
89143
with:
90144
name: javadocs
91145
path: javadocs/

.github/workflows/build-pr.yml

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,61 @@ jobs:
4848
report_paths: '**/build/test-results/test*/TEST-*.xml'
4949

5050
- name: Archive plugin jars on GitHub
51-
uses: actions/upload-artifact@v4
51+
uses: actions/upload-artifact@v7
5252
with:
5353
name: EssentialsX plugin jars
5454
path: jars/
55+
56+
- name: Upload EssentialsX jar
57+
uses: actions/upload-artifact@v7
58+
with:
59+
path: jars/EssentialsX-*.jar
60+
archive: false
61+
62+
- name: Upload EssentialsXAntiBuild jar
63+
uses: actions/upload-artifact@v7
64+
with:
65+
path: jars/EssentialsXAntiBuild-*.jar
66+
archive: false
67+
68+
- name: Upload EssentialsXChat jar
69+
uses: actions/upload-artifact@v7
70+
with:
71+
path: jars/EssentialsXChat-*.jar
72+
archive: false
73+
74+
- name: Upload EssentialsXDiscord jar
75+
uses: actions/upload-artifact@v7
76+
with:
77+
path: jars/EssentialsXDiscord-*.jar
78+
archive: false
79+
80+
- name: Upload EssentialsXDiscordLink jar
81+
uses: actions/upload-artifact@v7
82+
with:
83+
path: jars/EssentialsXDiscordLink-*.jar
84+
archive: false
85+
86+
- name: Upload EssentialsXGeoIP jar
87+
uses: actions/upload-artifact@v7
88+
with:
89+
path: jars/EssentialsXGeoIP-*.jar
90+
archive: false
91+
92+
- name: Upload EssentialsXProtect jar
93+
uses: actions/upload-artifact@v7
94+
with:
95+
path: jars/EssentialsXProtect-*.jar
96+
archive: false
97+
98+
- name: Upload EssentialsXSpawn jar
99+
uses: actions/upload-artifact@v7
100+
with:
101+
path: jars/EssentialsXSpawn-*.jar
102+
archive: false
103+
104+
- name: Upload EssentialsXXMPP jar
105+
uses: actions/upload-artifact@v7
106+
with:
107+
path: jars/EssentialsXXMPP-*.jar
108+
archive: false

Essentials/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ plugins {
33
}
44

55
dependencies {
6-
compileOnly('com.github.milkbowl:VaultAPI:1.7') {
6+
compileOnly('net.essentialsx.deps:VaultAPI:1.7') {
77
exclude group: "org.bukkit", module: "bukkit"
88
}
99
compileOnly 'net.luckperms:api:5.3'

Essentials/src/main/java/com/earth2me/essentials/Console.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@
1313

1414
public final class Console implements IMessageRecipient {
1515
public static final String NAME = "Console";
16-
public static final String DISPLAY_NAME = tlLiteral("consoleName");
16+
17+
public static String displayName() {
18+
return tlLiteral("consoleName");
19+
}
20+
1721
private static Console instance; // Set in essentials
1822

1923
private final IEssentials ess;
@@ -56,7 +60,7 @@ public UUID getUUID() {
5660

5761
@Override
5862
public String getDisplayName() {
59-
return Console.DISPLAY_NAME;
63+
return displayName();
6064
}
6165

6266
@Override

Essentials/src/main/java/com/earth2me/essentials/Enchantments.java

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,27 @@ public final class Enchantments {
1717

1818
static {
1919
final Enchantment SHARPNESS = RegistryUtil.valueOf(Enchantment.class, "DAMAGE_ALL", "SHARPNESS");
20-
20+
2121
ENCHANTMENTS.put("alldamage", SHARPNESS);
2222
ALIASENCHANTMENTS.put("alldmg", SHARPNESS);
2323
ENCHANTMENTS.put("sharpness", SHARPNESS);
2424
ALIASENCHANTMENTS.put("sharp", SHARPNESS);
2525
ALIASENCHANTMENTS.put("dal", SHARPNESS);
26-
26+
2727
final Enchantment BANE_OF_ARTHROPODS = RegistryUtil.valueOf(Enchantment.class, "DAMAGE_ARTHROPODS", "BANE_OF_ARTHROPODS");
2828

2929
ENCHANTMENTS.put("ardmg", BANE_OF_ARTHROPODS);
3030
ENCHANTMENTS.put("baneofarthropods", BANE_OF_ARTHROPODS);
3131
ALIASENCHANTMENTS.put("baneofarthropod", BANE_OF_ARTHROPODS);
3232
ALIASENCHANTMENTS.put("arthropod", BANE_OF_ARTHROPODS);
3333
ALIASENCHANTMENTS.put("dar", BANE_OF_ARTHROPODS);
34-
34+
3535
final Enchantment SMITE = RegistryUtil.valueOf(Enchantment.class, "DAMAGE_UNDEAD", "SMITE");
3636

3737
ENCHANTMENTS.put("undeaddamage", SMITE);
3838
ENCHANTMENTS.put("smite", SMITE);
3939
ALIASENCHANTMENTS.put("du", SMITE);
40-
40+
4141
final Enchantment EFFICIENCY = RegistryUtil.valueOf(Enchantment.class, "DIG_SPEED", "EFFICIENCY");
4242

4343
ENCHANTMENTS.put("digspeed", EFFICIENCY);
@@ -46,7 +46,7 @@ public final class Enchantments {
4646
ALIASENCHANTMENTS.put("cutspeed", EFFICIENCY);
4747
ALIASENCHANTMENTS.put("ds", EFFICIENCY);
4848
ALIASENCHANTMENTS.put("eff", EFFICIENCY);
49-
49+
5050
final Enchantment UNBREAKING = RegistryUtil.valueOf(Enchantment.class, "DURABILITY", "UNBREAKING");
5151

5252
ENCHANTMENTS.put("durability", UNBREAKING);
@@ -70,36 +70,36 @@ public final class Enchantments {
7070
ALIASENCHANTMENTS.put("kback", Enchantment.KNOCKBACK);
7171
ALIASENCHANTMENTS.put("kb", Enchantment.KNOCKBACK);
7272
ALIASENCHANTMENTS.put("k", Enchantment.KNOCKBACK);
73-
73+
7474
final Enchantment FORTUNE = RegistryUtil.valueOf(Enchantment.class, "LOOT_BONUS_BLOCKS", "FORTUNE");
7575

7676
ALIASENCHANTMENTS.put("blockslootbonus", FORTUNE);
7777
ENCHANTMENTS.put("fortune", FORTUNE);
7878
ALIASENCHANTMENTS.put("fort", FORTUNE);
7979
ALIASENCHANTMENTS.put("lbb", FORTUNE);
80-
80+
8181
final Enchantment LOOTING = RegistryUtil.valueOf(Enchantment.class, "LOOT_BONUS_MOBS", "LOOTING");
8282

8383
ALIASENCHANTMENTS.put("mobslootbonus", LOOTING);
8484
ENCHANTMENTS.put("mobloot", LOOTING);
8585
ENCHANTMENTS.put("looting", LOOTING);
8686
ALIASENCHANTMENTS.put("lbm", LOOTING);
87-
87+
8888
final Enchantment RESPIRATION = RegistryUtil.valueOf(Enchantment.class, "OXYGEN", "RESPIRATION");
8989

9090
ALIASENCHANTMENTS.put("oxygen", RESPIRATION);
9191
ENCHANTMENTS.put("respiration", RESPIRATION);
9292
ALIASENCHANTMENTS.put("breathing", RESPIRATION);
9393
ENCHANTMENTS.put("breath", RESPIRATION);
9494
ALIASENCHANTMENTS.put("o", RESPIRATION);
95-
95+
9696
final Enchantment PROTECTION = RegistryUtil.valueOf(Enchantment.class, "PROTECTION_ENVIRONMENTAL", "PROTECTION");
9797

9898
ENCHANTMENTS.put("protection", PROTECTION);
9999
ALIASENCHANTMENTS.put("prot", PROTECTION);
100100
ENCHANTMENTS.put("protect", PROTECTION);
101101
ALIASENCHANTMENTS.put("p", PROTECTION);
102-
102+
103103
final Enchantment BLAST_PROTECTION = RegistryUtil.valueOf(Enchantment.class, "PROTECTION_EXPLOSIONS", "BLAST_PROTECTION");
104104

105105
ALIASENCHANTMENTS.put("explosionsprotection", BLAST_PROTECTION);
@@ -110,15 +110,15 @@ public final class Enchantments {
110110
ALIASENCHANTMENTS.put("bprotect", BLAST_PROTECTION);
111111
ENCHANTMENTS.put("blastprotect", BLAST_PROTECTION);
112112
ALIASENCHANTMENTS.put("pe", BLAST_PROTECTION);
113-
113+
114114
final Enchantment FEATHER_FALLING = RegistryUtil.valueOf(Enchantment.class, "PROTECTION_FALL", "FEATHER_FALLING");
115115

116116
ALIASENCHANTMENTS.put("fallprotection", FEATHER_FALLING);
117117
ENCHANTMENTS.put("fallprot", FEATHER_FALLING);
118118
ENCHANTMENTS.put("featherfall", FEATHER_FALLING);
119119
ALIASENCHANTMENTS.put("featherfalling", FEATHER_FALLING);
120120
ALIASENCHANTMENTS.put("pfa", FEATHER_FALLING);
121-
121+
122122
final Enchantment FIRE_PROTECTION = RegistryUtil.valueOf(Enchantment.class, "PROTECTION_FIRE", "FIRE_PROTECTION");
123123

124124
ALIASENCHANTMENTS.put("fireprotection", FIRE_PROTECTION);
@@ -128,7 +128,7 @@ public final class Enchantments {
128128
ENCHANTMENTS.put("fireprot", FIRE_PROTECTION);
129129
ALIASENCHANTMENTS.put("flameprot", FIRE_PROTECTION);
130130
ALIASENCHANTMENTS.put("pf", FIRE_PROTECTION);
131-
131+
132132
final Enchantment PROJECTILE_PROTECTION = RegistryUtil.valueOf(Enchantment.class, "PROTECTION_PROJECTILE", "PROJECTILE_PROTECTION");
133133

134134
ENCHANTMENTS.put("projectileprotection", PROJECTILE_PROTECTION);
@@ -138,36 +138,36 @@ public final class Enchantments {
138138
ENCHANTMENTS.put("silktouch", Enchantment.SILK_TOUCH);
139139
ALIASENCHANTMENTS.put("softtouch", Enchantment.SILK_TOUCH);
140140
ALIASENCHANTMENTS.put("st", Enchantment.SILK_TOUCH);
141-
141+
142142
final Enchantment AQUA_AFFINITY = RegistryUtil.valueOf(Enchantment.class, "WATER_WORKER", "AQUA_AFFINITY");
143143

144144
ENCHANTMENTS.put("waterworker", AQUA_AFFINITY);
145145
ENCHANTMENTS.put("aquaaffinity", AQUA_AFFINITY);
146146
ALIASENCHANTMENTS.put("watermine", AQUA_AFFINITY);
147147
ALIASENCHANTMENTS.put("ww", AQUA_AFFINITY);
148-
148+
149149
final Enchantment FLAME = RegistryUtil.valueOf(Enchantment.class, "ARROW_FIRE", "FLAME");
150150

151151
ALIASENCHANTMENTS.put("firearrow", FLAME);
152152
ENCHANTMENTS.put("flame", FLAME);
153153
ENCHANTMENTS.put("flamearrow", FLAME);
154154
ALIASENCHANTMENTS.put("af", FLAME);
155-
155+
156156
final Enchantment POWER = RegistryUtil.valueOf(Enchantment.class, "ARROW_DAMAGE", "POWER");
157157

158158
ENCHANTMENTS.put("arrowdamage", POWER);
159159
ENCHANTMENTS.put("power", POWER);
160160
ALIASENCHANTMENTS.put("arrowpower", POWER);
161161
ALIASENCHANTMENTS.put("ad", POWER);
162-
162+
163163
final Enchantment PUNCH = RegistryUtil.valueOf(Enchantment.class, "ARROW_KNOCKBACK", "PUNCH");
164164

165165
ENCHANTMENTS.put("arrowknockback", PUNCH);
166166
ALIASENCHANTMENTS.put("arrowkb", PUNCH);
167167
ENCHANTMENTS.put("punch", PUNCH);
168168
ALIASENCHANTMENTS.put("arrowpunch", PUNCH);
169169
ALIASENCHANTMENTS.put("ak", PUNCH);
170-
170+
171171
final Enchantment INFINITY = RegistryUtil.valueOf(Enchantment.class, "ARROW_INFINITE", "INFINITY");
172172

173173
ALIASENCHANTMENTS.put("infinitearrows", INFINITY);
@@ -177,7 +177,7 @@ public final class Enchantments {
177177
ALIASENCHANTMENTS.put("unlimited", INFINITY);
178178
ALIASENCHANTMENTS.put("unlimitedarrows", INFINITY);
179179
ALIASENCHANTMENTS.put("ai", INFINITY);
180-
180+
181181
final Enchantment LUCK_OF_THE_SEA = RegistryUtil.valueOf(Enchantment.class, "LUCK", "LUCK_OF_THE_SEA");
182182

183183
ENCHANTMENTS.put("luck", LUCK_OF_THE_SEA);
@@ -321,6 +321,14 @@ public final class Enchantments {
321321
} catch (final IllegalArgumentException ignored) {
322322
}
323323

324+
try { // 1.21.11
325+
final Enchantment lunge = Enchantment.getByName("LUNGE");
326+
if (lunge != null) {
327+
ENCHANTMENTS.put("lunge", lunge);
328+
}
329+
} catch (final IllegalArgumentException ignored) {
330+
}
331+
324332
try {
325333
final Class<?> namespacedKeyClass = Class.forName("org.bukkit.NamespacedKey");
326334
final Class<?> enchantmentClass = Class.forName("org.bukkit.enchantments.Enchantment");

Essentials/src/main/java/com/earth2me/essentials/Essentials.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@
146146
import java.util.function.Predicate;
147147
import java.util.logging.Level;
148148
import java.util.logging.Logger;
149+
import java.util.Objects;
150+
import java.util.stream.Collectors;
149151

150152
import static com.earth2me.essentials.I18n.tlLiteral;
151153
import static com.earth2me.essentials.I18n.tlLocale;
@@ -837,7 +839,7 @@ public boolean onCommandEssentials(final CommandSender cSender, final Command co
837839
sender.sendTl("commandHelpLine2", description);
838840
sender.sendTl("commandHelpLine3");
839841
for (Map.Entry<String, String> usage : cmd.getUsageStrings().entrySet()) {
840-
sender.sendTl("commandHelpLineUsage", AdventureUtil.parsed(usage.getKey().replace("<command>", commandLabel)), AdventureUtil.parsed(usage.getValue()));
842+
sender.sendTl("commandHelpLineUsage", AdventureUtil.parsed(usage.getKey().replace("<command>", commandLabel)), AdventureUtil.parsed(sender.tl(usage.getValue())));
841843
}
842844
} else {
843845
sender.sendMessage(command.getDescription());
@@ -903,6 +905,11 @@ public BukkitScheduler getScheduler() {
903905
return this.getServer().getScheduler();
904906
}
905907

908+
@Override
909+
public List<Player> getJailedPlayers() {
910+
return getUsers().getAllUserUUIDs().stream().map(this::getUser).filter(Objects::nonNull).filter(User::isJailed).map(User::getBase).filter(Objects::nonNull).collect(Collectors.toList());
911+
}
912+
906913
@Override
907914
public IJails getJails() {
908915
return jails;

0 commit comments

Comments
 (0)