@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/util/SpawnUtil.java
|
||||
+++ b/net/minecraft/util/SpawnUtil.java
|
||||
@@ -18,6 +18,12 @@
|
||||
@@ -17,6 +17,12 @@
|
||||
public SpawnUtil() {}
|
||||
|
||||
public static <T extends EntityInsentient> Optional<T> trySpawnMob(EntityTypes<T> entitytypes, EnumMobSpawn enummobspawn, WorldServer worldserver, BlockPosition blockposition, int i, int j, int k, SpawnUtil.a spawnutil_a) {
|
||||
@@ -13,12 +13,12 @@
|
||||
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = blockposition.mutable();
|
||||
|
||||
for (int l = 0; l < i; ++l) {
|
||||
@@ -26,11 +32,11 @@
|
||||
@@ -25,11 +31,11 @@
|
||||
|
||||
blockposition_mutableblockposition.setWithOffset(blockposition, i1, k, j1);
|
||||
if (worldserver.getWorldBorder().isWithinBounds((BlockPosition) blockposition_mutableblockposition) && moveToPossibleSpawnPosition(worldserver, k, blockposition_mutableblockposition, spawnutil_a)) {
|
||||
- T t0 = (EntityInsentient) entitytypes.create(worldserver, (NBTTagCompound) null, (IChatBaseComponent) null, (EntityHuman) null, blockposition_mutableblockposition, enummobspawn, false, false);
|
||||
+ T t0 = entitytypes.create(worldserver, (NBTTagCompound) null, (IChatBaseComponent) null, (EntityHuman) null, blockposition_mutableblockposition, enummobspawn, false, false); // CraftBukkit - decompile error
|
||||
- T t0 = (EntityInsentient) entitytypes.create(worldserver, (NBTTagCompound) null, (Consumer) null, blockposition_mutableblockposition, enummobspawn, false, false);
|
||||
+ T t0 = entitytypes.create(worldserver, (NBTTagCompound) null, null, blockposition_mutableblockposition, enummobspawn, false, false); // CraftBukkit - decompile error
|
||||
|
||||
if (t0 != null) {
|
||||
if (t0.checkSpawnRules(worldserver, enummobspawn) && t0.checkSpawnObstruction(worldserver)) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/util/datafix/DataConverterRegistry.java
|
||||
+++ b/net/minecraft/util/datafix/DataConverterRegistry.java
|
||||
@@ -439,6 +439,18 @@
|
||||
@@ -444,6 +444,18 @@
|
||||
datafixerbuilder.addFixer(new DataConverterItemFrame(schema46, false));
|
||||
Schema schema47 = datafixerbuilder.addSchema(1458, DataConverterRegistry.SAME_NAMESPACED);
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
datafixerbuilder.addFixer(new DataConverterCustomNameEntity(schema47, false));
|
||||
datafixerbuilder.addFixer(new DataConverterCustomNameItem(schema47, false));
|
||||
datafixerbuilder.addFixer(new DataConverterCustomNameTile(schema47, false));
|
||||
@@ -756,12 +768,14 @@
|
||||
@@ -761,12 +773,14 @@
|
||||
datafixerbuilder.addFixer(new DataConverterAddChoices(schema131, "Added Glow Squid", DataConverterTypes.ENTITY));
|
||||
datafixerbuilder.addFixer(new DataConverterAddChoices(schema131, "Added Glow Item Frame", DataConverterTypes.ENTITY));
|
||||
Schema schema132 = datafixerbuilder.addSchema(2690, DataConverterRegistry.SAME_NAMESPACED);
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
datafixerbuilder.addFixer(DataConverterItemName.create(schema133, "Rename copper item suffixes", createRenamer(immutablemap1)));
|
||||
datafixerbuilder.addFixer(BlockRenameFixWithJigsaw.create(schema133, "Rename copper blocks suffixes", createRenamer(immutablemap1)));
|
||||
@@ -769,7 +783,8 @@
|
||||
@@ -774,7 +788,8 @@
|
||||
|
||||
datafixerbuilder.addFixer(new AddFlagIfNotPresentFix(schema134, DataConverterTypes.WORLD_GEN_SETTINGS, "has_increased_height_already", false));
|
||||
Schema schema135 = datafixerbuilder.addSchema(2696, DataConverterRegistry.SAME_NAMESPACED);
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
datafixerbuilder.addFixer(DataConverterItemName.create(schema135, "Renamed grimstone block items to deepslate", createRenamer(immutablemap2)));
|
||||
datafixerbuilder.addFixer(BlockRenameFixWithJigsaw.create(schema135, "Renamed grimstone blocks to deepslate", createRenamer(immutablemap2)));
|
||||
@@ -856,10 +871,11 @@
|
||||
@@ -861,10 +876,11 @@
|
||||
datafixerbuilder.addFixer(new DataConverterAddChoices(schema160, "Added Allay", DataConverterTypes.ENTITY));
|
||||
Schema schema161 = datafixerbuilder.addSchema(3084, DataConverterRegistry.SAME_NAMESPACED);
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
int2objectopenhashmap1.defaultReturnValue("minecraft:tabby");
|
||||
int2objectopenhashmap1.put(0, "minecraft:tabby");
|
||||
int2objectopenhashmap1.put(1, "minecraft:black");
|
||||
@@ -876,7 +892,8 @@
|
||||
@@ -881,7 +897,8 @@
|
||||
|
||||
Objects.requireNonNull(int2objectopenhashmap);
|
||||
datafixerbuilder.addFixer(new EntityVariantFix(schema162, "Change cat variant type", typereference, "minecraft:cat", "CatType", int2objectopenhashmap::get));
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
--- a/net/minecraft/util/worldupdate/WorldUpgrader.java
|
||||
+++ b/net/minecraft/util/worldupdate/WorldUpgrader.java
|
||||
@@ -40,6 +40,10 @@
|
||||
import net.minecraft.world.level.storage.WorldPersistentData;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import net.minecraft.world.level.dimension.WorldDimension;
|
||||
+// CraftBukkit end
|
||||
+
|
||||
public class WorldUpgrader {
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
private static final Logger LOGGER = LogUtils.getLogger();
|
||||
@@ -55,7 +59,7 @@
|
||||
private static final ThreadFactory THREAD_FACTORY = (new ThreadFactoryBuilder()).setDaemon(true).build();
|
||||
private final IRegistry<WorldDimension> dimensions;
|
||||
- private final Set<ResourceKey<World>> levels;
|
||||
+ private final Set<ResourceKey<WorldDimension>> levels; // CraftBukkit
|
||||
private final boolean eraseCache;
|
||||
private final Convertable.ConversionSession levelStorage;
|
||||
private final Thread thread;
|
||||
@@ -59,14 +59,14 @@
|
||||
private volatile int totalChunks;
|
||||
private volatile int converted;
|
||||
private volatile int skipped;
|
||||
@@ -20,24 +18,30 @@
|
||||
private volatile IChatBaseComponent status = IChatBaseComponent.translatable("optimizeWorld.stage.counting");
|
||||
private static final Pattern REGEX = Pattern.compile("^r\\.(-?[0-9]+)\\.(-?[0-9]+)\\.mca$");
|
||||
private final WorldPersistentData overworldDataStorage;
|
||||
@@ -88,13 +92,13 @@
|
||||
|
||||
public WorldUpgrader(Convertable.ConversionSession convertable_conversionsession, DataFixer datafixer, IRegistry<WorldDimension> iregistry, boolean flag) {
|
||||
this.dimensions = iregistry;
|
||||
- this.levels = (Set) iregistry.registryKeySet().stream().map(Registries::levelStemToLevel).collect(Collectors.toUnmodifiableSet());
|
||||
+ this.levels = (Set) iregistry.registryKeySet().stream().collect(Collectors.toUnmodifiableSet()); // CraftBukkit
|
||||
this.eraseCache = flag;
|
||||
this.dataFixer = datafixer;
|
||||
this.levelStorage = convertable_conversionsession;
|
||||
@@ -93,12 +93,12 @@
|
||||
|
||||
private void work() {
|
||||
this.totalChunks = 0;
|
||||
- Builder<ResourceKey<World>, ListIterator<ChunkCoordIntPair>> builder = ImmutableMap.builder();
|
||||
- ImmutableSet<ResourceKey<World>> immutableset = this.worldGenSettings.levels();
|
||||
+ Builder<ResourceKey<WorldDimension>, ListIterator<ChunkCoordIntPair>> builder = ImmutableMap.builder(); // CraftBukkit
|
||||
+ ImmutableSet<ResourceKey<WorldDimension>> immutableset = ImmutableSet.of(levelStorage.dimensionType); // CraftBukkit
|
||||
|
||||
List list;
|
||||
|
||||
for (UnmodifiableIterator unmodifiableiterator = immutableset.iterator(); unmodifiableiterator.hasNext(); this.totalChunks += list.size()) {
|
||||
- ResourceKey<World> resourcekey = (ResourceKey) unmodifiableiterator.next();
|
||||
+ ResourceKey<WorldDimension> resourcekey = (ResourceKey) unmodifiableiterator.next(); // CraftBukkit
|
||||
for (Iterator iterator = this.levels.iterator(); iterator.hasNext(); this.totalChunks += list.size()) {
|
||||
- ResourceKey<World> resourcekey = (ResourceKey) iterator.next();
|
||||
+ ResourceKey<WorldDimension> resourcekey = (ResourceKey) iterator.next(); // CraftBukkit
|
||||
|
||||
list = this.getAllChunkPos(resourcekey);
|
||||
builder.put(resourcekey, list.listIterator());
|
||||
@@ -104,18 +108,18 @@
|
||||
@@ -108,18 +108,18 @@
|
||||
this.finished = true;
|
||||
} else {
|
||||
float f = (float) this.totalChunks;
|
||||
@@ -45,12 +49,12 @@
|
||||
- Builder<ResourceKey<World>, IChunkLoader> builder1 = ImmutableMap.builder();
|
||||
+ ImmutableMap<ResourceKey<WorldDimension>, ListIterator<ChunkCoordIntPair>> immutablemap = builder.build(); // CraftBukkit
|
||||
+ Builder<ResourceKey<WorldDimension>, IChunkLoader> builder1 = ImmutableMap.builder(); // CraftBukkit
|
||||
UnmodifiableIterator unmodifiableiterator1 = immutableset.iterator();
|
||||
Iterator iterator1 = this.levels.iterator();
|
||||
|
||||
while (unmodifiableiterator1.hasNext()) {
|
||||
- ResourceKey<World> resourcekey1 = (ResourceKey) unmodifiableiterator1.next();
|
||||
while (iterator1.hasNext()) {
|
||||
- ResourceKey<World> resourcekey1 = (ResourceKey) iterator1.next();
|
||||
- Path path = this.levelStorage.getDimensionPath(resourcekey1);
|
||||
+ ResourceKey<WorldDimension> resourcekey1 = (ResourceKey) unmodifiableiterator1.next(); // CraftBukkit
|
||||
+ ResourceKey<WorldDimension> resourcekey1 = (ResourceKey) iterator1.next(); // CraftBukkit
|
||||
+ Path path = this.levelStorage.getDimensionPath((ResourceKey) null); // CraftBukkit
|
||||
|
||||
builder1.put(resourcekey1, new IChunkLoader(path.resolve("region"), this.dataFixer, true));
|
||||
@@ -61,21 +65,21 @@
|
||||
long i = SystemUtils.getMillis();
|
||||
|
||||
this.status = IChatBaseComponent.translatable("optimizeWorld.stage.upgrading");
|
||||
@@ -127,7 +131,7 @@
|
||||
@@ -131,7 +131,7 @@
|
||||
float f2;
|
||||
|
||||
for (UnmodifiableIterator unmodifiableiterator2 = immutableset.iterator(); unmodifiableiterator2.hasNext(); f1 += f2) {
|
||||
- ResourceKey<World> resourcekey2 = (ResourceKey) unmodifiableiterator2.next();
|
||||
+ ResourceKey<WorldDimension> resourcekey2 = (ResourceKey) unmodifiableiterator2.next(); // CraftBukkit
|
||||
for (Iterator iterator2 = this.levels.iterator(); iterator2.hasNext(); f1 += f2) {
|
||||
- ResourceKey<World> resourcekey2 = (ResourceKey) iterator2.next();
|
||||
+ ResourceKey<WorldDimension> resourcekey2 = (ResourceKey) iterator2.next(); // CraftBukkit
|
||||
ListIterator<ChunkCoordIntPair> listiterator = (ListIterator) immutablemap.get(resourcekey2);
|
||||
IChunkLoader ichunkloader = (IChunkLoader) immutablemap1.get(resourcekey2);
|
||||
|
||||
@@ -140,10 +144,10 @@
|
||||
@@ -144,10 +144,10 @@
|
||||
|
||||
if (nbttagcompound != null) {
|
||||
int j = IChunkLoader.getVersion(nbttagcompound);
|
||||
- ChunkGenerator chunkgenerator = ((WorldDimension) this.worldGenSettings.dimensions().get(GeneratorSettings.levelToLevelStem(resourcekey2))).generator();
|
||||
+ ChunkGenerator chunkgenerator = ((WorldDimension) this.worldGenSettings.dimensions().get(resourcekey2)).generator(); // CraftBukkit
|
||||
- ChunkGenerator chunkgenerator = ((WorldDimension) this.dimensions.getOrThrow(Registries.levelToLevelStem(resourcekey2))).generator();
|
||||
+ ChunkGenerator chunkgenerator = ((WorldDimension) this.dimensions.getOrThrow(resourcekey2)).generator(); // CraftBukkit
|
||||
NBTTagCompound nbttagcompound1 = ichunkloader.upgradeChunkTag(resourcekey2, () -> {
|
||||
return this.overworldDataStorage;
|
||||
- }, nbttagcompound, chunkgenerator.getTypeNameForDataFixer());
|
||||
@@ -83,7 +87,7 @@
|
||||
ChunkCoordIntPair chunkcoordintpair1 = new ChunkCoordIntPair(nbttagcompound1.getInt("xPos"), nbttagcompound1.getInt("zPos"));
|
||||
|
||||
if (!chunkcoordintpair1.equals(chunkcoordintpair)) {
|
||||
@@ -223,8 +227,8 @@
|
||||
@@ -227,8 +227,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,11 +98,11 @@
|
||||
File file1 = new File(file, "region");
|
||||
File[] afile = file1.listFiles((file2, s) -> {
|
||||
return s.endsWith(".mca");
|
||||
@@ -284,7 +288,7 @@
|
||||
@@ -288,7 +288,7 @@
|
||||
}
|
||||
|
||||
public ImmutableSet<ResourceKey<World>> levels() {
|
||||
- return this.worldGenSettings.levels();
|
||||
public Set<ResourceKey<World>> levels() {
|
||||
- return this.levels;
|
||||
+ throw new AssertionError("Unsupported"); // CraftBukkit
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user