Skip to content

Commit d1408c0

Browse files
committed
Merge branch 'refs/heads/minecraft/1.20.6' into minecraft/1.21
# Conflicts: # gradle.properties # neoforge/src/main/java/dev/galacticraft/dynamicdimensions/impl/forge/DynamicDimensionsForge.java
2 parents 0b8887c + c8edff9 commit d1408c0

File tree

18 files changed

+136
-70
lines changed

18 files changed

+136
-70
lines changed

.github/workflows/codeql.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
uses: actions/checkout@v4
1616

1717
- name: Validate Gradle wrapper
18-
uses: gradle/wrapper-validation-action@v2
18+
uses: gradle/actions/wrapper-validation@v3
1919

2020
- name: Setup JDK 21
2121
uses: actions/setup-java@v4
@@ -38,18 +38,18 @@ jobs:
3838
neoforge/build/neoForge
3939
neoforge/build/neoForm
4040
neoforge/build/tmp/neoFormRecompile
41-
key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/gradle-wrapper.properties', 'settings.gradle.kts', '**/build.gradle.kts', '**/gradle.properties') }}-${{github.ref_name}}
42-
43-
- name: Initialize build environment
44-
run: ./gradlew
41+
key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/gradle-wrapper.properties', 'settings.gradle.kts', '**/build.gradle.kts', '**/gradle.properties') }}
4542

4643
- name: Initialize CodeQL
4744
uses: github/codeql-action/init@v3
4845
with:
4946
languages: java
5047

48+
- name: Initialize build environment
49+
run: ./gradlew
50+
5151
- name: Build
52-
run: ./gradlew assemble -x checkLicenses --no-daemon
52+
run: ./gradlew assemble -x checkLicenses
5353

5454
- name: Perform CodeQL Analysis
5555
uses: github/codeql-action/analyze@v3

.github/workflows/commit.yml

+5-10
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
uses: actions/checkout@v4
1313

1414
- name: Validate Gradle wrapper
15-
uses: gradle/wrapper-validation-action@v2
15+
uses: gradle/actions/wrapper-validation@v3
1616

1717
- name: Setup JDK 21
1818
uses: actions/setup-java@v4
@@ -34,9 +34,8 @@ jobs:
3434
neoforge/build/neoForge
3535
neoforge/build/neoForm
3636
neoforge/build/tmp/neoFormRecompile
37-
key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/gradle-wrapper.properties', 'settings.gradle.kts', '**/build.gradle.kts', '**/gradle.properties') }}-${{github.ref_name}}
37+
key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/gradle-wrapper.properties', 'settings.gradle.kts', '**/build.gradle.kts', '**/gradle.properties') }}
3838
restore-keys: |
39-
${{ runner.os }}-gradle-${{ hashFiles('gradle/gradle-wrapper.properties', 'settings.gradle.kts', '**/build.gradle.kts', '**/gradle.properties') }}
4039
${{ runner.os }}-gradle-
4140
4241
- name: Initialize build environment
@@ -48,19 +47,15 @@ jobs:
4847
- name: Build
4948
if: ${{ !cancelled() }}
5049
id: build
51-
run: ./gradlew assemble -x checkLicenses -x javadoc
50+
run: ./gradlew assemble -x checkLicenses
5251

5352
- name: Test
5453
if: ${{ steps.build.outcome == 'success' && !cancelled() }}
55-
run: ./gradlew :fabric:runGametest :neoforge:runGameTestServer
56-
57-
- name: Javadoc
58-
if: ${{ success() }}
59-
run: ./gradlew javadoc
54+
run: ./gradlew :fabric:runGametest :neoforge:runGametest
6055

6156
- name: Publish
6257
if: ${{ github.repository == 'TeamGalacticraft/DynamicDimensions' && success() }}
63-
run: ./gradlew publish -x test --no-daemon
58+
run: ./gradlew publish -x test
6459
env:
6560
NEXUS_REPOSITORY_URL: ${{ secrets.NEXUS_RELEASE_URL }}
6661
NEXUS_USER: ${{ secrets.NEXUS_USER }}

.github/workflows/pr_check.yml

+4-9
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
uses: actions/checkout@v4
1414

1515
- name: Validate Gradle wrapper
16-
uses: gradle/wrapper-validation-action@v2
16+
uses: gradle/actions/wrapper-validation@v3
1717

