geforkt von Mirrors/Paper
Address gen concurrency issue causing crashes (Fixes #2746)
Dieser Commit ist enthalten in:
Ursprung
f6fcec51bb
Commit
bbaca0408f
@ -5,7 +5,7 @@ Subject: [PATCH] Fix some generation concurrency issues
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index 9889b0543..e80cb3b97 100644
|
index 66e1745836..d7a7720996 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||||
@ -32,8 +32,34 @@ index 9889b0543..e80cb3b97 100644
|
|||||||
|
|
||||||
public CraftWorld getWorld() {
|
public CraftWorld getWorld() {
|
||||||
return this.world;
|
return this.world;
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java b/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java
|
||||||
|
index 22e14fe1e9..e2af6d43b2 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java
|
||||||
|
@@ -0,0 +0,0 @@ public class WorldGenFeatureStateProviderWeighted extends WorldGenFeatureStatePr
|
||||||
|
this(new WeightedList<>(dynamic.get("entries").orElseEmptyList(), IBlockData::a));
|
||||||
|
}
|
||||||
|
|
||||||
|
- public WorldGenFeatureStateProviderWeighted a(IBlockData iblockdata, int i) {
|
||||||
|
+ public synchronized WorldGenFeatureStateProviderWeighted a(IBlockData iblockdata, int i) { // Paper
|
||||||
|
this.b.a(iblockdata, i);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
- public IBlockData a(Random random, BlockPosition blockposition) {
|
||||||
|
+ public synchronized IBlockData a(Random random, BlockPosition blockposition) { // Paper
|
||||||
|
return (IBlockData) this.b.b(random);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
- public <T> T a(DynamicOps<T> dynamicops) {
|
||||||
|
+ public synchronized <T> T a(DynamicOps<T> dynamicops) { // Paper
|
||||||
|
Builder<T, T> builder = ImmutableMap.builder();
|
||||||
|
|
||||||
|
builder.put(dynamicops.createString("type"), dynamicops.createString(IRegistry.t.getKey(this.a).toString())).put(dynamicops.createString("entries"), this.b.a(dynamicops, (iblockdata) -> {
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldGenStronghold.java b/src/main/java/net/minecraft/server/WorldGenStronghold.java
|
diff --git a/src/main/java/net/minecraft/server/WorldGenStronghold.java b/src/main/java/net/minecraft/server/WorldGenStronghold.java
|
||||||
index b34a0683a..e002ed53f 100644
|
index b34a0683a1..e002ed53f6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldGenStronghold.java
|
--- a/src/main/java/net/minecraft/server/WorldGenStronghold.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldGenStronghold.java
|
+++ b/src/main/java/net/minecraft/server/WorldGenStronghold.java
|
||||||
@@ -0,0 +0,0 @@ import javax.annotation.Nullable;
|
@@ -0,0 +0,0 @@ import javax.annotation.Nullable;
|
||||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] MC Dev fixes
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
|
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
|
||||||
index 960dce230..253890e53 100644
|
index 960dce2307..253890e537 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BiomeBase.java
|
--- a/src/main/java/net/minecraft/server/BiomeBase.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
|
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class BiomeBase {
|
@@ -0,0 +0,0 @@ public abstract class BiomeBase {
|
||||||
@ -27,7 +27,7 @@ index 960dce230..253890e53 100644
|
|||||||
|
|
||||||
public List<WorldGenFeatureConfigured<?, ?>> g() {
|
public List<WorldGenFeatureConfigured<?, ?>> g() {
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockDataAbstract.java b/src/main/java/net/minecraft/server/BlockDataAbstract.java
|
diff --git a/src/main/java/net/minecraft/server/BlockDataAbstract.java b/src/main/java/net/minecraft/server/BlockDataAbstract.java
|
||||||
index cd277dd17..ab0542579 100644
|
index cd277dd17f..ab05425793 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockDataAbstract.java
|
--- a/src/main/java/net/minecraft/server/BlockDataAbstract.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockDataAbstract.java
|
+++ b/src/main/java/net/minecraft/server/BlockDataAbstract.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class BlockDataAbstract<O, S> implements IBlockDataHolder<S> {
|
@@ -0,0 +0,0 @@ public abstract class BlockDataAbstract<O, S> implements IBlockDataHolder<S> {
|
||||||
@ -72,7 +72,7 @@ index cd277dd17..ab0542579 100644
|
|||||||
S s0 = this.f.get(iblockstate, v0);
|
S s0 = this.f.get(iblockstate, v0);
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||||
index e40f9c153..c88a62f6b 100644
|
index e40f9c153b..c88a62f6b7 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockPosition.java
|
--- a/src/main/java/net/minecraft/server/BlockPosition.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
|
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||||
@@ -0,0 +0,0 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali
|
@@ -0,0 +0,0 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali
|
||||||
@ -92,7 +92,7 @@ index e40f9c153..c88a62f6b 100644
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockStateEnum.java b/src/main/java/net/minecraft/server/BlockStateEnum.java
|
diff --git a/src/main/java/net/minecraft/server/BlockStateEnum.java b/src/main/java/net/minecraft/server/BlockStateEnum.java
|
||||||
index 28cfbaae2..1486d460c 100644
|
index 28cfbaae28..1486d460c8 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockStateEnum.java
|
--- a/src/main/java/net/minecraft/server/BlockStateEnum.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockStateEnum.java
|
+++ b/src/main/java/net/minecraft/server/BlockStateEnum.java
|
||||||
@@ -0,0 +0,0 @@ public class BlockStateEnum<T extends Enum<T> & INamable> extends BlockState<T>
|
@@ -0,0 +0,0 @@ public class BlockStateEnum<T extends Enum<T> & INamable> extends BlockState<T>
|
||||||
@ -109,7 +109,7 @@ index 28cfbaae2..1486d460c 100644
|
|||||||
|
|
||||||
if (this.b.containsKey(s1)) {
|
if (this.b.containsKey(s1)) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java
|
diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java
|
||||||
index 68a601bac..efdf611e6 100644
|
index 68a601bac5..efdf611e66 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ChunkStatus.java
|
--- a/src/main/java/net/minecraft/server/ChunkStatus.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ChunkStatus.java
|
+++ b/src/main/java/net/minecraft/server/ChunkStatus.java
|
||||||
@@ -0,0 +0,0 @@ public class ChunkStatus {
|
@@ -0,0 +0,0 @@ public class ChunkStatus {
|
||||||
@ -122,7 +122,7 @@ index 68a601bac..efdf611e6 100644
|
|||||||
|
|
||||||
for (int j = a().size() - 1; j >= 0; --j) {
|
for (int j = a().size() - 1; j >= 0; --j) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/CraftingManager.java b/src/main/java/net/minecraft/server/CraftingManager.java
|
diff --git a/src/main/java/net/minecraft/server/CraftingManager.java b/src/main/java/net/minecraft/server/CraftingManager.java
|
||||||
index 2dd27edc8..6def3616e 100644
|
index 2dd27edc83..6def3616ef 100644
|
||||||
--- a/src/main/java/net/minecraft/server/CraftingManager.java
|
--- a/src/main/java/net/minecraft/server/CraftingManager.java
|
||||||
+++ b/src/main/java/net/minecraft/server/CraftingManager.java
|
+++ b/src/main/java/net/minecraft/server/CraftingManager.java
|
||||||
@@ -0,0 +0,0 @@ public class CraftingManager extends ResourceDataJson {
|
@@ -0,0 +0,0 @@ public class CraftingManager extends ResourceDataJson {
|
||||||
@ -135,7 +135,7 @@ index 2dd27edc8..6def3616e 100644
|
|||||||
CraftingManager.LOGGER.info("Loaded {} recipes", map1.size());
|
CraftingManager.LOGGER.info("Loaded {} recipes", map1.size());
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
||||||
index f2c0e06ba..909d13c42 100644
|
index f2c0e06bab..909d13c427 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
||||||
@@ -0,0 +0,0 @@ public class EnderDragonBattle {
|
@@ -0,0 +0,0 @@ public class EnderDragonBattle {
|
||||||
@ -157,7 +157,7 @@ index f2c0e06ba..909d13c42 100644
|
|||||||
|
|
||||||
private EntityEnderDragon o() {
|
private EntityEnderDragon o() {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityFireballFireball.java b/src/main/java/net/minecraft/server/EntityFireballFireball.java
|
diff --git a/src/main/java/net/minecraft/server/EntityFireballFireball.java b/src/main/java/net/minecraft/server/EntityFireballFireball.java
|
||||||
index 8e28c4725..3988e68d4 100644
|
index 8e28c4725a..3988e68d4f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityFireballFireball.java
|
--- a/src/main/java/net/minecraft/server/EntityFireballFireball.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityFireballFireball.java
|
+++ b/src/main/java/net/minecraft/server/EntityFireballFireball.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class EntityFireballFireball extends EntityFireball {
|
@@ -0,0 +0,0 @@ public abstract class EntityFireballFireball extends EntityFireball {
|
||||||
@ -170,7 +170,7 @@ index 8e28c4725..3988e68d4 100644
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java
|
diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java
|
||||||
index 7d44348c7..73ecdd22e 100644
|
index 7d44348c78..73ecdd22ea 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityVindicator.java
|
--- a/src/main/java/net/minecraft/server/EntityVindicator.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityVindicator.java
|
+++ b/src/main/java/net/minecraft/server/EntityVindicator.java
|
||||||
@@ -0,0 +0,0 @@ public class EntityVindicator extends EntityIllagerAbstract {
|
@@ -0,0 +0,0 @@ public class EntityVindicator extends EntityIllagerAbstract {
|
||||||
@ -183,7 +183,7 @@ index 7d44348c7..73ecdd22e 100644
|
|||||||
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true));
|
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true));
|
||||||
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true));
|
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true));
|
||||||
diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
|
diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
|
||||||
index 1f3ea23ae..b098d86e3 100644
|
index 1f3ea23ae1..b098d86e3a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
|
--- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
|
||||||
+++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
|
+++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class IAsyncTaskHandler<R extends Runnable> implements Mailbox<R
|
@@ -0,0 +0,0 @@ public abstract class IAsyncTaskHandler<R extends Runnable> implements Mailbox<R
|
||||||
@ -213,7 +213,7 @@ index 1f3ea23ae..b098d86e3 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java
|
diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java
|
||||||
index 3be9efd22..3a1ad2346 100644
|
index 3be9efd22c..3a1ad2346b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/IBlockData.java
|
--- a/src/main/java/net/minecraft/server/IBlockData.java
|
||||||
+++ b/src/main/java/net/minecraft/server/IBlockData.java
|
+++ b/src/main/java/net/minecraft/server/IBlockData.java
|
||||||
@@ -0,0 +0,0 @@ public class IBlockData extends BlockDataAbstract<Block, IBlockData> implements
|
@@ -0,0 +0,0 @@ public class IBlockData extends BlockDataAbstract<Block, IBlockData> implements
|
||||||
@ -253,7 +253,7 @@ index 3be9efd22..3a1ad2346 100644
|
|||||||
|
|
||||||
for (i = 0; i < k; ++i) {
|
for (i = 0; i < k; ++i) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||||
index a2bbca22b..c8512f9f4 100644
|
index a2bbca22b5..c8512f9f41 100644
|
||||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||||
@@ -0,0 +0,0 @@ public interface IEntityAccess {
|
@@ -0,0 +0,0 @@ public interface IEntityAccess {
|
||||||
@ -314,7 +314,7 @@ index a2bbca22b..c8512f9f4 100644
|
|||||||
if (pathfindertargetcondition.a(entityliving, t0)) {
|
if (pathfindertargetcondition.a(entityliving, t0)) {
|
||||||
list1.add(t0);
|
list1.add(t0);
|
||||||
diff --git a/src/main/java/net/minecraft/server/IOWorker.java b/src/main/java/net/minecraft/server/IOWorker.java
|
diff --git a/src/main/java/net/minecraft/server/IOWorker.java b/src/main/java/net/minecraft/server/IOWorker.java
|
||||||
index a986f2912..c5658c077 100644
|
index a986f2912f..c5658c0779 100644
|
||||||
--- a/src/main/java/net/minecraft/server/IOWorker.java
|
--- a/src/main/java/net/minecraft/server/IOWorker.java
|
||||||
+++ b/src/main/java/net/minecraft/server/IOWorker.java
|
+++ b/src/main/java/net/minecraft/server/IOWorker.java
|
||||||
@@ -0,0 +0,0 @@ public class IOWorker implements AutoCloseable {
|
@@ -0,0 +0,0 @@ public class IOWorker implements AutoCloseable {
|
||||||
@ -354,7 +354,7 @@ index a986f2912..c5658c077 100644
|
|||||||
IOWorker.LOGGER.error("Failed to close storage", exception);
|
IOWorker.LOGGER.error("Failed to close storage", exception);
|
||||||
this.h.completeExceptionally(exception);
|
this.h.completeExceptionally(exception);
|
||||||
diff --git a/src/main/java/net/minecraft/server/LootSelectorEntry.java b/src/main/java/net/minecraft/server/LootSelectorEntry.java
|
diff --git a/src/main/java/net/minecraft/server/LootSelectorEntry.java b/src/main/java/net/minecraft/server/LootSelectorEntry.java
|
||||||
index 59bb53543..3ed6a1e78 100644
|
index 59bb535431..3ed6a1e785 100644
|
||||||
--- a/src/main/java/net/minecraft/server/LootSelectorEntry.java
|
--- a/src/main/java/net/minecraft/server/LootSelectorEntry.java
|
||||||
+++ b/src/main/java/net/minecraft/server/LootSelectorEntry.java
|
+++ b/src/main/java/net/minecraft/server/LootSelectorEntry.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class LootSelectorEntry extends LootEntryAbstract {
|
@@ -0,0 +0,0 @@ public abstract class LootSelectorEntry extends LootEntryAbstract {
|
||||||
@ -382,7 +382,7 @@ index 59bb53543..3ed6a1e78 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/NBTBase.java b/src/main/java/net/minecraft/server/NBTBase.java
|
diff --git a/src/main/java/net/minecraft/server/NBTBase.java b/src/main/java/net/minecraft/server/NBTBase.java
|
||||||
index 829a7ae0a..8b9e47b4c 100644
|
index 829a7ae0a2..8b9e47b4c7 100644
|
||||||
--- a/src/main/java/net/minecraft/server/NBTBase.java
|
--- a/src/main/java/net/minecraft/server/NBTBase.java
|
||||||
+++ b/src/main/java/net/minecraft/server/NBTBase.java
|
+++ b/src/main/java/net/minecraft/server/NBTBase.java
|
||||||
@@ -0,0 +0,0 @@ public interface NBTBase {
|
@@ -0,0 +0,0 @@ public interface NBTBase {
|
||||||
@ -395,7 +395,7 @@ index 829a7ae0a..8b9e47b4c 100644
|
|||||||
default String asString() {
|
default String asString() {
|
||||||
return this.toString();
|
return this.toString();
|
||||||
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
|
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
|
||||||
index 22035b6c0..5406f4c40 100644
|
index 22035b6c0b..5406f4c40f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/NBTTagList.java
|
--- a/src/main/java/net/minecraft/server/NBTTagList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/NBTTagList.java
|
+++ b/src/main/java/net/minecraft/server/NBTTagList.java
|
||||||
@@ -0,0 +0,0 @@ public class NBTTagList extends NBTList<NBTBase> {
|
@@ -0,0 +0,0 @@ public class NBTTagList extends NBTList<NBTBase> {
|
||||||
@ -408,7 +408,7 @@ index 22035b6c0..5406f4c40 100644
|
|||||||
private byte type;
|
private byte type;
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/NextTickListEntry.java b/src/main/java/net/minecraft/server/NextTickListEntry.java
|
diff --git a/src/main/java/net/minecraft/server/NextTickListEntry.java b/src/main/java/net/minecraft/server/NextTickListEntry.java
|
||||||
index 8471920b8..e9c405fb5 100644
|
index 8471920b8b..e9c405fb53 100644
|
||||||
--- a/src/main/java/net/minecraft/server/NextTickListEntry.java
|
--- a/src/main/java/net/minecraft/server/NextTickListEntry.java
|
||||||
+++ b/src/main/java/net/minecraft/server/NextTickListEntry.java
|
+++ b/src/main/java/net/minecraft/server/NextTickListEntry.java
|
||||||
@@ -0,0 +0,0 @@ public class NextTickListEntry<T> {
|
@@ -0,0 +0,0 @@ public class NextTickListEntry<T> {
|
||||||
@ -430,7 +430,7 @@ index 8471920b8..e9c405fb5 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/RegionFileSection.java b/src/main/java/net/minecraft/server/RegionFileSection.java
|
diff --git a/src/main/java/net/minecraft/server/RegionFileSection.java b/src/main/java/net/minecraft/server/RegionFileSection.java
|
||||||
index 737afc7d7..db9f0196b 100644
|
index 737afc7d71..db9f0196bd 100644
|
||||||
--- a/src/main/java/net/minecraft/server/RegionFileSection.java
|
--- a/src/main/java/net/minecraft/server/RegionFileSection.java
|
||||||
+++ b/src/main/java/net/minecraft/server/RegionFileSection.java
|
+++ b/src/main/java/net/minecraft/server/RegionFileSection.java
|
||||||
@@ -0,0 +0,0 @@ public class RegionFileSection<R extends MinecraftSerializable> implements AutoC
|
@@ -0,0 +0,0 @@ public class RegionFileSection<R extends MinecraftSerializable> implements AutoC
|
||||||
@ -455,7 +455,7 @@ index 737afc7d7..db9f0196b 100644
|
|||||||
}, dynamic2);
|
}, dynamic2);
|
||||||
});
|
});
|
||||||
diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java
|
diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java
|
||||||
index 7f89562e9..4efcb8b59 100644
|
index 7f89562e90..4efcb8b595 100644
|
||||||
--- a/src/main/java/net/minecraft/server/RegistryBlockID.java
|
--- a/src/main/java/net/minecraft/server/RegistryBlockID.java
|
||||||
+++ b/src/main/java/net/minecraft/server/RegistryBlockID.java
|
+++ b/src/main/java/net/minecraft/server/RegistryBlockID.java
|
||||||
@@ -0,0 +0,0 @@ public class RegistryBlockID<T> implements Registry<T> {
|
@@ -0,0 +0,0 @@ public class RegistryBlockID<T> implements Registry<T> {
|
||||||
@ -468,7 +468,7 @@ index 7f89562e9..4efcb8b59 100644
|
|||||||
|
|
||||||
this.c.set(i, t0);
|
this.c.set(i, t0);
|
||||||
diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java
|
diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java
|
||||||
index 4cb78c6a3..e15d28671 100644
|
index 4cb78c6a3f..e15d286710 100644
|
||||||
--- a/src/main/java/net/minecraft/server/RegistryID.java
|
--- a/src/main/java/net/minecraft/server/RegistryID.java
|
||||||
+++ b/src/main/java/net/minecraft/server/RegistryID.java
|
+++ b/src/main/java/net/minecraft/server/RegistryID.java
|
||||||
@@ -0,0 +0,0 @@ public class RegistryID<K> implements Registry<K> {
|
@@ -0,0 +0,0 @@ public class RegistryID<K> implements Registry<K> {
|
||||||
@ -496,7 +496,7 @@ index 4cb78c6a3..e15d28671 100644
|
|||||||
this.f = 0;
|
this.f = 0;
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java
|
diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java
|
||||||
index 8534585eb..7b92ecfff 100644
|
index 8534585eb1..7b92ecfff9 100644
|
||||||
--- a/src/main/java/net/minecraft/server/SystemUtils.java
|
--- a/src/main/java/net/minecraft/server/SystemUtils.java
|
||||||
+++ b/src/main/java/net/minecraft/server/SystemUtils.java
|
+++ b/src/main/java/net/minecraft/server/SystemUtils.java
|
||||||
@@ -0,0 +0,0 @@ public class SystemUtils {
|
@@ -0,0 +0,0 @@ public class SystemUtils {
|
||||||
@ -540,7 +540,7 @@ index 8534585eb..7b92ecfff 100644
|
|||||||
if (throwable != null) {
|
if (throwable != null) {
|
||||||
completablefuture.completeExceptionally(throwable);
|
completablefuture.completeExceptionally(throwable);
|
||||||
diff --git a/src/main/java/net/minecraft/server/Ticket.java b/src/main/java/net/minecraft/server/Ticket.java
|
diff --git a/src/main/java/net/minecraft/server/Ticket.java b/src/main/java/net/minecraft/server/Ticket.java
|
||||||
index ee2059cf8..77bb6b092 100644
|
index ee2059cf8e..77bb6b092a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Ticket.java
|
--- a/src/main/java/net/minecraft/server/Ticket.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Ticket.java
|
+++ b/src/main/java/net/minecraft/server/Ticket.java
|
||||||
@@ -0,0 +0,0 @@ public final class Ticket<T> implements Comparable<Ticket<?>> {
|
@@ -0,0 +0,0 @@ public final class Ticket<T> implements Comparable<Ticket<?>> {
|
||||||
@ -553,7 +553,7 @@ index ee2059cf8..77bb6b092 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/VillagePlace.java b/src/main/java/net/minecraft/server/VillagePlace.java
|
diff --git a/src/main/java/net/minecraft/server/VillagePlace.java b/src/main/java/net/minecraft/server/VillagePlace.java
|
||||||
index c137484f6..c999f8c9b 100644
|
index c137484f66..c999f8c9bf 100644
|
||||||
--- a/src/main/java/net/minecraft/server/VillagePlace.java
|
--- a/src/main/java/net/minecraft/server/VillagePlace.java
|
||||||
+++ b/src/main/java/net/minecraft/server/VillagePlace.java
|
+++ b/src/main/java/net/minecraft/server/VillagePlace.java
|
||||||
@@ -0,0 +0,0 @@ public class VillagePlace extends RegionFileSection<VillagePlaceSection> {
|
@@ -0,0 +0,0 @@ public class VillagePlace extends RegionFileSection<VillagePlaceSection> {
|
||||||
@ -584,7 +584,7 @@ index c137484f6..c999f8c9b 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/VillagerTrades.java b/src/main/java/net/minecraft/server/VillagerTrades.java
|
diff --git a/src/main/java/net/minecraft/server/VillagerTrades.java b/src/main/java/net/minecraft/server/VillagerTrades.java
|
||||||
index a06a31534..3bcf0b385 100644
|
index a06a31534e..3bcf0b385d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/VillagerTrades.java
|
--- a/src/main/java/net/minecraft/server/VillagerTrades.java
|
||||||
+++ b/src/main/java/net/minecraft/server/VillagerTrades.java
|
+++ b/src/main/java/net/minecraft/server/VillagerTrades.java
|
||||||
@@ -0,0 +0,0 @@ import javax.annotation.Nullable;
|
@@ -0,0 +0,0 @@ import javax.annotation.Nullable;
|
||||||
@ -603,8 +603,20 @@ index a06a31534..3bcf0b385 100644
|
|||||||
hashmap.put(VillagerProfession.CARTOGRAPHER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PAPER, 24, 16, 2), new VillagerTrades.h(Items.MAP, 7, 1, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.df, 11, 16, 10), new VillagerTrades.k(13, "Monument", MapIcon.Type.MONUMENT, 12, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COMPASS, 1, 12, 20), new VillagerTrades.k(14, "Mansion", MapIcon.Type.MANSION, 12, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.ITEM_FRAME, 7, 1, 15), new VillagerTrades.h(Items.WHITE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.RED_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PINK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GREEN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIME_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GRAY_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLACK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PURPLE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.MAGENTA_BANNER, 3, 1, 15), new VillagerTrades.h(Items.CYAN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BROWN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.YELLOW_BANNER, 3, 1, 15), new VillagerTrades.h(Items.ORANGE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_GRAY_BANNER, 3, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.GLOBE_BANNER_PATTERN, 8, 1, 30)})));
|
hashmap.put(VillagerProfession.CARTOGRAPHER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PAPER, 24, 16, 2), new VillagerTrades.h(Items.MAP, 7, 1, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.df, 11, 16, 10), new VillagerTrades.k(13, "Monument", MapIcon.Type.MONUMENT, 12, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COMPASS, 1, 12, 20), new VillagerTrades.k(14, "Mansion", MapIcon.Type.MANSION, 12, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.ITEM_FRAME, 7, 1, 15), new VillagerTrades.h(Items.WHITE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.RED_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PINK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GREEN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIME_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GRAY_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLACK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PURPLE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.MAGENTA_BANNER, 3, 1, 15), new VillagerTrades.h(Items.CYAN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BROWN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.YELLOW_BANNER, 3, 1, 15), new VillagerTrades.h(Items.ORANGE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_GRAY_BANNER, 3, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.GLOBE_BANNER_PATTERN, 8, 1, 30)})));
|
||||||
hashmap.put(VillagerProfession.CLERIC, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.ROTTEN_FLESH, 32, 16, 2), new VillagerTrades.h(Items.REDSTONE, 1, 2, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.GOLD_INGOT, 3, 12, 10), new VillagerTrades.h(Items.LAPIS_LAZULI, 1, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.RABBIT_FOOT, 2, 12, 20), new VillagerTrades.h(Blocks.GLOWSTONE, 4, 1, 12, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.SCUTE, 4, 12, 30), new VillagerTrades.b(Items.GLASS_BOTTLE, 9, 12, 30), new VillagerTrades.h(Items.ENDER_PEARL, 5, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.NETHER_WART, 22, 12, 30), new VillagerTrades.h(Items.EXPERIENCE_BOTTLE, 3, 1, 30)})));
|
hashmap.put(VillagerProfession.CLERIC, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.ROTTEN_FLESH, 32, 16, 2), new VillagerTrades.h(Items.REDSTONE, 1, 2, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.GOLD_INGOT, 3, 12, 10), new VillagerTrades.h(Items.LAPIS_LAZULI, 1, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.RABBIT_FOOT, 2, 12, 20), new VillagerTrades.h(Blocks.GLOWSTONE, 4, 1, 12, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.SCUTE, 4, 12, 30), new VillagerTrades.b(Items.GLASS_BOTTLE, 9, 12, 30), new VillagerTrades.h(Items.ENDER_PEARL, 5, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.NETHER_WART, 22, 12, 30), new VillagerTrades.h(Items.EXPERIENCE_BOTTLE, 3, 1, 30)})));
|
||||||
hashmap.put(VillagerProfession.ARMORER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COAL, 15, 16, 2), new VillagerTrades.h(new ItemStack(Items.IRON_LEGGINGS), 7, 1, 12, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_BOOTS), 4, 1, 12, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_HELMET), 5, 1, 12, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_CHESTPLATE), 9, 1, 12, 1, 0.2F)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.IRON_INGOT, 4, 12, 10), new VillagerTrades.h(new ItemStack(Items.pQ), 36, 1, 12, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_BOOTS), 1, 1, 12, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_LEGGINGS), 3, 1, 12, 5, 0.2F)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.LAVA_BUCKET, 1, 12, 20), new VillagerTrades.b(Items.DIAMOND, 1, 12, 20), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_HELMET), 1, 1, 12, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_CHESTPLATE), 4, 1, 12, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.SHIELD), 5, 1, 12, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_LEGGINGS, 14, 3, 15, 0.2F), new VillagerTrades.e(Items.DIAMOND_BOOTS, 8, 3, 15, 0.2F)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_HELMET, 8, 3, 30, 0.2F), new VillagerTrades.e(Items.DIAMOND_CHESTPLATE, 16, 3, 30, 0.2F)})));
|
hashmap.put(VillagerProfession.ARMORER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COAL, 15, 16, 2), new VillagerTrades.h(new ItemStack(Items.IRON_LEGGINGS), 7, 1, 12, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_BOOTS), 4, 1, 12, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_HELMET), 5, 1, 12, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_CHESTPLATE), 9, 1, 12, 1, 0.2F)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.IRON_INGOT, 4, 12, 10), new VillagerTrades.h(new ItemStack(Items.pQ), 36, 1, 12, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_BOOTS), 1, 1, 12, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_LEGGINGS), 3, 1, 12, 5, 0.2F)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.LAVA_BUCKET, 1, 12, 20), new VillagerTrades.b(Items.DIAMOND, 1, 12, 20), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_HELMET), 1, 1, 12, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_CHESTPLATE), 4, 1, 12, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.SHIELD), 5, 1, 12, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_LEGGINGS, 14, 3, 15, 0.2F), new VillagerTrades.e(Items.DIAMOND_BOOTS, 8, 3, 15, 0.2F)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_HELMET, 8, 3, 30, 0.2F), new VillagerTrades.e(Items.DIAMOND_CHESTPLATE, 16, 3, 30, 0.2F)})));
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java b/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java
|
||||||
|
index 555cf6be79..22e14fe1e9 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java
|
||||||
|
@@ -0,0 +0,0 @@ public class WorldGenFeatureStateProviderWeighted extends WorldGenFeatureStatePr
|
||||||
|
builder.put(dynamicops.createString("type"), dynamicops.createString(IRegistry.t.getKey(this.a).toString())).put(dynamicops.createString("entries"), this.b.a(dynamicops, (iblockdata) -> {
|
||||||
|
return IBlockData.a(dynamicops, iblockdata);
|
||||||
|
}));
|
||||||
|
- return (new Dynamic(dynamicops, dynamicops.createMap(builder.build()))).getValue();
|
||||||
|
+ return (new Dynamic<T>(dynamicops, dynamicops.createMap(builder.build()))).getValue(); // Paper - decompile fix
|
||||||
|
}
|
||||||
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java
|
diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java
|
||||||
index 55fe7625a..19e68a783 100644
|
index 55fe7625af..19e68a7831 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldPersistentData.java
|
--- a/src/main/java/net/minecraft/server/WorldPersistentData.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldPersistentData.java
|
+++ b/src/main/java/net/minecraft/server/WorldPersistentData.java
|
||||||
@@ -0,0 +0,0 @@ public class WorldPersistentData {
|
@@ -0,0 +0,0 @@ public class WorldPersistentData {
|
||||||
|
@ -93,7 +93,6 @@ done
|
|||||||
# we do not need any lines added to this file for NMS
|
# we do not need any lines added to this file for NMS
|
||||||
|
|
||||||
# import FileName
|
# import FileName
|
||||||
import EntityFireballFireball
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren