readd missing structure set seeds patch

This commit is contained in:
Jake Potrebic 2022-12-08 11:06:54 -08:00
parent 6120bc9206
commit 244a523df3
No known key found for this signature in database
GPG Key ID: 27CC63F7CBC866C7
145 changed files with 143 additions and 98 deletions

View File

@ -20,91 +20,136 @@ seeds/salts to the frequency reducer which has a similar effect.
Co-authored-by: William Blake Galbreath <blake.galbreath@gmail.com>
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
index 4ce5d41b23d6204f280e6d4d21713ec5d9a724d1..9579889e4c7dedefc4f901ccac6157c425740481 100644
index 95dd058fca280a1e16f3d327be2aabeab91be534..f4a321e05098d42026a9a150fe9d11782ff0dfd4 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -133,7 +133,7 @@ public abstract class ChunkGenerator {
// Spigot start
private Stream<StructureSet> possibleStructureSetsSpigot() {
return this.possibleStructureSets().map(Holder::value).map((structureset) -> {
- if (structureset.placement() instanceof RandomSpreadStructurePlacement randomConfig) {
+ if (structureset.placement() instanceof RandomSpreadStructurePlacement randomConfig && this.structureSets.getKey(structureset).getNamespace().equals(net.minecraft.resources.ResourceLocation.DEFAULT_NAMESPACE)) { // Paper - check namespace cause datapacks could add structure sets with the same path
String name = this.structureSets.getKey(structureset).getPath();
int seed = randomConfig.salt;
@@ -180,6 +180,11 @@ public abstract class ChunkGenerator {
case "villages":
seed = conf.villageSeed;
break;
+ // Paper start
+ case "ancient_cities":
+ seed = conf.ancientCitySeed;
+ break;
+ // Paper end
}
structureset = new StructureSet(structureset.structures(), new RandomSpreadStructurePlacement(randomConfig.locateOffset, randomConfig.frequencyReductionMethod, randomConfig.frequency, seed, randomConfig.exclusionZone, randomConfig.spacing(), randomConfig.separation(), randomConfig.spreadType()));
@@ -236,7 +241,13 @@ public abstract class ChunkGenerator {
HolderSet<Biome> holderset = concentricringsstructureplacement.preferredBiomes();
RandomSource randomsource = RandomSource.create();
+ // Paper start
+ if (this.conf.strongholdSeed != null && this.structureSets.getResourceKey(holder).orElse(null) == net.minecraft.world.level.levelgen.structure.BuiltinStructureSets.STRONGHOLDS) {
+ randomsource.setSeed(this.conf.strongholdSeed);
+ } else {
randomsource.setSeed(this instanceof FlatLevelSource ? 0L : randomstate.legacyLevelSeed());
+ }
+ // Paper end
double d0 = randomsource.nextDouble() * 3.141592653589793D * 2.0D;
int l = 0;
int i1 = 0;
@@ -677,7 +688,7 @@ public abstract class ChunkGenerator {
for (int i1 = chunkX - chunkRange; i1 <= chunkX + chunkRange; ++i1) {
for (int j1 = chunkZ - chunkRange; j1 <= chunkZ + chunkRange; ++j1) {
- if (structureplacement.isStructureChunk(this, noiseConfig, seed, i1, j1)) {
+ if (structureplacement.isStructureChunk(this, noiseConfig, seed, i1, j1, structureSet.unwrapKey().map(ResourceKey::location).orElse(null))) { // Paper
return true;
}
}
@@ -764,7 +775,7 @@ public abstract class ChunkGenerator {
@@ -570,7 +570,7 @@ public abstract class ChunkGenerator {
}
}
- if (structureplacement.isStructureChunk(this, noiseConfig, seed, chunkcoordintpair.x, chunkcoordintpair.z)) {
+ if (structureplacement.isStructureChunk(this, noiseConfig, seed, chunkcoordintpair.x, chunkcoordintpair.z, this.structureSets.getResourceKey(holder).map(ResourceKey::location).orElse(null))) { // Paper
- if (structureplacement.isStructureChunk(placementCalculator, chunkcoordintpair.x, chunkcoordintpair.z)) {
+ if (structureplacement.isStructureChunk(placementCalculator, chunkcoordintpair.x, chunkcoordintpair.z, holder::is)) { // Paper - add missing structure set configs
if (list.size() == 1) {
this.tryGenerateStructure((StructureSet.StructureSelectionEntry) list.get(0), structureAccessor, registryManager, noiseConfig, structureTemplateManager, seed, chunk, chunkcoordintpair, sectionposition);
this.tryGenerateStructure((StructureSet.StructureSelectionEntry) list.get(0), structureAccessor, registryManager, randomstate, structureTemplateManager, placementCalculator.getLevelSeed(), chunk, chunkcoordintpair, sectionposition);
} else {
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java
index a310bfbf0d08187375ea17f4b04b276a0b7d0b9f..31d071a26615c418c222df72478e3f60f556a7ad 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java
@@ -50,13 +50,14 @@ public class ChunkGeneratorStructureState {
private final Map<ConcentricRingsStructurePlacement, CompletableFuture<List<ChunkPos>>> ringPositions = new Object2ObjectArrayMap();
private boolean hasGeneratedPositions;
private final List<Holder<StructureSet>> possibleStructureSets;
+ public final SpigotWorldConfig conf; // Paper
public static ChunkGeneratorStructureState createForFlat(RandomState randomstate, long i, BiomeSource worldchunkmanager, Stream<Holder<StructureSet>> stream, SpigotWorldConfig conf) { // Spigot
List<Holder<StructureSet>> list = stream.filter((holder) -> {
return ChunkGeneratorStructureState.hasBiomesForStructureSet((StructureSet) holder.value(), worldchunkmanager);
}).toList();
- return new ChunkGeneratorStructureState(randomstate, worldchunkmanager, i, 0L, ChunkGeneratorStructureState.injectSpigot(list, conf)); // Spigot
+ return new ChunkGeneratorStructureState(randomstate, worldchunkmanager, i, 0L, ChunkGeneratorStructureState.injectSpigot(list, conf), conf); // Spigot
}
public static ChunkGeneratorStructureState createForNormal(RandomState randomstate, long i, BiomeSource worldchunkmanager, HolderLookup<StructureSet> holderlookup, SpigotWorldConfig conf) { // Spigot
@@ -64,14 +65,14 @@ public class ChunkGeneratorStructureState {
return ChunkGeneratorStructureState.hasBiomesForStructureSet((StructureSet) holder_c.value(), worldchunkmanager);
}).collect(Collectors.toUnmodifiableList());
- return new ChunkGeneratorStructureState(randomstate, worldchunkmanager, i, i, ChunkGeneratorStructureState.injectSpigot(list, conf)); // Spigot
+ return new ChunkGeneratorStructureState(randomstate, worldchunkmanager, i, i, ChunkGeneratorStructureState.injectSpigot(list, conf), conf); // Spigot
}
// Spigot start
private static List<Holder<StructureSet>> injectSpigot(List<Holder<StructureSet>> list, SpigotWorldConfig conf) {
return list.stream().map((holder) -> {
StructureSet structureset = holder.value();
- if (structureset.placement() instanceof RandomSpreadStructurePlacement randomConfig) {
+ if (structureset.placement() instanceof RandomSpreadStructurePlacement randomConfig && holder.unwrapKey().orElseThrow().location().getNamespace().equals(net.minecraft.resources.ResourceLocation.DEFAULT_NAMESPACE)) { // Paper - check namespace cause datapacks could add structure sets with the same path
String name = holder.unwrapKey().orElseThrow().location().getPath();
int seed = randomConfig.salt;
@@ -118,6 +119,11 @@ public class ChunkGeneratorStructureState {
case "villages":
seed = conf.villageSeed;
break;
+ // Paper start
+ case "ancient_cities":
+ seed = conf.ancientCitySeed;
+ break;
+ // Paper end
}
structureset = new StructureSet(structureset.structures(), new RandomSpreadStructurePlacement(randomConfig.locateOffset, randomConfig.frequencyReductionMethod, randomConfig.frequency, seed, randomConfig.exclusionZone, randomConfig.spacing(), randomConfig.separation(), randomConfig.spreadType()));
@@ -139,12 +145,13 @@ public class ChunkGeneratorStructureState {
return stream.anyMatch(set::contains);
}
- private ChunkGeneratorStructureState(RandomState noiseConfig, BiomeSource biomeSource, long structureSeed, long concentricRingSeed, List<Holder<StructureSet>> structureSets) {
+ private ChunkGeneratorStructureState(RandomState noiseConfig, BiomeSource biomeSource, long structureSeed, long concentricRingSeed, List<Holder<StructureSet>> structureSets, SpigotWorldConfig conf) { // Paper
this.randomState = noiseConfig;
this.levelSeed = structureSeed;
this.biomeSource = biomeSource;
this.concentricRingsSeed = concentricRingSeed;
this.possibleStructureSets = structureSets;
+ this.conf = conf; // Paper
}
public List<Holder<StructureSet>> possibleStructureSets() {
@@ -198,7 +205,13 @@ public class ChunkGeneratorStructureState {
HolderSet<Biome> holderset = placement.preferredBiomes();
RandomSource randomsource = RandomSource.create();
+ // Paper start
+ if (this.conf.strongholdSeed != null && structureSetEntry.is(net.minecraft.world.level.levelgen.structure.BuiltinStructureSets.STRONGHOLDS)) {
+ randomsource.setSeed(this.conf.strongholdSeed);
+ } else {
+ // Paper end
randomsource.setSeed(this.concentricRingsSeed);
+ } // Paper
double d0 = randomsource.nextDouble() * 3.141592653589793D * 2.0D;
int l = 0;
int i1 = 0;
@@ -275,7 +288,7 @@ public class ChunkGeneratorStructureState {
for (int l = centerChunkX - chunkCount; l <= centerChunkX + chunkCount; ++l) {
for (int i1 = centerChunkZ - chunkCount; i1 <= centerChunkZ + chunkCount; ++i1) {
- if (structureplacement.isStructureChunk(this, l, i1)) {
+ if (structureplacement.isStructureChunk(this, l, i1, structureSetEntry::is)) { // Paper - add missing structure set configs
return true;
}
}
diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java b/src/main/java/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
index 2fd1284c7f0d8e2cf35d03072089256d990b06eb..8ef0e9fa126cd96289bab48eaa06c2a1fbe4281e 100644
index 65dcb14241baadb2c9f8f16919d7b562198ad9c3..991d94b6c03ab5b23f5f42dd70fd205bc84c2b9b 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
@@ -59,10 +59,22 @@ public abstract class StructurePlacement {
@@ -59,10 +59,24 @@ public abstract class StructurePlacement {
return this.exclusionZone;
}
+ @Deprecated @io.papermc.paper.annotation.DoNotUse // Paper
public boolean isStructureChunk(ChunkGenerator chunkGenerator, RandomState noiseConfig, long seed, int chunkX, int chunkZ) {
public boolean isStructureChunk(ChunkGeneratorStructureState calculator, int chunkX, int chunkZ) {
+ // Paper start - add missing structure set configs
+ return this.isStructureChunk(chunkGenerator, noiseConfig, seed, chunkX, chunkZ, null);
+ return this.isStructureChunk(calculator, chunkX, chunkZ, null);
+ }
+ public boolean isStructureChunk(ChunkGenerator chunkGenerator, RandomState noiseConfig, long seed, int chunkX, int chunkZ, @org.jetbrains.annotations.Nullable net.minecraft.resources.ResourceLocation structureSetKey) {
+ public boolean isStructureChunk(ChunkGeneratorStructureState calculator, int chunkX, int chunkZ, @org.jetbrains.annotations.Nullable java.util.function.Predicate<net.minecraft.resources.ResourceKey<StructureSet>> structureSetPredicate) {
+ Integer saltOverride = null;
+ if (net.minecraft.world.level.levelgen.structure.BuiltinStructureSets.MINESHAFTS.location().equals(structureSetKey)) {
+ saltOverride = chunkGenerator.conf.mineshaftSeed;
+ } else if (net.minecraft.world.level.levelgen.structure.BuiltinStructureSets.BURIED_TREASURES.location().equals(structureSetKey)) {
+ saltOverride = chunkGenerator.conf.buriedTreasureSeed;
+ if (structureSetPredicate != null) {
+ if (structureSetPredicate.test(net.minecraft.world.level.levelgen.structure.BuiltinStructureSets.MINESHAFTS)) {
+ saltOverride = calculator.conf.mineshaftSeed;
+ } else if (structureSetPredicate.test(net.minecraft.world.level.levelgen.structure.BuiltinStructureSets.BURIED_TREASURES)) {
+ saltOverride = calculator.conf.buriedTreasureSeed;
+ }
+ }
+ // Paper end
if (!this.isPlacementChunk(chunkGenerator, noiseConfig, seed, chunkX, chunkZ)) {
if (!this.isPlacementChunk(calculator, chunkX, chunkZ)) {
return false;
- } else if (this.frequency < 1.0F && !this.frequencyReductionMethod.shouldGenerate(seed, this.salt, chunkX, chunkZ, this.frequency)) {
+ } else if (this.frequency < 1.0F && !this.frequencyReductionMethod.shouldGenerate(seed, this.salt, chunkX, chunkZ, this.frequency, saltOverride)) { // Paper
- } else if (this.frequency < 1.0F && !this.frequencyReductionMethod.shouldGenerate(calculator.getLevelSeed(), this.salt, chunkX, chunkZ, this.frequency)) {
+ } else if (this.frequency < 1.0F && !this.frequencyReductionMethod.shouldGenerate(calculator.getLevelSeed(), this.salt, chunkX, chunkZ, this.frequency, saltOverride)) { // Paper
return false;
} else {
return !this.exclusionZone.isPresent() || !this.exclusionZone.get().isPlacementForbidden(chunkGenerator, noiseConfig, seed, chunkX, chunkZ);
@@ -77,25 +89,31 @@ public abstract class StructurePlacement {
return !this.exclusionZone.isPresent() || !this.exclusionZone.get().isPlacementForbidden(calculator, chunkX, chunkZ);
@@ -77,25 +91,31 @@ public abstract class StructurePlacement {
public abstract StructurePlacementType<?> type();
@ -141,7 +186,7 @@ index 2fd1284c7f0d8e2cf35d03072089256d990b06eb..8ef0e9fa126cd96289bab48eaa06c2a1
int i = chunkX >> 4;
int j = chunkZ >> 4;
WorldgenRandom worldgenRandom = new WorldgenRandom(new LegacyRandomSource(0L));
@@ -118,7 +136,7 @@ public abstract class StructurePlacement {
@@ -118,7 +138,7 @@ public abstract class StructurePlacement {
@FunctionalInterface
public interface FrequencyReducer {
@ -150,7 +195,7 @@ index 2fd1284c7f0d8e2cf35d03072089256d990b06eb..8ef0e9fa126cd96289bab48eaa06c2a1
}
public static enum FrequencyReductionMethod implements StringRepresentable {
@@ -136,8 +154,8 @@ public abstract class StructurePlacement {
@@ -136,8 +156,8 @@ public abstract class StructurePlacement {
this.reducer = generationPredicate;
}

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Implement regenerateChunk
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index c9ec47de502adfc63f5d3ef4ec479208635f3967..2ce47f709f0e7dbfbfe9f7e4e25266b1ed5ed53d 100644
index 04b4c2f4796046828a73d3911da880ccd3fdf349..a71886568581f39f91e3b06eada560aa60cf0c93 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -138,6 +138,7 @@ import org.bukkit.util.Vector;

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit
Copies appropriate checks from CraftWorld#getSpawnLimit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 82d3869afe0f4e9fd453d2e1cb179c4aabce9f14..278bbd6b1bfc3abc434d982a77f18e7b5fe1a70f 100644
index 3b5295b1ee2c2a7614b46ac4798efd55baff2815..b248468fca0b2000734f48432fa9df4d0c2ce9df 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2188,6 +2188,8 @@ public final class CraftServer implements Server {

View File

@ -46,7 +46,7 @@ index 0000000000000000000000000000000000000000..e7d9fd2702a1ce96596580fff8f5ee4f
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d4ae0bc664b2c616b4b15edf8e5567478b98c959..f719644331175bd09e059ecb6629a53bcd7bf03d 100644
index b248468fca0b2000734f48432fa9df4d0c2ce9df..6193dcaa8e771edeff7cd38df4e8db2f88bf4564 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2599,6 +2599,15 @@ public final class CraftServer implements Server {

View File

@ -7,7 +7,7 @@ Some parts of legacy conversion will need the overworld
to get the legacy structure data storage
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b029b04d53b1a9253942de0b2252707f779dde4e..b79486847e1568a65673ef944a1eeabfa3bdd1a1 100644
index d2409599c9d9765a2e1dc7418339923049abc416..f42d7d9e11542370489fcc8dc42ea6eca50cf284 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -600,9 +600,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -23,7 +23,7 @@ index b029b04d53b1a9253942de0b2252707f779dde4e..b79486847e1568a65673ef944a1eeabf
if (worlddata.getCustomBossEvents() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 462b1732205d4d36ff5f6d8f2ce56fe851080bf0..5b3c274d055c6a123078fe8e819eabb2e1b2c33b 100644
index 6193dcaa8e771edeff7cd38df4e8db2f88bf4564..c9570b5f137beace01fccb38dae28e14b50e9aeb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1265,10 +1265,11 @@ public final class CraftServer implements Server {

View File

@ -24,7 +24,7 @@ index 0000000000000000000000000000000000000000..6b0bed550763f34e18c9e92f9a47ec0c
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b79486847e1568a65673ef944a1eeabfa3bdd1a1..cbdf2753fca41663185cbfc3b375516b40d238c1 100644
index f42d7d9e11542370489fcc8dc42ea6eca50cf284..a8b3f0e8be414c4ea92cc85c9811ecd42e5ce9c1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2032,6 +2032,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -164,7 +164,7 @@ index 3d688e334c7287f41460bd866bfd1155e8bb55d2..55006724ccec9f3de828ec18693728e9
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 5b3c274d055c6a123078fe8e819eabb2e1b2c33b..03961e7c61170b912e118d93a0c996e0b7070424 100644
index c9570b5f137beace01fccb38dae28e14b50e9aeb..f8a729b4429c4b9b508c81bcffd281c31c6a7a15 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -298,6 +298,7 @@ public final class CraftServer implements Server {

View File

@ -18,7 +18,7 @@ index 89cb1ec575c0f58e9934d98b056621348dbbe27a..cdd474e9b0363641839a66d3e61fec46
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index ca0b9b6f2b9bbbc53ab0001d5eabad341bfb3b0d..7afa387ab07da199ba719fa08a1faba66c3025fa 100644
index ba9ce30003eb787fe974ae53f375ae9c0591d619..45e13c9dc4a65207728cdb401511b187597fe199 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -205,7 +205,7 @@ public final class CraftMagicNumbers implements UnsafeValues {

View File

@ -24,7 +24,7 @@ index bb486249d409743b0fc9891ac5ae76a38034800b..e365081bf532488f2b41b22deb2fb234
if (Snowball.class.isAssignableFrom(clazz)) {
entity = new net.minecraft.world.entity.projectile.Snowball(world, x, y, z);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 2ce47f709f0e7dbfbfe9f7e4e25266b1ed5ed53d..70fc51e5689dd1012afac8df40c2d1200baffd0e 100644
index a71886568581f39f91e3b06eada560aa60cf0c93..56f1952a4595df2b2647dc9e6632cee44e8299ce 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1394,7 +1394,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {

View File

@ -18,7 +18,7 @@ public net.minecraft.world.entity.projectile.Projectile leftOwner
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
index 87c148922d693b5a5bfde89b0dcbc44438df592b..488bf8a197f06a9024bae97ca005f112e4afbb51 100644
index b1abab9396cf1dc867e9b8df8f2479f75d07fa01..f034d5f89f9a751249d0536c50d2739113bc193d 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
@@ -100,6 +100,11 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie
@ -340,7 +340,7 @@ index 832981b07ef5c633ef00a382f56798ee87eec0df..faf071201b7c1414225a33fe9641eac9
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
index 05dc7159f178b971a8bd5aa06b0b6551ef27ec7d..2d0e828687e9f4e860348eb10b1a40e12a654f2a 100644
index 7f6d331cf832f57857519b6e9801c3b45b53fc32..998370e84410d54cae5d5ba15212701fefb40782 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -278,12 +278,20 @@ public final class CraftItemStack extends ItemStack {

View File

@ -7,7 +7,7 @@ Bring the vehicle move packet behavior in line with the
regular player move packet.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index e94c307a56a0fc3040b8c1d992e078aefa3bdf85..b51e0dfad64cf9844bd511689786a456f7c8e48e 100644
index 25b2bdca86b62e0c76059d87da9214c0bb41fe51..cdfb47713c690dbdfb54e20f68c3f6361209de0b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -577,6 +577,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Fix saving in unloadWorld
Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 03961e7c61170b912e118d93a0c996e0b7070424..8c0ad5680e20b2a5109a3c5d2c8d46854438cc1c 100644
index f8a729b4429c4b9b508c81bcffd281c31c6a7a15..67dc0c58988a502dea300cc471cfdc311208abf5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1313,7 +1313,7 @@ public final class CraftServer implements Server {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] fix player loottables running when mob loot gamerule is false
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 1b97987788a7180e2ab2c9edf4646925fa691fd6..2741a218ce45377479ad47ec0141fa70e2b0acca 100644
index 6de32e9e2f626eaa60b58bdeef8c6c194cbe918c..d44e5445cc9ea0346a1f6fc7f9c3f0b5a1ee8b4e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -868,12 +868,14 @@ public class ServerPlayer extends Player {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Allow to change the podium for the EnderDragon
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index d8c9beab9163820df949f6002bbb9224a044c6f3..84ee7c1d3c2923090445422f38880e5b59668288 100644
index 3b14fd5d67716a5b3610c10e8105d29f93a1d7a9..5066688e26cb2d34b3eabb2cb56f9a4c712dfea7 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -99,6 +99,10 @@ public class EnderDragon extends Mob implements Enemy {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Prevent tile entity copies loading chunks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 472f7c246542c08840ea7f18711c13d875e35608..40794142f7882b6f95e00ffe286b590a4f0bf62d 100644
index cdfb47713c690dbdfb54e20f68c3f6361209de0b..16ae84c100b5548035b7b8b23a6480f47ae22646 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3284,7 +3284,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Use username instead of display name in
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index d9c1445fee611ebd3dbb19e1e60da3a8bb752d42..cb0d6f2eba67b0f45ce0ce0f6c6b76167a87de10 100644
index e8d07180ce69602895b4e584932c4322d3791c27..809ddbfcf873b4695257f599b882803f7fcc34fa 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1474,7 +1474,7 @@ public abstract class PlayerList {

View File

@ -18,7 +18,7 @@ index 5b46cabf4f2e2a1f7feaad378dd98d64aeef8671..51b3db0b6c2cede95b584268e035c0fb
if (dedicatedserverproperties.enableQuery) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 40794142f7882b6f95e00ffe286b590a4f0bf62d..9133213a8a786f2293bc1a09a44be46b1a8bc011 100644
index 16ae84c100b5548035b7b8b23a6480f47ae22646..acb4b6bb80b59af28ba3658c11096750dccb5056 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2875,7 +2875,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@ -158,7 +158,7 @@ index fa8cd4438c19a262272da47985a57f7e84654f1b..663c1d8c1611af915a1bae733920dd75
this.onChanged(server);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 70fc51e5689dd1012afac8df40c2d1200baffd0e..2976b3469a7870611862c28ef555be974309ee34 100644
index 56f1952a4595df2b2647dc9e6632cee44e8299ce..37a204d35979fb51cab9c228515e35c4b1049ab1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1898,7 +1898,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8c0ad5680e20b2a5109a3c5d2c8d46854438cc1c..85413bb569a3b60cb06fa80fabfaa279529c0071 100644
index 67dc0c58988a502dea300cc471cfdc311208abf5..03cffc87cfc82f1f6f96e8cfc0e37472fc50d38b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1272,6 +1272,7 @@ public final class CraftServer implements Server {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Fix NPE for BlockDataMeta#getBlockData
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index a8294bf057e03c5d866f6da31e6cdfa9edd3f146..3c4dadd0012c11191c873fe25a7625193563915d 100644
index f31add9c60a18bbcea9b4944b0ab183acae84cab..90d7e8415f158c3176a705749f0aa36a729d3b38 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -1093,7 +1093,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Do not accept invalid client settings
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 9133213a8a786f2293bc1a09a44be46b1a8bc011..1e4899e9f99c57a62330c82545157f38f9c3d26a 100644
index acb4b6bb80b59af28ba3658c11096750dccb5056..29ba350b026f8bec0654ba1ee7f34d5aa5f1648b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3463,6 +3463,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -7,7 +7,7 @@ There are no plans to support creating worlds while worlds are
being ticked themselvess.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cbdf2753fca41663185cbfc3b375516b40d238c1..7275c708a6a2ad138ded2eb6b3c4a57a9406883a 100644
index a8b3f0e8be414c4ea92cc85c9811ecd42e5ce9c1..0e04083ff0598451c66731b1518b2eb6367ae36c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -308,6 +308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -45,7 +45,7 @@ index cbdf2753fca41663185cbfc3b375516b40d238c1..7275c708a6a2ad138ded2eb6b3c4a57a
this.profiler.popPush("connection");
MinecraftTimings.connectionTimer.startTiming(); // Spigot
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 85413bb569a3b60cb06fa80fabfaa279529c0071..c94bb0fc7e96cb0e20e1527813b9f57394f69504 100644
index 03cffc87cfc82f1f6f96e8cfc0e37472fc50d38b..d3b4fef3696c9999912fd37034ea7e1d6755c9ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -868,6 +868,11 @@ public final class CraftServer implements Server {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Don't print component in resource pack rejection message
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f20d862617d1c576dd8e802b979f5bd9c725a945..f93182fc575c9579991e31ec3cadde193294b9e3 100644
index 29ba350b026f8bec0654ba1ee7f34d5aa5f1648b..0dde460f9b9400644081ac23dbfa2c9bfb8d1617 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2045,7 +2045,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Add some minimal debug information to chat packet errors
TODO: potentially add some kick leeway
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f93182fc575c9579991e31ec3cadde193294b9e3..0cfdef1c8400807349f3b2fba90111df31ed4f25 100644
index 0dde460f9b9400644081ac23dbfa2c9bfb8d1617..5ac6de02ec3c6f77ec2fb71f17d5d74d8792d349 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2295,7 +2295,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 0cfdef1c8400807349f3b2fba90111df31ed4f25..9987bdf85726c8a91b6329f93d3a6197eaf00ec5 100644
index 5ac6de02ec3c6f77ec2fb71f17d5d74d8792d349..b0b8698622f8fd48fe9e6004918927b286893900 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2540,7 +2540,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -7,7 +7,7 @@ Subject: [PATCH] More Teleport API
public net.minecraft.server.network.ServerGamePacketListenerImpl internalTeleport(DDDFFLjava/util/Set;Z)V
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 9987bdf85726c8a91b6329f93d3a6197eaf00ec5..69bd16a0ba1dd6a7b5da49740bc3f5d4ad4fd34b 100644
index b0b8698622f8fd48fe9e6004918927b286893900..731b3dfdee444c013f7650a4f3260d34aaaa5e74 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1722,11 +1722,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -57,7 +57,7 @@ index 796d17f51496974cfdfed2593753b8c09b5c81c1..13031576c20bda3bb12c926f6cd938fa
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 69bd16a0ba1dd6a7b5da49740bc3f5d4ad4fd34b..ce9ed6aa7133239e3bbda1cb37c756164fee0159 100644
index 731b3dfdee444c013f7650a4f3260d34aaaa5e74..d37829b0a310abf212fbb516a27ae70abc265f64 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1867,8 +1867,28 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Add async catcher to PlayerConnection internalTeleport
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index b24676aaf4ea18cd3cd4e7eec8de544f20df37d6..5701955b0e7bdff1661844562cba3ea8f319400f 100644
index 230c3629f5e6bf80422812e7684a9bb643b1a46d..f0b5acdae1cc0626339aca6b16aa26e291a661fa 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1750,6 +1750,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Use thread safe random in ServerLoginPacketListenerImpl
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 9c6473beae78cd6e173e28335e6b06f878b162a9..1de5252f038cfb26646df4f8b8acf2b0ddf21c57 100644
index 56210ac6b9525b025b1091a4b42df0f0e99bd859..f3b340fc6be9878d677a76673450aac3e0b73d4b 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -49,7 +49,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,

View File

@ -16,7 +16,7 @@ Co-authored-by: =?UTF-8?q?Dani=C3=ABl=20Goossens?= <daniel@goossens.ch>
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index d1717ea6e3aa8912caeb3a5590b08b0113b83ec0..d6e7934d18f756388b01373e2a3466c37aaa0428 100644
index 7f68b05b4d0789c308b5f90a5d626a633c80191f..2212f9f48636357265d8e44aba415ea4f09f1fe7 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1363,6 +1363,46 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider

Some files were not shown because too many files have changed in this diff Show More