1818
- name: Setup JDK 21
1919
uses: actions/setup-java@v4
@@ -35,9 +35,8 @@ jobs:
3535
neoforge/build/neoForge
3636
neoforge/build/neoForm
3737
neoforge/build/tmp/neoFormRecompile
38-
key: ${{ runner.os }}-gradle-PR${{github.event.number}}-${{ hashFiles('gradle/gradle-wrapper.properties', 'settings.gradle.kts', '**/build.gradle.kts', '**/gradle.properties') }}-${{github.ref_name}}
38+
key: ${{ runner.os }}-gradle-PR${{github.event.number}}-${{ hashFiles('gradle/gradle-wrapper.properties', 'settings.gradle.kts', '**/build.gradle.kts', '**/gradle.properties') }}
3939
restore-keys: |
40-
${{ runner.os }}-gradle-PR${{github.event.number}}-${{ hashFiles('gradle/gradle-wrapper.properties', 'settings.gradle.kts', '**/build.gradle.kts', '**/gradle.properties') }}
4140
${{ runner.os }}-gradle-PR${{github.event.number}}-
4241
${{ runner.os }}-gradle-${{ hashFiles('gradle/gradle-wrapper.properties', 'settings.gradle.kts', '**/build.gradle.kts', '**/gradle.properties') }}
4342
${{ runner.os }}-gradle-
@@ -51,12 +50,8 @@ jobs:
5150
- name: Build
5251
if: ${{ !cancelled() }}
5352
id: build
54-
run: ./gradlew assemble -x checkLicenses -x javadoc
53+
run: ./gradlew assemble -x checkLicenses
5554

5655
- name: Test
5756
if: ${{ steps.build.outcome == 'success' && !cancelled() }}
58-
run: ./gradlew :fabric:runGametest :neoforge:runGameTestServer
59-
60-
- name: Javadoc
61-
if: ${{ success() }}
62-
run: ./gradlew javadoc
57+
run: ./gradlew :fabric:runGametest :neoforge:runGametest

build.gradle.kts

+11-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
plugins {
2-
id("org.ajoberstar.grgit") version ("5.2.1")
2+
id("org.ajoberstar.grgit") version ("5.2.2")
33
id("org.cadixdev.licenser") version("0.6.1") apply(false)
4-
id("fabric-loom") version("1.6-SNAPSHOT") apply(false)
5-
id("org.jetbrains.gradle.plugin.idea-ext") version("1.1.7") // required for neoforge
4+
id("fabric-loom") version("1.7-SNAPSHOT") apply(false)
5+
id("dev.galacticraft.mojarn") version("0.3.0+8") apply(false)
6+
id("org.jetbrains.gradle.plugin.idea-ext") version("1.1.8") // required for neoforge
67
}
78

89
val minecraft = project.property("minecraft.version").toString()
@@ -66,12 +67,6 @@ subprojects {
6667
}
6768

