Skip to content

Commit 4ff3d27

Browse files
authored
Fabric 26.1 support by AnttiMK (#4550)
* Switch loom to non-obfuscated version * Apply build changes * Bump shadow * Update sources for 26.1 * Use SNAPSHOT version for loom * Bump dependencies, set sourceCompatibility to 25 * Bump VanillaGradle to fix build
1 parent cc7d36e commit 4ff3d27

14 files changed

Lines changed: 34 additions & 46 deletions

File tree

Plan/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ buildscript {
1010
plugins {
1111
id("base")
1212
id "org.sonarqube" version "7.2.3.7755"
13-
id "com.gradleup.shadow" version "9.0.0-beta6" apply false
14-
id "fabric-loom" version "1.15.4" apply false
13+
id "com.gradleup.shadow" version "9.4.0" apply false
14+
id "net.fabricmc.fabric-loom" version "1.15-SNAPSHOT" apply false
1515
}
1616

1717
apply plugin: "nebula-aggregate-javadocs"

Plan/fabric/build.gradle

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
2-
import net.fabricmc.loom.task.RemapJarTask
32

4-
apply plugin: "fabric-loom"
3+
apply plugin: "net.fabricmc.fabric-loom"
54
apply plugin: "com.gradleup.shadow"
65

76
configurations {
@@ -17,11 +16,9 @@ dependencies {
1716

1817
implementation "net.playeranalytics:platform-abstraction-layer-api:$palVersion"
1918

20-
// https://wiki.fabricmc.net/tutorial:migratemappings
21-
minecraft "com.mojang:minecraft:1.21.9"
22-
mappings loom.officialMojangMappings()
23-
modImplementation "net.fabricmc:fabric-loader:0.18.4"
24-
modImplementation("me.lucko:fabric-permissions-api:0.4.1")
19+
minecraft "com.mojang:minecraft:26.1"
20+
implementation "net.fabricmc:fabric-loader:0.18.6"
21+
implementation("me.lucko:fabric-permissions-api:0.7.0")
2522

2623
// Fabric API
2724
Set<String> apiModules = [
@@ -34,15 +31,16 @@ dependencies {
3431
]
3532

3633
apiModules.forEach {
37-
modImplementation(fabricApi.module(it, "0.134.0+1.21.9"))
34+
implementation(fabricApi.module(it, "0.145.1+26.1"))
3835
}
3936

4037
testImplementation(testFixtures(project(":common")))
4138
testImplementation(project(":extensions:adventure"))
4239
}
4340

4441
tasks.withType(JavaCompile).configureEach {
45-
options.release.set(21)
42+
options.release.set(25)
43+
sourceCompatibility = "${JavaVersion.VERSION_25}"
4644
}
4745

4846
processResources {
@@ -118,14 +116,9 @@ tasks.named("shadowJar", ShadowJar) {
118116
relocate "javax.servlet", "plan.javax.servlet"
119117

120118
mergeServiceFiles()
121-
}
122119

123-
tasks.register("remapShadowJar", RemapJarTask) {
124-
dependsOn tasks.shadowJar
125-
input = tasks.shadowJar.archiveFile
126-
addNestedDependencies = true
127120
destinationDirectory.set(file("$rootDir/builds/"))
128121
archiveBaseName.set("PlanFabric")
129122
}
130123

131-
tasks.assemble.dependsOn tasks.remapShadowJar
124+
tasks.assemble.dependsOn tasks.shadowJar

Plan/fabric/src/main/java/net/playeranalytics/plan/commands/FabricCommandManager.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030
import com.mojang.brigadier.context.CommandContext;
3131
import com.mojang.brigadier.suggestion.Suggestions;
3232
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
33-
import me.lucko.fabric.api.permissions.v0.Permissions;
3433
import net.minecraft.commands.SharedSuggestionProvider;
3534
import net.minecraft.commands.Commands;
3635
import net.minecraft.commands.CommandSourceStack;
3736
import net.minecraft.network.chat.Component;
37+
import net.minecraft.server.permissions.Permissions;
3838
import net.playeranalytics.plan.PlanFabric;
3939
import net.playeranalytics.plugin.scheduling.RunnableFactory;
4040

@@ -56,8 +56,8 @@ public FabricCommandManager(CommandDispatcher<CommandSourceStack> dispatcher, Pl
5656

5757
public static boolean checkPermission(CommandSourceStack src, String permission) {
5858
if (isPermissionsApiAvailable()) {
59-
return Permissions.check(src, permission, 2);
60-
} else if (src.hasPermission(2)) {
59+
return me.lucko.fabric.api.permissions.v0.Permissions.check(src, permission, 2);
60+
} else if (src.permissions().hasPermission(Permissions.COMMANDS_GAMEMASTER)) {
6161
return true;
6262
} else {
6363
return switch (permission) {

Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/domain/FabricPlayerData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public String getName() {
5151

5252
@Override
5353
public Optional<String> getDisplayName() {
54-
return Optional.ofNullable(player.getDisplayName()).map(Component::getString);
54+
return Optional.of(player.getDisplayName()).map(Component::getString);
5555
}
5656

5757
@Override
@@ -61,7 +61,7 @@ public Optional<Boolean> isOperator() {
6161

6262
@Override
6363
public Optional<String> getCurrentWorld() {
64-
return Optional.of(player.level().dimension().location().toString());
64+
return Optional.of(player.level().dimension().identifier().toString());
6565
}
6666

6767
@Override

Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/listeners/fabric/DeathEventListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public String findWeapon(Entity killer) {
131131

132132
private String getItemInHand(ServerPlayer killer) {
133133
ItemStack itemInHand = killer.getMainHandItem();
134-
return itemInHand.getItem().getName().getString();
134+
return itemInHand.getItemName().getString();
135135
}
136136

137137
private Optional<ServerPlayer> getShooter(Projectile projectile) {

Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/listeners/fabric/GameModeChangeListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ private void actOnEvent(ServerPlayer player, GameType newGameMode) {
7575
UUID uuid = player.getUUID();
7676
long time = System.currentTimeMillis();
7777
String gameMode = newGameMode.name();
78-
String worldName = player.level().dimension().location().toString();
78+
String worldName = player.level().dimension().identifier().toString();
7979

8080
dbSystem.getDatabase().executeTransaction(new StoreWorldNameTransaction(serverInfo.getServerUUID(), worldName));
8181
worldAliasSettings.addWorld(worldName);

Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/listeners/fabric/WorldChangeListener.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import com.djrapitops.plan.storage.database.transactions.events.StoreWorldNameTransaction;
2525
import com.djrapitops.plan.utilities.logging.ErrorContext;
2626
import com.djrapitops.plan.utilities.logging.ErrorLogger;
27-
import net.fabricmc.fabric.api.entity.event.v1.ServerEntityWorldChangeEvents;
27+
import net.fabricmc.fabric.api.entity.event.v1.ServerEntityLevelChangeEvents;
2828
import net.minecraft.server.level.ServerPlayer;
2929
import net.playeranalytics.plan.gathering.listeners.FabricListener;
3030

@@ -70,7 +70,7 @@ private void actOnEvent(ServerPlayer player) {
7070

7171
UUID uuid = player.getUUID();
7272

73-
String worldName = player.level().dimension().location().toString();
73+
String worldName = player.level().dimension().identifier().toString();
7474
String gameMode = player.gameMode.getGameModeForPlayer().name();
7575

7676
dbSystem.getDatabase().executeTransaction(new StoreWorldNameTransaction(serverInfo.getServerUUID(), worldName));
@@ -86,7 +86,7 @@ public void register() {
8686
return;
8787
}
8888

89-
ServerEntityWorldChangeEvents.AFTER_PLAYER_CHANGE_WORLD.register((player, origin, destination) -> {
89+
ServerEntityLevelChangeEvents.AFTER_PLAYER_CHANGE_LEVEL.register((player, _, _) -> {
9090
if (!this.isEnabled) {
9191
return;
9292
}

Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/mixin/CommandSourceStackMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public boolean supportsChatEvents() {
4646
}
4747

4848
@Shadow
49-
public abstract void sendSuccess(Supplier<Component> supplier, boolean broadcastToOps);
49+
public abstract void sendSuccess(Supplier<Component> messageSupplier, boolean broadcast);
5050

5151
@Shadow
5252
@Nullable

Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/mixin/KickCommandMixin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
public class KickCommandMixin {
3333

3434
@Inject(method = "kickPlayers", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerGamePacketListenerImpl;disconnect(Lnet/minecraft/network/chat/Component;)V"))
35-
private static void onKickPlayer(CommandSourceStack source, Collection<ServerPlayer> targets, Component reason, CallbackInfoReturnable<Integer> cir) {
36-
PlanFabricEvents.ON_KICKED.invoker().onKicked(source, targets, reason);
35+
private static void onKickPlayer(CommandSourceStack source, Collection<ServerPlayer> players, Component reason, CallbackInfoReturnable<Integer> cir) {
36+
PlanFabricEvents.ON_KICKED.invoker().onKicked(source, players, reason);
3737
}
3838

3939
}

Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/mixin/PlayerListMixin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
public class PlayerListMixin {
3232

3333
@Inject(method = "canPlayerLogin", at = @At(value = "TAIL"))
34-
public void onLogin(SocketAddress address, NameAndId profile, CallbackInfoReturnable<Component> cir) {
35-
PlanFabricEvents.ON_LOGIN.invoker().onLogin(address, profile, cir.getReturnValue());
34+
public void onLogin(SocketAddress address, NameAndId nameAndId, CallbackInfoReturnable<Component> cir) {
35+
PlanFabricEvents.ON_LOGIN.invoker().onLogin(address, nameAndId, cir.getReturnValue());
3636
}
3737

3838
}

0 commit comments

Comments
 (0)