Skip to content

Commit ca8a6cc

Browse files
committed
feat(version): Add support for Minecraft version 1.21.5
Took 21 minutes Took 45 seconds
1 parent e19d819 commit ca8a6cc

21 files changed

+1978
-9
lines changed

custom-ore-generator/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,12 @@
237237
<version>${project.version}</version>
238238
<scope>compile</scope>
239239
</dependency>
240+
<dependency>
241+
<groupId>de.derfrzocker</groupId>
242+
<artifactId>custom-ore-generator-impl-v1_21_R4</artifactId>
243+
<version>${project.version}</version>
244+
<scope>compile</scope>
245+
</dependency>
240246
<dependency>
241247
<groupId>de.derfrzocker</groupId>
242248
<artifactId>custom-ore-generator-plugin-oraxen-v1</artifactId>
@@ -295,5 +301,4 @@
295301
</resource>
296302
</resources>
297303
</build>
298-
299-
</project>
304+
</project>

custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/CustomOreGenerator.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@
9999
import de.derfrzocker.custom.ore.generator.impl.v1_21_R2.oregenerator.MinableGenerator_v1_21_R2;
100100
import de.derfrzocker.custom.ore.generator.impl.v1_21_R3.WorldHandler_v1_21_R3;
101101
import de.derfrzocker.custom.ore.generator.impl.v1_21_R3.oregenerator.MinableGenerator_v1_21_R3;
102+
import de.derfrzocker.custom.ore.generator.impl.v1_21_R4.WorldHandler_v1_21_R4;
103+
import de.derfrzocker.custom.ore.generator.impl.v1_21_R4.oregenerator.MinableGenerator_v1_21_R4;
102104
import de.derfrzocker.custom.ore.generator.impl.v1_8_R1.CustomOreBlockPopulator_v1_8_R1;
103105
import de.derfrzocker.custom.ore.generator.impl.v1_8_R1.oregenerator.MinableGenerator_v1_8_R1;
104106
import de.derfrzocker.custom.ore.generator.impl.v1_8_R2.CustomOreBlockPopulator_v1_8_R2;
@@ -252,6 +254,7 @@ private void registerStandardOreGenerators(@NotNull final RegisterUtil registerU
252254
registerUtil.register(InternalVersion.v1_21_R1, InternalVersion.v1_21_R1, () -> new MinableGenerator_v1_21_R1(infoFunction, oreSettingInfoBiFunction), true);
253255
registerUtil.register(InternalVersion.v1_21_R2, InternalVersion.v1_21_R2, () -> new MinableGenerator_v1_21_R2(infoFunction, oreSettingInfoBiFunction), true);
254256
registerUtil.register(InternalVersion.v1_21_R3, InternalVersion.v1_21_R3, () -> new MinableGenerator_v1_21_R3(infoFunction, oreSettingInfoBiFunction), true);
257+
registerUtil.register(InternalVersion.v1_21_R4, InternalVersion.v1_21_R4, () -> new MinableGenerator_v1_21_R4(infoFunction, oreSettingInfoBiFunction), true);
255258
}
256259