6869
repositories {
69-
maven("https://maven.parchmentmc.org") {
70-
name = "ParchmentMC"
71-
content {
72-
includeGroup("org.parchmentmc.data")
73-
}
74-
}
7570
maven("https://maven.bai.lol") {
7671
content {
7772
includeGroup("lol.bai")
@@ -110,6 +105,13 @@ subprojects {
110105
options.release.set(21)
111106
}
112107

108+
tasks.withType<Javadoc> {
109+
title = "$modName (${project.name}) $modVersion"
110+
options.encoding = "UTF-8"
111+
112+
exclude("**/impl/**")
113+
}
114+
113115
tasks.withType<ProcessResources> {
114116
val properties = mapOf(
115117
"mod_id" to modId,

common/build.gradle.kts

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
plugins {
22
id("fabric-loom")
3+
id("dev.galacticraft.mojarn")
34
}
45

56
val modId = project.property("mod.id").toString()
67
val minecraft = project.property("minecraft.version").toString()
7-
val parchment = project.property("parchment.version").toString()
8+
val yarn = project.property("fabric.yarn.build").toString()
89
val fabricLoader = project.property("fabric.loader.version").toString()
910

1011
loom {
12+
// configure access widener
1113
if (project(":fabric").file("src/main/resources/${modId}.accesswidener").exists()) {
1214
accessWidenerPath.set(project(":fabric").file("src/main/resources/${modId}.accesswidener"))
1315
}
@@ -22,11 +24,8 @@ loom {
2224

2325
dependencies {
2426
minecraft("com.mojang:minecraft:$minecraft")
25-
mappings(if (parchment.isBlank()) loom.officialMojangMappings() else loom.layered {
26-
officialMojangMappings()
27-
parchment("org.parchmentmc.data:parchment-$parchment@zip")
28-
})
27+
mappings(mojarn.mappings("net.fabricmc:yarn:$minecraft+build.$yarn:v2"))
2928

30-
// loom expects some loader classes to exist, mod spec provides mixin and mixin-extras too
29+
// loom expects some loader classes to exist, provides mixin and mixin-extras too
3130
modCompileOnly("net.fabricmc:fabric-loader:${fabricLoader}")
3231
}
+1-3
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,8 @@
3535
import net.minecraft.world.level.dimension.DimensionType;
3636
import org.jetbrains.annotations.NotNull;
3737

38-
public final class DynamicDimensionsS2CPacketReceivers {
38+
public final class S2CPacketReceivers {
3939
public static void registerReceivers() {
40-
PlayPackets.registerClientChannel(Constants.CREATE_DIMENSION_PACKET);
41-
PlayPackets.registerClientChannel(Constants.REMOVE_DIMENSION_PACKET);
4240
PlayPackets.registerClientReceiver(Constants.CREATE_DIMENSION_PACKET, (context, buf) -> createDynamicDimension(context.client(), context.handler(), buf));
4341
PlayPackets.registerClientReceiver(Constants.REMOVE_DIMENSION_PACKET, (context, buf) -> removeDynamicDimension(context.client(), context.handler(), buf));
4442
}

common/src/main/java/dev/galacticraft/dynamicdimensions/impl/mixin/MinecraftServerMixin.java

+5-7
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import dev.galacticraft.dynamicdimensions.impl.Constants;
3434
import dev.galacticraft.dynamicdimensions.impl.accessor.PrimaryLevelDataAccessor;
3535
import dev.galacticraft.dynamicdimensions.impl.internal.DimensionRemovalTicket;
36+
import dev.galacticraft.dynamicdimensions.impl.network.S2CPackets;
3637
import dev.galacticraft.dynamicdimensions.impl.registry.RegistryUtil;
3738
import io.netty.buffer.Unpooled;
3839
import lol.bai.badpackets.api.PacketSender;
@@ -179,9 +180,9 @@ private void unloadLevel(ResourceKey<Level> key, PlayerRemover playerRemover) {
179180
RegistryUtil.unregister(this.registries().compositeAccess().registryOrThrow(Registries.DIMENSION_TYPE), key.location());
180181
this.dynamicDimensions.remove(key);
181182

182-
FriendlyByteBuf packetByteBuf = new FriendlyByteBuf(Unpooled.buffer());
183-
packetByteBuf.writeResourceLocation(key.location());
184-
this.getPlayerList().getPlayers().forEach(player -> PacketSender.s2c(player).send(Constants.REMOVE_DIMENSION_PACKET, packetByteBuf));
183+
for (ServerPlayer player : this.getPlayerList().getPlayers()) {
184+
S2CPackets.sendRemoveDimension(player, key.location());
185+
}
185186
}
186187

187188
@Unique
@@ -370,11 +371,8 @@ private ServerLevel createDynamicLevel(@NotNull ResourceLocation id, @NotNull Ch
370371
this.registerLevel(level);
371372
}
372373

373-
FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer());
374-
buf.writeResourceLocation(id);
375-
buf.writeNbt(serializedType);
376374
for (ServerPlayer player : this.getPlayerList().getPlayers()) {
377-
PacketSender.s2c(player).send(Constants.CREATE_DIMENSION_PACKET, new FriendlyByteBuf(buf.copy()));
375+
S2CPackets.sendCreateDimension(player, key.location(), serializedType);
378376
}
379377
this.reloadDimensionTags();
380378
return level;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/*
2+
* Copyright (c) 2021-2024 Team Galacticraft
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a copy
5+
* of this software and associated documentation files (the "Software"), to deal
6+
* in the Software without restriction, including without limitation the rights
7+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8+
* copies of the Software, and to permit persons to whom the Software is
9+
* furnished to do so, subject to the following conditions:
10+
*
11+
* The above copyright notice and this permission notice shall be included in all
12+
* copies or substantial portions of the Software.
13+
*
14+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20+
* SOFTWARE.
21+
*/
22+
23+
package dev.galacticraft.dynamicdimensions.impl.network;
24+
25+
import dev.galacticraft.dynamicdimensions.impl.Constants;
26+
import io.netty.buffer.Unpooled;
27+
import lol.bai.badpackets.api.PacketSender;
28+
import lol.bai.badpackets.api.play.PlayPackets;
29+
import net.minecraft.nbt.CompoundTag;
30+
import net.minecraft.network.FriendlyByteBuf;
31+
import net.minecraft.resources.ResourceLocation;
32+
import net.minecraft.server.level.ServerPlayer;
33+
34+
public final class S2CPackets {
35+
public static void registerChannels() {
36+
PlayPackets.registerClientChannel(Constants.CREATE_DIMENSION_PACKET);
37+
PlayPackets.registerClientChannel(Constants.REMOVE_DIMENSION_PACKET);
38+
}
39+
40+
public static void sendCreateDimension(ServerPlayer player, ResourceLocation id, CompoundTag serializedType) {
41+
FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer());
42+
buf.writeResourceLocation(id);
43+
buf.writeNbt(serializedType);
44+
45+
PacketSender.s2c(player).send(Constants.CREATE_DIMENSION_PACKET, buf);
46+
}
47+
48+
public static void sendRemoveDimension(ServerPlayer player, ResourceLocation id) {
49+
FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer());
50+
buf.writeResourceLocation(id);
51+
PacketSender.s2c(player).send(Constants.REMOVE_DIMENSION_PACKET, buf);
52+
}
53+
}

common/src/main/resources/dynamicdimensions.mixins.json

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
],
1717
"server": [
1818
],
19+
"refmap": "dynamicdimensions.refmap.json",
1920
"injectors": {
2021
"defaultRequire": 1
2122
}

fabric/build.gradle.kts

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
plugins {
22
id("fabric-loom")
3+
id("dev.galacticraft.mojarn")
34
}
45

56
val modId = project.property("mod.id").toString()
67
val minecraft = project.property("minecraft.version").toString()
7-
val parchment = project.property("parchment.version").toString()
8+
val yarn = project.property("fabric.yarn.build").toString()
89
val fabricLoader = project.property("fabric.loader.version").toString()
910
val fabricAPI = project.property("fabric.api.version").toString()
1011
val fabricModules = project.property("fabric.api.modules").toString().split(',')
1112
val badpackets = project.property("badpackets.version").toString()
1213

1314
loom {
15+
// configure access widener
1416
if (project(":fabric").file("src/main/resources/${modId}.accesswidener").exists()) {
1517
accessWidenerPath.set(project(":fabric").file("src/main/resources/${modId}.accesswidener"))
1618
}
@@ -20,6 +22,10 @@ loom {
2022
interfaceInjection.getIsEnabled().set(false)
2123
enableTransitiveAccessWideners.set(false)
2224

25+
mixin {
26+
defaultRefmapName.set("dynamicdimensions.refmap.json")
27+
}
28+
2329
runs {
2430
named("client") {
2531
client()
@@ -47,10 +53,7 @@ loom {
4753

4854
dependencies {
4955
minecraft("com.mojang:minecraft:$minecraft")
50-
mappings(if (parchment.isBlank()) loom.officialMojangMappings() else loom.layered {
51-
officialMojangMappings()
52-
parchment("org.parchmentmc.data:parchment-$parchment@zip")
53-
})
56+
mappings(mojarn.mappings("net.fabricmc:yarn:$minecraft+build.$yarn:v2"))
5457
modImplementation("net.fabricmc:fabric-loader:$fabricLoader")
5558
compileOnly(project(":common", "namedElements"))
5659

fabric/src/main/java/dev/galacticraft/dynamicdimensions/impl/fabric/DynamicDimensionsFabric.java

+3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import dev.galacticraft.dynamicdimensions.api.event.DynamicDimensionLoadCallback;
2828
import dev.galacticraft.dynamicdimensions.impl.Constants;
2929
import dev.galacticraft.dynamicdimensions.impl.command.DynamicDimensionsCommands;
30+
import dev.galacticraft.dynamicdimensions.impl.network.S2CPackets;
3031
import net.fabricmc.api.ModInitializer;
3132
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
3233
import net.fabricmc.fabric.api.event.Event;
@@ -65,6 +66,8 @@ public void onInitialize() {
6566
if (FabricLoader.getInstance().isModLoaded("fabric-lifecycle-events-v1")) {
6667
registerFabricEventListeners();
6768
}
69+
70+
S2CPackets.registerChannels();
6871
}
6972

7073
private static void registerFabricEventListeners() {

fabric/src/main/java/dev/galacticraft/dynamicdimensions/impl/fabric/client/DynamicDimensionsFabricClient.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@
2222

2323
package dev.galacticraft.dynamicdimensions.impl.fabric.client;
2424

25-
import dev.galacticraft.dynamicdimensions.impl.client.network.DynamicDimensionsS2CPacketReceivers;
25+
import dev.galacticraft.dynamicdimensions.impl.client.network.S2CPacketReceivers;
2626
import net.fabricmc.api.ClientModInitializer;
2727
import org.jetbrains.annotations.ApiStatus;
2828

2929
@ApiStatus.Internal
3030
public final class DynamicDimensionsFabricClient implements ClientModInitializer {
3131
@Override
3232
public void onInitializeClient() {
33-
DynamicDimensionsS2CPacketReceivers.registerReceivers();
33+
S2CPacketReceivers.registerReceivers();
3434
}
3535
}

gradle.properties

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ mod.version=0.7.0
1111
# Loader dependencies
1212
minecraft.version=1.21
1313
fabric.loader.version=0.15.11
14+
fabric.yarn.build=3
1415
forge.version=21.0.53-beta
15-
parchment.version=1.21:2024.06.23
16+
1617
# Project metadata
1718
minecraft.version.min=1.21
1819
fabric.loader.version.min=0.15

gradle/wrapper/gradle-wrapper.jar

-9 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
3+
distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
55
networkTimeout=10000
66
validateDistributionUrl=true
77
zipStoreBase=GRADLE_USER_HOME

0 commit comments

Comments
 (0)