Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
e5c9074
Fix preventing joins when server isn't actually full (#6426)
md5nake Feb 7, 2026
6ab56d2
Implement kits placing items in specific slots (#5794)
TiagoFar78 Feb 7, 2026
787f539
Prevent NPE in getPlayerLocale for offline players (#6435)
kennytv Feb 9, 2026
702b21c
Upstream
R00tB33rMan Feb 10, 2026
d16aec1
Fixed unreachable nickNoMore Message in /nick command. Not a huge cha…
Lab18bke Feb 21, 2026
bc6acfe
Command Trees v2 (#6230)
JRoy Feb 21, 2026
99f7a49
Improve gc command performance (#6439)
RVSkeLe Feb 22, 2026
e9b8343
Move away from adventure-platform for Paper (#6220)
JRoy Feb 22, 2026
18549a7
Fix /ess reload (#6444)
JRoy Feb 22, 2026
f080f81
fix(commands): propagate Essentials and module to tree nodes (#6445)
bestzige Feb 23, 2026
ed31fcf
Upstream
R00tB33rMan Feb 24, 2026
b8acd9c
Allow discord console relay to be filtered by logger name (#6448)
gheatherington Feb 28, 2026
5abe8b6
Fix server freezing with /give (#6449)
UDPSendToFailed Feb 28, 2026
9c34094
Upstream
R00tB33rMan Mar 2, 2026
9c83333
Fix integer overflow with /burn + /more & fix % in chat formats (#6452)
UDPSendToFailed Mar 7, 2026
68d1c22
Upstream
R00tB33rMan Mar 8, 2026
297d0e4
Migrate Vault and emoji-java dependencies away from Jitpack (#6458)
mdcfe Mar 8, 2026
4aba796
Upstream
R00tB33rMan Mar 8, 2026
9d70fdb
Add MiniMessage support for thunder enabled / disabled (#6454)
itsme-to Mar 9, 2026
302653a
Fix workflow artifact upload paths missing "X" in EssentialsX addon j…
Copilot Mar 10, 2026
ebb520a
Upstream
R00tB33rMan Mar 10, 2026
482175e
Prevent running recipe command while sleeping (#6455)
Golfing7 Mar 14, 2026
d7452bf
Fix stale shadow include group ID for emoji-java in EssentialsDiscord…
Copilot Mar 15, 2026
dba81d3
Upstream
R00tB33rMan Mar 16, 2026
8e3b24f
Minecraft 26.1 (#6473)
JRoy Mar 23, 2026
bc3feb8
Upstream
R00tB33rMan Mar 27, 2026
5d535dc
Support new PaperMC versioning scheme in VersionUtil (#6480)
JasonHorkles Apr 4, 2026
c26909e
Add alias "ver" for the "version" subcommand (#6481)
JasonHorkles Apr 4, 2026
218e004
Bump supported versions to 26.1.1 (#6482)
JasonHorkles Apr 4, 2026
637ac8f
Fix version comparison logic for pre-release/snapshot/rc variants (#6…
JRoy Apr 4, 2026
716a61e
Mitigate Discord 429s (#6461)
JRoy Apr 4, 2026
d57a970
Upstream
R00tB33rMan Apr 4, 2026
5a78df5
Add option to allow fishing when afk (#6465)
v-bojovic Apr 5, 2026
0845ea6
Fixed NoSuchMethodException Player.getRespawnLocation() (#6460)
CrystalD5 Apr 5, 2026
08b7fe3
Add PreTransactionEvent (#6370)
Golfing7 Apr 5, 2026
f5fc430
fix(fly): persist fly mode and restore on join (#6403)
Touchie771 Apr 5, 2026
236ce88
Add /unmute command and broadcast on unmute (#6491)
JRoy Apr 5, 2026
86621cd
Don't enable fly mode on login when player is in water (#6490)
JRoy Apr 5, 2026
73aa657
Reject Windows reserved filenames in /setwarp (#6487)
JRoy Apr 5, 2026
00b4a5b
Make /flyspeed and /walkspeed force the correct speed type (#6485)
JRoy Apr 5, 2026
4db09f2
Change default max-nick-length to 16 (#6484)
JRoy Apr 5, 2026
ddaadf2
Add socialSpyCmdFormat message key for command social spy (#6489)
JRoy Apr 5, 2026
add5eb7
Add permission cache system + permission for vanish item pickup (#6488)
JRoy Apr 5, 2026
fb669aa
Remove extractUrls from default legacy serializer (#6492)
JRoy Apr 5, 2026
1038b3a
Fix incorrect teleport safety message (#6486)
JRoy Apr 5, 2026
d6edb7b
Upstream
R00tB33rMan Apr 6, 2026
63e7c4d
Bump supported versions to 26.1.2 (#6500)
JasonHorkles Apr 11, 2026
f73a030
Upstream
R00tB33rMan Apr 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 57 additions & 3 deletions .github/workflows/build-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,65 @@ jobs:
report_paths: '**/build/test-results/test*/TEST-*.xml'

- name: Archive plugin jars on GitHub
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: EssentialsX plugin jars
path: jars/

- name: Upload EssentialsX jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsX-*.jar
archive: false

- name: Upload EssentialsXAntiBuild jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXAntiBuild-*.jar
archive: false

- name: Upload EssentialsXChat jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXChat-*.jar
archive: false

- name: Upload EssentialsXDiscord jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXDiscord-*.jar
archive: false

- name: Upload EssentialsXDiscordLink jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXDiscordLink-*.jar
archive: false

- name: Upload EssentialsXGeoIP jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXGeoIP-*.jar
archive: false

- name: Upload EssentialsXProtect jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXProtect-*.jar
archive: false

- name: Upload EssentialsXSpawn jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXSpawn-*.jar
archive: false

- name: Upload EssentialsXXMPP jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXXMPP-*.jar
archive: false

- name: Deploy to Maven repo
if: ${{ success() && github.event_name == 'push' && github.repository == 'EssentialsX/Essentials' && github.ref == 'refs/heads/2.x' }}
env:
Expand All @@ -67,7 +121,7 @@ jobs:
cp -r EssentialsXMPP/build/docs/javadoc/ javadocs/EssentialsXMPP/

- name: Archive Javadocs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: javadocs
path: javadocs/
Expand All @@ -85,7 +139,7 @@ jobs:
node-version: 22

- name: Download Javadocs
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: javadocs
path: javadocs/
Expand Down
56 changes: 55 additions & 1 deletion .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,61 @@ jobs:
report_paths: '**/build/test-results/test*/TEST-*.xml'

- name: Archive plugin jars on GitHub
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: EssentialsX plugin jars
path: jars/

- name: Upload EssentialsX jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsX-*.jar
archive: false

- name: Upload EssentialsXAntiBuild jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXAntiBuild-*.jar
archive: false

- name: Upload EssentialsXChat jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXChat-*.jar
archive: false

- name: Upload EssentialsXDiscord jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXDiscord-*.jar
archive: false

- name: Upload EssentialsXDiscordLink jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXDiscordLink-*.jar
archive: false

- name: Upload EssentialsXGeoIP jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXGeoIP-*.jar
archive: false

- name: Upload EssentialsXProtect jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXProtect-*.jar
archive: false

- name: Upload EssentialsXSpawn jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXSpawn-*.jar
archive: false

- name: Upload EssentialsXXMPP jar
uses: actions/upload-artifact@v7
with:
path: jars/EssentialsXXMPP-*.jar
archive: false
4 changes: 2 additions & 2 deletions Essentials/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ plugins {
}

dependencies {
compileOnly('com.github.milkbowl:VaultAPI:1.7') {
compileOnly('net.essentialsx.deps:VaultAPI:1.7') {
exclude group: "org.bukkit", module: "bukkit"
}
compileOnly 'net.luckperms:api:5.3'
Expand Down Expand Up @@ -95,7 +95,7 @@ shadowJar {
relocate 'io.leangen.geantyref', 'com.earth2me.essentials.libs.geantyref'
relocate 'org.checkerframework', 'com.earth2me.essentials.libs.checkerframework'
relocate 'net.kyori', 'com.earth2me.essentials.libs.kyori'
relocate 'net.essentialsx.temp.adventure', 'net.kyori.adventure'
relocate 'net.essentialsx.temp.adventure', 'net.kyori.adventure' // Undo temporary relocation for Paper Provider

minimize {
include(dependency('org.checkerframework:checker-qual'))
Expand Down
5 changes: 2 additions & 3 deletions Essentials/src/main/java/com/earth2me/essentials/Backup.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.earth2me.essentials;

import com.earth2me.essentials.utils.AdventureUtil;
import net.ess3.api.IEssentials;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
Expand Down Expand Up @@ -80,7 +79,7 @@ public void run() {
taskLock.complete(new Object());
return;
}
ess.getLogger().log(Level.INFO, AdventureUtil.miniToLegacy(tlLiteral("backupStarted")));
ess.getLogger().log(Level.INFO, ess.getAdventureFacet().miniToLegacy(tlLiteral("backupStarted")));
final CommandSender cs = server.getConsoleSender();
server.dispatchCommand(cs, "save-all");
server.dispatchCommand(cs, "save-off");
Expand Down Expand Up @@ -119,7 +118,7 @@ public void run() {
}
active = false;
taskLock.complete(new Object());
ess.getLogger().log(Level.INFO, AdventureUtil.miniToLegacy(tlLiteral("backupFinished")));
ess.getLogger().log(Level.INFO, ess.getAdventureFacet().miniToLegacy(tlLiteral("backupFinished")));
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.earth2me.essentials;

import com.earth2me.essentials.utils.AdventureUtil;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import net.kyori.adventure.text.Component;
import com.earth2me.essentials.adventure.ComponentHolder;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

Expand Down Expand Up @@ -37,7 +35,7 @@ public void sendTl(final String tlKey, final Object... args) {

final String translation = tlLiteral(tlKey, args);
if (!translation.isEmpty()) {
sendComponent(AdventureUtil.miniMessage().deserialize(translation));
sendComponent(ess.getAdventureFacet().deserializeMiniMessage(translation));
}
}

Expand All @@ -49,18 +47,17 @@ public String tl(final String tlKey, final Object... args) {
return tlLiteral(tlKey, args);
}

public Component tlComponent(final String tlKey, final Object... args) {
public ComponentHolder tlComponent(final String tlKey, final Object... args) {
if (isPlayer()) {
//noinspection ConstantConditions
return getUser().tlComponent(tlKey, args);
}
final String translation = tlLiteral(tlKey, args);
return AdventureUtil.miniMessage().deserialize(translation);
return ess.getAdventureFacet().deserializeMiniMessage(translation);
}

public void sendComponent(final Component component) {
final BukkitAudiences audiences = ess.getBukkitAudience();
audiences.sender(sender).sendMessage(component);
public void sendComponent(final ComponentHolder component) {
ess.getAdventureFacet().send(sender, component);
}

public final net.ess3.api.IUser getUser() {
Expand Down
10 changes: 3 additions & 7 deletions Essentials/src/main/java/com/earth2me/essentials/Console.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package com.earth2me.essentials;

import com.earth2me.essentials.adventure.AdventureFacet;
import com.earth2me.essentials.messaging.IMessageRecipient;
import com.earth2me.essentials.messaging.SimpleMessageRecipient;
import com.earth2me.essentials.utils.AdventureUtil;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.Component;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -73,10 +71,8 @@ public void sendTl(String tlKey, Object... args) {
return;
}

final Audience consoleAudience = ((Essentials) ess).getBukkitAudience().sender(getCommandSender());
final Component component = AdventureUtil.miniMessage()
.deserialize(translation);
consoleAudience.sendMessage(component);
final AdventureFacet adventureFacet = ess.getAdventureFacet();
adventureFacet.send(getCommandSender(), adventureFacet.deserializeMiniMessage(translation));
}

@Override
Expand Down
Loading
Loading