Initial prep for 1.16
Remove patcehs we know need to go add comment on one im not sure should be dropped go ahead and fix patched repos to turn off gpg signing, as this helps rebase/apply --continue commands not suck. Go ahead and prep the pom file change
This commit is contained in:
parent
ec9fa36908
commit
a28f80090e
6 changed files with 5 additions and 4 deletions
|
@ -0,0 +1,96 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Phoenix616 <mail@moep.tv>
|
||||
Date: Sun, 15 Sep 2019 11:32:32 -0500
|
||||
Subject: [PATCH] Fix zero-tick instant grow farms MC-113809
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 62fe175dc4f00cc9cab6cbd828b57e25740b3793..f6f5f9dea6284582e9a175c0875273ee1db76076 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -552,6 +552,11 @@ public class PaperWorldConfig {
|
||||
disableRelativeProjectileVelocity = getBoolean("game-mechanics.disable-relative-projectile-velocity", false);
|
||||
}
|
||||
|
||||
+ public boolean fixZeroTickInstantGrowFarms = true;
|
||||
+ private void fixZeroTickInstantGrowFarms() {
|
||||
+ fixZeroTickInstantGrowFarms = getBoolean("fix-zero-tick-instant-grow-farms", fixZeroTickInstantGrowFarms);
|
||||
+ }
|
||||
+
|
||||
public boolean altItemDespawnRateEnabled;
|
||||
public Map<Material, Integer> altItemDespawnRateMap;
|
||||
private void altItemDespawnRate() {
|
||||
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
|
||||
index 540fcce1dd4d64dee51e2594f2199fac5299c6a0..e29ec958b3519d92cda215a50e97e6852d71c684 100644
|
||||
--- a/src/main/java/net/minecraft/server/Block.java
|
||||
+++ b/src/main/java/net/minecraft/server/Block.java
|
||||
@@ -46,6 +46,7 @@ public class Block implements IMaterial {
|
||||
private final float g;
|
||||
protected final BlockStateList<Block, IBlockData> blockStateList;
|
||||
private IBlockData blockData;
|
||||
+ public boolean randomTick = false; // Paper - fix MC-113809
|
||||
protected final boolean v;
|
||||
private final boolean i;
|
||||
private final boolean j;
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockBamboo.java b/src/main/java/net/minecraft/server/BlockBamboo.java
|
||||
index c482aad3e3e255dfe13b622859ed61b780a9e08e..02c548dd9c9a97bfb55d39ba2f6d4ab85ada0573 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockBamboo.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockBamboo.java
|
||||
@@ -85,6 +85,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
if (!iblockdata.canPlace(worldserver, blockposition)) {
|
||||
worldserver.b(blockposition, true);
|
||||
} else if ((Integer) iblockdata.get(BlockBamboo.f) == 0) {
|
||||
+ if (worldserver.paperConfig.fixZeroTickInstantGrowFarms && !randomTick) return; // Paper - fix MC-113809
|
||||
if (random.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.bambooModifier) * 3)) == 0 && worldserver.isEmpty(blockposition.up()) && worldserver.getLightLevel(blockposition.up(), 0) >= 9) { // Spigot
|
||||
int i = this.b(worldserver, blockposition) + 1;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java
|
||||
index e0974e256f0f10e047b9eb8e362982c6578d2d98..3524fcb927865d7b8754d9fbf85b853f09b94bb8 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockCactus.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockCactus.java
|
||||
@@ -21,6 +21,7 @@ public class BlockCactus extends Block {
|
||||
if (!iblockdata.canPlace(worldserver, blockposition)) {
|
||||
worldserver.b(blockposition, true);
|
||||
} else {
|
||||
+ if (worldserver.paperConfig.fixZeroTickInstantGrowFarms && !randomTick) return; // Paper - fix MC-113809
|
||||
BlockPosition blockposition1 = blockposition.up();
|
||||
|
||||
if (worldserver.isEmpty(blockposition1)) {
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockChorusFlower.java b/src/main/java/net/minecraft/server/BlockChorusFlower.java
|
||||
index d70b52cadf1b76eff7984127837b0a3aa36f6a0e..b624cf38047e242569d30ee4e3ad971455b5ff0a 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockChorusFlower.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockChorusFlower.java
|
||||
@@ -22,6 +22,7 @@ public class BlockChorusFlower extends Block {
|
||||
if (!iblockdata.canPlace(worldserver, blockposition)) {
|
||||
worldserver.b(blockposition, true);
|
||||
} else {
|
||||
+ if (worldserver.paperConfig.fixZeroTickInstantGrowFarms && !randomTick) return; // Paper - fix MC-113809
|
||||
BlockPosition blockposition1 = blockposition.up();
|
||||
|
||||
if (worldserver.isEmpty(blockposition1) && blockposition1.getY() < 256) {
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockReed.java b/src/main/java/net/minecraft/server/BlockReed.java
|
||||
index 55b07444e1d769952f2a411b1b5d1032565af8a1..3bc3c5aa29f45cd2ee1c0401b1ee1b1d49e81926 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockReed.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockReed.java
|
||||
@@ -23,6 +23,7 @@ public class BlockReed extends Block {
|
||||
if (!iblockdata.canPlace(worldserver, blockposition)) {
|
||||
worldserver.b(blockposition, true);
|
||||
} else if (worldserver.isEmpty(blockposition.up())) {
|
||||
+ if (worldserver.paperConfig.fixZeroTickInstantGrowFarms && !randomTick) return; // Paper - fix MC-113809
|
||||
int i;
|
||||
|
||||
for (i = 1; worldserver.getType(blockposition.down(i)).getBlock() == this; ++i) {
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 80e2a15bebe93939dc7b43b17b8116965438c062..3ecc73d021c09fbcad74dd62aced460771f86038 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -589,7 +589,9 @@ public class WorldServer extends World {
|
||||
IBlockData iblockdata = chunksection.getType(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
|
||||
|
||||
if (iblockdata.q()) {
|
||||
+ iblockdata.getBlock().randomTick = true; // Paper - fix MC-113809
|
||||
iblockdata.b(this, blockposition2, this.random);
|
||||
+ iblockdata.getBlock().randomTick = false; // Paper - fix MC-113809
|
||||
}
|
||||
|
||||
Fluid fluid = iblockdata.getFluid();
|
|
@ -0,0 +1,195 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Callahan <mr.callahhh@gmail.com>
|
||||
Date: Wed, 8 Apr 2020 18:00:17 -0500
|
||||
Subject: [PATCH] Port 20w15a Villager AI optimizations - DROP 1.16
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BehaviorController.java b/src/main/java/net/minecraft/server/BehaviorController.java
|
||||
index 7c6e687707cdf32638eee41e549818a494cd45ab..396b64ea0fc8a04d9e0aac289033d3d82385b86e 100644
|
||||
--- a/src/main/java/net/minecraft/server/BehaviorController.java
|
||||
+++ b/src/main/java/net/minecraft/server/BehaviorController.java
|
||||
@@ -38,30 +38,22 @@ public class BehaviorController<E extends EntityLiving> implements MinecraftSeri
|
||||
this.g = Sets.newHashSet();
|
||||
this.h = Activity.IDLE;
|
||||
this.i = -9999L;
|
||||
- collection.forEach((memorymoduletype) -> {
|
||||
- Optional optional = (Optional) this.memories.put(memorymoduletype, Optional.empty());
|
||||
- });
|
||||
- collection1.forEach((sensortype) -> {
|
||||
- Sensor sensor = (Sensor) this.sensors.put(sensortype, sensortype.a());
|
||||
- });
|
||||
- this.sensors.values().forEach((sensor) -> {
|
||||
- Iterator iterator = sensor.a().iterator();
|
||||
-
|
||||
- while (iterator.hasNext()) {
|
||||
- MemoryModuleType<?> memorymoduletype = (MemoryModuleType) iterator.next();
|
||||
-
|
||||
- this.memories.put(memorymoduletype, Optional.empty());
|
||||
+ // Paper start - Port 20w15a pathfinder optimizations
|
||||
+ for (final MemoryModuleType<?> memoryModuleType : collection) {
|
||||
+ this.memories.put(memoryModuleType, Optional.empty());
|
||||
+ }
|
||||
+ for (final SensorType<? extends Sensor<? super E>> sensorType : collection1) {
|
||||
+ this.sensors.put(sensorType, sensorType.a());
|
||||
+ }
|
||||
+ for (final Sensor<? super E> sensor : this.sensors.values()) {
|
||||
+ for (final MemoryModuleType<?> memoryModuleType : sensor.a()) {
|
||||
+ this.memories.put(memoryModuleType, Optional.empty());
|
||||
}
|
||||
-
|
||||
- });
|
||||
- Iterator iterator = dynamic.get("memories").asMap(Function.identity(), Function.identity()).entrySet().iterator();
|
||||
-
|
||||
- while (iterator.hasNext()) {
|
||||
- Entry<Dynamic<T>, Dynamic<T>> entry = (Entry) iterator.next();
|
||||
-
|
||||
- this.a((MemoryModuleType) IRegistry.MEMORY_MODULE_TYPE.get(new MinecraftKey(((Dynamic) entry.getKey()).asString(""))), (Dynamic) entry.getValue());
|
||||
}
|
||||
-
|
||||
+ for (final Map.Entry<Dynamic<T>, Dynamic<T>> entry : dynamic.get("memories").asMap(Function.identity(), Function.identity()).entrySet()) {
|
||||
+ this.a((MemoryModuleType) IRegistry.MEMORY_MODULE_TYPE.get(new MinecraftKey((entry.getKey()).asString(""))), entry.getValue());
|
||||
+ }
|
||||
+ // Paper end - Port 20w15a pathfinder optimizations
|
||||
}
|
||||
|
||||
public boolean hasMemory(MemoryModuleType<?> memorymoduletype) {
|
||||
@@ -69,7 +61,7 @@ public class BehaviorController<E extends EntityLiving> implements MinecraftSeri
|
||||
}
|
||||
|
||||
private <T, U> void a(MemoryModuleType<U> memorymoduletype, Dynamic<T> dynamic) {
|
||||
- this.setMemory(memorymoduletype, ((Function) memorymoduletype.getSerializer().orElseThrow(RuntimeException::new)).apply(dynamic));
|
||||
+ this.setMemory(memorymoduletype, (memorymoduletype.getSerializer().orElseThrow(RuntimeException::new)).apply(dynamic)); // Paper - decompile fix
|
||||
}
|
||||
|
||||
public <U> void removeMemory(MemoryModuleType<U> memorymoduletype) {
|
||||
@@ -113,13 +105,21 @@ public class BehaviorController<E extends EntityLiving> implements MinecraftSeri
|
||||
this.f = set;
|
||||
}
|
||||
|
||||
+ // Paper start - Port 20w15a pathfinder optimizations
|
||||
@Deprecated
|
||||
- public Stream<Behavior<? super E>> d() {
|
||||
- return this.c.values().stream().flatMap((map) -> {
|
||||
- return map.values().stream();
|
||||
- }).flatMap(Collection::stream).filter((behavior) -> {
|
||||
- return behavior.a() == Behavior.Status.RUNNING;
|
||||
- });
|
||||
+ public java.util.List<Behavior<? super E>> d() {
|
||||
+ final java.util.List<Behavior<? super E>> behaviorList = (java.util.List<Behavior<? super E>>) new it.unimi.dsi.fastutil.objects.ObjectArrayList();
|
||||
+ for (final Map<Activity, Set<Behavior<? super E>>> map : this.c.values()) {
|
||||
+ for (final Set<Behavior<? super E>> set : map.values()) {
|
||||
+ for (final Behavior<? super E> behavior : set) {
|
||||
+ if (behavior.a() == Behavior.Status.RUNNING) {
|
||||
+ behaviorList.add(behavior);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return behaviorList;
|
||||
+ // Paper end - Port 20w15a pathfinder optimizations
|
||||
}
|
||||
|
||||
public void a(Activity activity) {
|
||||
@@ -168,12 +168,14 @@ public class BehaviorController<E extends EntityLiving> implements MinecraftSeri
|
||||
|
||||
public BehaviorController<E> f() {
|
||||
BehaviorController<E> behaviorcontroller = new BehaviorController<>(this.memories.keySet(), this.sensors.keySet(), new Dynamic(DynamicOpsNBT.a, new NBTTagCompound()));
|
||||
-
|
||||
- this.memories.forEach((memorymoduletype, optional) -> {
|
||||
- optional.ifPresent((object) -> {
|
||||
- Optional optional1 = (Optional) behaviorcontroller.memories.put(memorymoduletype, Optional.of(object));
|
||||
- });
|
||||
- });
|
||||
+ // Paper start - Port 20w15a pathfinder optimizations
|
||||
+ for (final Entry<MemoryModuleType<?>, Optional<?>> entry : this.memories.entrySet()) {
|
||||
+ final MemoryModuleType<?> memoryModuleType = entry.getKey();
|
||||
+ if (entry.getValue().isPresent()) {
|
||||
+ behaviorcontroller.memories.put(memoryModuleType, entry.getValue());
|
||||
+ }
|
||||
+ }
|
||||
+ // Paper end - Port 20w15a pathfinder optimizations
|
||||
return behaviorcontroller;
|
||||
}
|
||||
|
||||
@@ -186,14 +188,14 @@ public class BehaviorController<E extends EntityLiving> implements MinecraftSeri
|
||||
public void b(WorldServer worldserver, E e0) {
|
||||
long i = e0.world.getTime();
|
||||
|
||||
- this.d().forEach((behavior) -> {
|
||||
+ for(Behavior<? super E> behavior : this.d()) { // Paper - Port 20w15a pathfinder optimizations
|
||||
behavior.e(worldserver, e0, i);
|
||||
- });
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T a(DynamicOps<T> dynamicops) {
|
||||
- T t0 = dynamicops.createMap((Map) this.memories.entrySet().stream().filter((entry) -> {
|
||||
+ T t0 = dynamicops.createMap(this.memories.entrySet().stream().filter((entry) -> { // Paper - decompile fix
|
||||
return ((MemoryModuleType) entry.getKey()).getSerializer().isPresent() && ((Optional) entry.getValue()).isPresent();
|
||||
}).map((entry) -> {
|
||||
return Pair.of(dynamicops.createString(IRegistry.MEMORY_MODULE_TYPE.getKey(entry.getKey()).toString()), ((MinecraftSerializable) ((Optional) entry.getValue()).get()).a(dynamicops));
|
||||
@@ -210,33 +212,45 @@ public class BehaviorController<E extends EntityLiving> implements MinecraftSeri
|
||||
|
||||
private void d(WorldServer worldserver, E e0) {
|
||||
long i = worldserver.getTime();
|
||||
-
|
||||
- this.c.values().stream().flatMap((map) -> {
|
||||
- return map.entrySet().stream();
|
||||
- }).filter((entry) -> {
|
||||
- return this.g.contains(entry.getKey());
|
||||
- }).map(Entry::getValue).flatMap(Collection::stream).filter((behavior) -> {
|
||||
- return behavior.a() == Behavior.Status.STOPPED;
|
||||
- }).forEach((behavior) -> {
|
||||
- behavior.b(worldserver, e0, i);
|
||||
- });
|
||||
+ // Paper start - Port 20w15a pathfinder optimizations
|
||||
+ for (final Map<Activity, Set<Behavior<? super E>>> map : this.c.values()) {
|
||||
+ for (final Map.Entry<Activity, Set<Behavior<? super E>>> entry : map.entrySet()) {
|
||||
+ final Activity activity = entry.getKey();
|
||||
+ if (this.g.contains(activity)) {
|
||||
+ final Set<Behavior<? super E>> set = entry.getValue();
|
||||
+ for (final Behavior<? super E> behavior : set) {
|
||||
+ if (behavior.a() == Behavior.Status.STOPPED) {
|
||||
+ behavior.b(worldserver, e0, i);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ // Paper end - Port 20w15a pathfinder optimizations
|
||||
}
|
||||
|
||||
private void e(WorldServer worldserver, E e0) {
|
||||
long i = worldserver.getTime();
|
||||
|
||||
- this.d().forEach((behavior) -> {
|
||||
+ for (final Behavior<? super E> behavior : this.d()) { // Paper - Port 20w15a pathfinder optimizations
|
||||
behavior.c(worldserver, e0, i);
|
||||
- });
|
||||
+ }
|
||||
}
|
||||
|
||||
private boolean d(Activity activity) {
|
||||
- return ((Set) this.e.get(activity)).stream().allMatch((pair) -> {
|
||||
- MemoryModuleType<?> memorymoduletype = (MemoryModuleType) pair.getFirst();
|
||||
- MemoryStatus memorystatus = (MemoryStatus) pair.getSecond();
|
||||
-
|
||||
- return this.a(memorymoduletype, memorystatus);
|
||||
- });
|
||||
+ // Paper start - Port 20w15a pathfinder optimizations
|
||||
+ if (!this.e.containsKey(activity)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ for (final Pair<MemoryModuleType<?>, MemoryStatus> pair : this.e.get(activity)) {
|
||||
+ MemoryModuleType<?> memorymoduletype = pair.getFirst();
|
||||
+ MemoryStatus memorystatus = pair.getSecond();
|
||||
+ if (!this.a(memorymoduletype, memorystatus)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+ return true;
|
||||
+ // Paper end - Port 20w15a pathfinder optimizations
|
||||
}
|
||||
|
||||
private boolean a(Object object) {
|
Loading…
Add table
Add a link
Reference in a new issue