257260
private void registerStandardBlockSelector(@NotNull final RegisterUtil registerUtil) {
@@ -287,7 +290,9 @@ private void registerStandardCustomDatas(@NotNull final RegisterUtil registerUti
287290
}
288291

289292
private WorldHandler initWorldHandler() {
290-
if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
293+
if (InternalVersion.v1_21_R4.getServerVersionRange().isInRange(version)) {
294+
return new WorldHandler_v1_21_R4(this, CustomOreGeneratorServiceSupplier.INSTANCE);
295+
} else if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
291296
return new WorldHandler_v1_21_R3(this, CustomOreGeneratorServiceSupplier.INSTANCE);
292297
} else if (InternalVersion.v1_21_R2.getServerVersionRange().isInRange(version)) {
293298
return new WorldHandler_v1_21_R2(this, CustomOreGeneratorServiceSupplier.INSTANCE);

custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/impl/customdata/AutoCustomData.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import de.derfrzocker.custom.ore.generator.impl.v1_21_R1.customdata.AutoApplier_v1_21_R1;
5151
import de.derfrzocker.custom.ore.generator.impl.v1_21_R2.customdata.AutoApplier_v1_21_R2;
5252
import de.derfrzocker.custom.ore.generator.impl.v1_21_R3.customdata.AutoApplier_v1_21_R3;
53+
import de.derfrzocker.custom.ore.generator.impl.v1_21_R4.customdata.AutoApplier_v1_21_R4;
5354
import de.derfrzocker.custom.ore.generator.impl.v1_9_R1.customdata.AutoApplier_v1_9_R1;
5455
import de.derfrzocker.custom.ore.generator.impl.v_1_9_R2.customdata.AutoApplier_v1_9_R2;
5556
import de.derfrzocker.spigot.utils.version.InternalVersion;
@@ -100,7 +101,9 @@ public boolean hasCustomData(@NotNull final BlockState blockState) {
100101
@Override
101102
protected AutoApplier getCustomDataApplier0() {
102103
ServerVersion version = ServerVersion.getCurrentVersion(Bukkit.getServer());
103-
if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
104+
if (InternalVersion.v1_21_R4.getServerVersionRange().isInRange(version)) {
105+
return new AutoApplier_v1_21_R4(this);
106+
} else if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
104107
return new AutoApplier_v1_21_R3(this);
105108
} else if (InternalVersion.v1_21_R2.getServerVersionRange().isInRange(version)) {
106109
return new AutoApplier_v1_21_R2(this);

custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/impl/customdata/BlockStateCustomData.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import de.derfrzocker.custom.ore.generator.impl.v1_21_R1.customdata.BlockStateApplier_v1_21_R1;
5151
import de.derfrzocker.custom.ore.generator.impl.v1_21_R2.customdata.BlockStateApplier_v1_21_R2;
5252
import de.derfrzocker.custom.ore.generator.impl.v1_21_R3.customdata.BlockStateApplier_v1_21_R3;
53+
import de.derfrzocker.custom.ore.generator.impl.v1_21_R4.customdata.BlockStateApplier_v1_21_R4;
5354
import de.derfrzocker.spigot.utils.version.InternalVersion;
5455
import de.derfrzocker.spigot.utils.version.ServerVersion;
5556
import java.io.File;
@@ -77,7 +78,9 @@ public BlockStateCustomData(@NotNull final Supplier<CustomOreGeneratorService> s
7778
@Override
7879
protected AbstractBlockStateCustomData.BlockStateApplier getCustomDataApplier0() {
7980
ServerVersion version = ServerVersion.getCurrentVersion(Bukkit.getServer());
80-
if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
81+
if (InternalVersion.v1_21_R4.getServerVersionRange().isInRange(version)) {
82+
return new BlockStateApplier_v1_21_R4(this.serviceSupplier, this);
83+
} else if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
8184
return new BlockStateApplier_v1_21_R3(this.serviceSupplier, this);
8285
} else if (InternalVersion.v1_21_R2.getServerVersionRange().isInRange(version)) {
8386
return new BlockStateApplier_v1_21_R2(this.serviceSupplier, this);

custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/impl/customdata/NBTTagCustomData.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import de.derfrzocker.custom.ore.generator.impl.v1_21_R1.customdata.NBTTagApplier_v1_21_R1;
5050
import de.derfrzocker.custom.ore.generator.impl.v1_21_R2.customdata.NBTTagApplier_v1_21_R2;
5151
import de.derfrzocker.custom.ore.generator.impl.v1_21_R3.customdata.NBTTagApplier_v1_21_R3;
52+
import de.derfrzocker.custom.ore.generator.impl.v1_21_R4.customdata.NBTTagApplier_v1_21_R4;
5253
import de.derfrzocker.custom.ore.generator.impl.v1_8_R1.customdata.NBTTagApplier_v1_8_R1;
5354
import de.derfrzocker.custom.ore.generator.impl.v1_8_R2.customdata.NBTTagApplier_v1_8_R2;
5455
import de.derfrzocker.custom.ore.generator.impl.v1_8_R3.customdata.NBTTagApplier_v1_8_R3;
@@ -71,7 +72,9 @@ public NBTTagCustomData(@NotNull final Function<String, Info> infoFunction, @Not
7172
@Override
7273
protected NBTTagApplier getCustomDataApplier0() {
7374
ServerVersion version = ServerVersion.getCurrentVersion(Bukkit.getServer());
74-
if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
75+
if (InternalVersion.v1_21_R4.getServerVersionRange().isInRange(version)) {
76+
return new NBTTagApplier_v1_21_R4(this);
77+
} else if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
7578
return new NBTTagApplier_v1_21_R3(this);
7679
} else if (InternalVersion.v1_21_R2.getServerVersionRange().isInRange(version)) {
7780
return new NBTTagApplier_v1_21_R2(this);

custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/impl/customdata/SkullTextureCustomData.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import de.derfrzocker.custom.ore.generator.impl.v1_21_R1.customdata.SkullTextureApplier_v1_21_R1;
5151
import de.derfrzocker.custom.ore.generator.impl.v1_21_R2.customdata.SkullTextureApplier_v1_21_R2;
5252
import de.derfrzocker.custom.ore.generator.impl.v1_21_R3.customdata.SkullTextureApplier_v1_21_R3;
53+
import de.derfrzocker.custom.ore.generator.impl.v1_21_R4.customdata.SkullTextureApplier_v1_21_R4;
5354
import de.derfrzocker.custom.ore.generator.impl.v1_8_R1.customdata.SkullTextureApplier_v1_8_R1;
5455
import de.derfrzocker.custom.ore.generator.impl.v1_8_R2.customdata.SkullTextureApplier_v1_8_R2;
5556
import de.derfrzocker.custom.ore.generator.impl.v1_8_R3.customdata.SkullTextureApplier_v1_8_R3;
@@ -91,7 +92,9 @@ public boolean canApply(@NotNull final OreConfig oreConfig) {
9192
@Override
9293
protected SkullTextureApplier getCustomDataApplier0() {
9394
ServerVersion version = ServerVersion.getCurrentVersion(Bukkit.getServer());
94-
if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
95+
if (InternalVersion.v1_21_R4.getServerVersionRange().isInRange(version)) {
96+
return new SkullTextureApplier_v1_21_R4(this);
97+
} else if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
9598
return new SkullTextureApplier_v1_21_R3(this);
9699
} else if (InternalVersion.v1_21_R2.getServerVersionRange().isInRange(version)) {
97100
return new SkullTextureApplier_v1_21_R2(this);

custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/impl/customdata/TickBlockCustomData.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import de.derfrzocker.custom.ore.generator.impl.v1_21_R1.customdata.TickBlockApplier_v1_21_R1;
5151
import de.derfrzocker.custom.ore.generator.impl.v1_21_R2.customdata.TickBlockApplier_v1_21_R2;
5252
import de.derfrzocker.custom.ore.generator.impl.v1_21_R3.customdata.TickBlockApplier_v1_21_R3;
53+
import de.derfrzocker.custom.ore.generator.impl.v1_21_R4.customdata.TickBlockApplier_v1_21_R4;
5354
import de.derfrzocker.spigot.utils.version.InternalVersion;
5455
import de.derfrzocker.spigot.utils.version.ServerVersion;
5556
import java.util.Set;
@@ -96,7 +97,9 @@ public Boolean getCustomData(@NotNull final BlockState blockState) {
9697
@Override
9798
protected CustomDataApplier getCustomDataApplier0() {
9899
ServerVersion version = ServerVersion.getCurrentVersion(Bukkit.getServer());
99-
if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
100+
if (InternalVersion.v1_21_R4.getServerVersionRange().isInRange(version)) {
101+
return new TickBlockApplier_v1_21_R4(this);
102+
} else if (InternalVersion.v1_21_R3.getServerVersionRange().isInRange(version)) {
100103
return new TickBlockApplier_v1_21_R3(this);
101104
} else if (InternalVersion.v1_21_R2.getServerVersionRange().isInRange(version)) {
102105
return new TickBlockApplier_v1_21_R2(this);

impl/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<module>v1_21_R1</module>
4242
<module>v1_21_R2</module>
4343
<module>v1_21_R3</module>
44+
<module>v1_21_R4</module>
4445
</modules>
4546

4647
<artifactId>custom-ore-generator-impl</artifactId>

impl/v1_21_R4/pom.xml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<parent>
8+
<artifactId>custom-ore-generator-impl</artifactId>
9+
<groupId>de.derfrzocker</groupId>
10+
<version>${revision}</version>
11+
</parent>
12+
13+
<artifactId>custom-ore-generator-impl-v1_21_R4</artifactId>
14+
<repositories>
15+
<repository>
16+
<id>minecraft-libraries</id>
17+
<name>Minecraft Libraries</name>
18+
<url>https://libraries.minecraft.net</url>
19+
</repository>
20+
</repositories>
21+
<dependencies>
22+
<dependency>
23+
<groupId>de.derfrzocker</groupId>
24+
<artifactId>custom-ore-generator-api</artifactId>
25+
<version>${project.version}</version>
26+
<scope>provided</scope>
27+
</dependency>
28+
<dependency>
29+
<groupId>org.spigotmc</groupId>
30+
<artifactId>spigot-api</artifactId>
31+
<version>1.21.5-R0.1-SNAPSHOT</version>
32+
<scope>provided</scope>
33+
<optional>true</optional>
34+
</dependency>
35+
<dependency>
36+
<groupId>org.spigotmc</groupId>
37+
<artifactId>spigot</artifactId>
38+
<version>1.21.5-R0.1-SNAPSHOT</version>
39+
<classifier>remapped-mojang</classifier>
40+
<scope>provided</scope>
41+
<optional>true</optional>
42+
</dependency>
43+
<dependency>
44+
<groupId>de.derfrzocker</groupId>
45+
<artifactId>custom-ore-generator-impl-abstract</artifactId>
46+
<version>${project.version}</version>
47+
<scope>provided</scope>
48+
</dependency>
49+
</dependencies>
50+
51+
<build>
52+
<plugins>
53+
<plugin>
54+
<groupId>net.md-5</groupId>
55+
<artifactId>specialsource-maven-plugin</artifactId>
56+
<version>2.0.3</version>
57+
<executions>
58+
<execution>
59+
<phase>package</phase>
60+
<goals>
61+
<goal>remap</goal>
62+
</goals>
63+
<id>remap-obf</id>
64+
<configuration>
65+
<srgIn>org.spigotmc:minecraft-server:1.21.5-R0.1-SNAPSHOT:txt:maps-mojang</srgIn>
66+
<reverse>true</reverse>
67+
<remappedDependencies>org.spigotmc:spigot:1.21.5-R0.1-SNAPSHOT:jar:remapped-mojang
68+
</remappedDependencies>
69+
<remappedArtifactAttached>true</remappedArtifactAttached>
70+
<remappedClassifierName>remapped-obf</remappedClassifierName>
71+
</configuration>
72+
</execution>
73+
<execution>
74+
<phase>package</phase>
75+
<goals>
76+
<goal>remap</goal>
77+
</goals>
78+
<id>remap-spigot</id>
79+
<configuration>
80+
<inputFile>
81+
${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
82+
</inputFile>
83+
<srgIn>org.spigotmc:minecraft-server:1.21.5-R0.1-SNAPSHOT:csrg:maps-spigot</srgIn>
84+
<remappedDependencies>org.spigotmc:spigot:1.21.5-R0.1-SNAPSHOT:jar:remapped-obf
85+
</remappedDependencies>
86+
</configuration>
87+
</execution>
88+
</executions>
89+
</plugin>
90+
</plugins>
91+
</build>
92+
93+
</project>
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
/*
2+
* MIT License
3+
*
4+
* Copyright (c) 2019 - 2020 Marvin (DerFrZocker)
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included in all
14+
* copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
* SOFTWARE.
23+
*
24+
*/
25+
26+
package de.derfrzocker.custom.ore.generator.impl.v1_21_R4;
27+
28+
import de.derfrzocker.custom.ore.generator.api.ChunkAccess;
29+
import java.util.HashSet;
30+
import java.util.Set;
31+
import java.util.function.Consumer;
32+
import net.minecraft.core.BlockPos;
33+
import net.minecraft.core.registries.Registries;
34+
import net.minecraft.world.level.LevelAccessor;
35+
import net.minecraft.world.level.chunk.status.ChunkStatus;
36+
import net.minecraft.world.level.levelgen.Heightmap;
37+
import org.bukkit.Material;
38+
import org.bukkit.craftbukkit.v1_21_R4.block.data.CraftBlockData;
39+
import org.bukkit.craftbukkit.v1_21_R4.util.BlockStateListPopulator;
40+
import org.bukkit.craftbukkit.v1_21_R4.util.CraftMagicNumbers;
41+
import org.jetbrains.annotations.NotNull;
42+
43+
public class ChunkAccessImpl extends BlockStateListPopulator implements ChunkAccess {
44+
45+
private final Set<BlockPos> blockPosSet = new HashSet<>();
46+
private final Consumer<BlockPos> blockSet = blockPosSet::add;
47+
48+
public ChunkAccessImpl(LevelAccessor world) {
49+
super(world);
50+
}
51+
52+
@Override
53+
public void setMaterial(@NotNull Material material, int x, int y, int z) {
54+
setBlock(new BlockPos(x, y, z), ((CraftBlockData) material.createBlockData()).getState(), 3);
55+
}
56+
57+
@NotNull
58+
@Override
59+
public Material getMaterial(int x, int y, int z) {
60+
return CraftMagicNumbers.getMaterial(getBlockState(new BlockPos(x, y, z)).getBlock());
61+
}
62+
63+
@Override
64+
public int getHeight(Heightmap.Types type, int i, int i1) {
65+
return getWorld().getHeight(type, i, i1);
66+
}
67+
68+
public net.minecraft.world.level.chunk.ChunkAccess getChunk(int i, int j) {
69+
return this.getChunk(i, j, ChunkStatus.EMPTY);
70+
}
71+
72+
@Override
73+
public Set<BlockPos> getBlocks() {
74+
Set<BlockPos> blockPos = new HashSet<>(super.getBlocks());
75+
blockPos.addAll(blockPosSet);
76+
return blockPos;
77+
}
78+
79+
@Override
80+
public net.minecraft.world.level.chunk.ChunkAccess getChunk(int i, int i1, ChunkStatus cs, boolean bln) {
81+
net.minecraft.world.level.chunk.ChunkAccess chunkAccess = getWorld().getChunk(i, i1, cs, bln);
82+
return new CustomChunkAccess(chunkAccess, blockSet, getWorld().getServer().registryAccess().lookupOrThrow(Registries.BIOME));
83+
}
84+
}

0 commit comments

Comments
 (0)