mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 23:38:25 +01:00
More improvements to activation range, improve turtles
improved the water code so that immunity wont trigger if the entity has the water pathfinder system active, so this improves support for all entities that know how to behave in water. Merged 2 EAR patches together, and removed an MCUtil method that doesnt have a purpose anymore
This commit is contained in:
parent
c4cbda699b
commit
bdd77afa95
47 changed files with 247 additions and 295 deletions
|
@ -1,14 +1,16 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 27 Dec 2016 22:38:06 -0500
|
||||
Date: Fri, 13 May 2016 01:38:06 -0400
|
||||
Subject: [PATCH] Activation Range Improvements
|
||||
|
||||
Optimizes performance of Activation Range
|
||||
|
||||
Fixes and adds new Immunities to improve gameplay behavior
|
||||
|
||||
Adds water Mobs to activation range config and nerfs fish
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index f4ed98d2d9..1dfd71df0a 100644
|
||||
index d81e2dc1c5..7bd51b3578 100644
|
||||
--- a/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 {
|
||||
|
@ -112,34 +114,51 @@ index 9a75cb63ba..cf10605aaa 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index f9bb19fed6..d176008f44 100644
|
||||
index f52de10238..05e10fb366 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -0,0 +0,0 @@ import net.minecraft.server.EntityArrow;
|
||||
import net.minecraft.server.EntityComplexPart;
|
||||
import net.minecraft.server.EntityCreature;
|
||||
@@ -0,0 +0,0 @@ package org.spigotmc;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
+
|
||||
+import co.aikar.timings.MinecraftTimings;
|
||||
import net.minecraft.server.AxisAlignedBB;
|
||||
import net.minecraft.server.Chunk;
|
||||
import net.minecraft.server.Entity;
|
||||
@@ -0,0 +0,0 @@ import net.minecraft.server.EntityCreature;
|
||||
import net.minecraft.server.EntityCreeper;
|
||||
+import net.minecraft.server.EntityDrowned;
|
||||
import net.minecraft.server.EntityEnderCrystal;
|
||||
import net.minecraft.server.EntityEnderDragon;
|
||||
import net.minecraft.server.EntityFallingBlock;
|
||||
-import net.minecraft.server.EntityFallingBlock; // Paper
|
||||
+import net.minecraft.server.EntityFallingBlock;
|
||||
import net.minecraft.server.EntityFireball;
|
||||
import net.minecraft.server.EntityFireworks;
|
||||
+import net.minecraft.server.EntityFish;
|
||||
import net.minecraft.server.EntityHuman;
|
||||
+import net.minecraft.server.EntityInsentient;
|
||||
import net.minecraft.server.EntityLiving;
|
||||
+import net.minecraft.server.EntityLlama;
|
||||
import net.minecraft.server.EntityMonster;
|
||||
import net.minecraft.server.EntityProjectile;
|
||||
import net.minecraft.server.EntitySheep;
|
||||
@@ -0,0 +0,0 @@ import net.minecraft.server.EntitySlime;
|
||||
-import net.minecraft.server.EntitySlice;
|
||||
import net.minecraft.server.EntitySlime;
|
||||
import net.minecraft.server.EntityTNTPrimed;
|
||||
import net.minecraft.server.EntityThrownTrident;
|
||||
import net.minecraft.server.EntityVillager;
|
||||
+import net.minecraft.server.EntityWaterAnimal;
|
||||
import net.minecraft.server.EntityWeather;
|
||||
import net.minecraft.server.EntityWither;
|
||||
import net.minecraft.server.MCUtil;
|
||||
+import net.minecraft.server.MCUtil;
|
||||
import net.minecraft.server.MathHelper;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
+import net.minecraft.server.NavigationGuardian;
|
||||
import net.minecraft.server.World;
|
||||
-import co.aikar.timings.MinecraftTimings;
|
||||
|
||||
public class ActivationRange
|
||||
{
|
||||
@@ -0,0 +0,0 @@ public class ActivationRange
|
||||
static AxisAlignedBB maxBB = new AxisAlignedBB( 0, 0, 0, 0, 0, 0 );
|
||||
static AxisAlignedBB miscBB = new AxisAlignedBB( 0, 0, 0, 0, 0, 0 );
|
||||
|
@ -172,6 +191,12 @@ index f9bb19fed6..d176008f44 100644
|
|||
|
||||
int maxRange = Math.max( monsterActivationRange, animalActivationRange );
|
||||
maxRange = Math.max( maxRange, miscActivationRange );
|
||||
//maxRange = Math.min( ( world.spigotConfig.viewDistance << 4 ) - 8, maxRange ); Paper - Use player view distance API below instead
|
||||
|
||||
+ Chunk chunk; // Paper
|
||||
for ( EntityHuman player : world.players )
|
||||
{
|
||||
int playerMaxRange = maxRange = Math.min( ( player.getViewDistance() << 4 ) - 8, maxRange ); // Paper - Use player view distance API
|
||||
@@ -0,0 +0,0 @@ public class ActivationRange
|
||||
maxBB = player.getBoundingBox().grow( playerMaxRange, 256, playerMaxRange ); // Paper - Use player view distance API
|
||||
miscBB = player.getBoundingBox().grow( miscActivationRange, 256, miscActivationRange );
|
||||
|
@ -180,6 +205,18 @@ index f9bb19fed6..d176008f44 100644
|
|||
monsterBB = player.getBoundingBox().grow( monsterActivationRange, 256, monsterActivationRange );
|
||||
|
||||
int i = MathHelper.floor( maxBB.a / 16.0D );
|
||||
@@ -0,0 +0,0 @@ public class ActivationRange
|
||||
{
|
||||
for ( int j1 = k; j1 <= l; ++j1 )
|
||||
{
|
||||
- if ( world.getWorld().isChunkLoaded( i1, j1 ) )
|
||||
+ if ( (chunk = world.getChunkIfLoaded(i1, j1 )) != null ) // Paper
|
||||
{
|
||||
- activateChunkEntities( world.getChunkAt( i1, j1 ) );
|
||||
+ activateChunkEntities( chunk ); // Paper
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +0,0 @@ public class ActivationRange
|
||||
entity.activatedTick = MinecraftServer.currentTick;
|
||||
}
|
||||
|
@ -199,17 +236,23 @@ index f9bb19fed6..d176008f44 100644
|
|||
*/
|
||||
public static boolean checkEntityImmunities(Entity entity)
|
||||
{
|
||||
- // quick checks.
|
||||
- if ( entity.inWater || entity.fireTicks > 0 )
|
||||
- {
|
||||
+ // Paper start - optimize Water cases
|
||||
+ if (entity instanceof EntityFish) {
|
||||
+ return false;
|
||||
+ }
|
||||
// quick checks.
|
||||
- if ( entity.inWater || entity.fireTicks > 0 )
|
||||
+ if ( (entity.inWater && (!(entity instanceof EntityWaterAnimal || entity instanceof EntityDrowned))) || entity.fireTicks > 0 )
|
||||
+ // Paper end
|
||||
{
|
||||
+ if ((entity.inWater && entity instanceof EntityInsentient && !(((EntityInsentient) entity).getNavigation() instanceof NavigationGuardian))) {
|
||||
return true;
|
||||
}
|
||||
+ if (entity.fireTicks > 0) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ // Paper end
|
||||
if ( !( entity instanceof EntityArrow ) )
|
||||
{
|
||||
if ( !entity.onGround || !entity.passengers.isEmpty() || entity.isPassenger() )
|
||||
@@ -0,0 +0,0 @@ public class ActivationRange
|
||||
if ( entity instanceof EntityLiving )
|
||||
{
|
||||
|
|
|
@ -9,7 +9,7 @@ thread dumps at an interval until the point of crash.
|
|||
This will help diagnose what was going on in that time before the crash.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index 3419847e34..4bb81a09a8 100644
|
||||
index a2894da71b..6a70e5f4f5 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.configuration.InvalidConfigurationException;
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Add configuration option to prevent player names from being
|
|||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index a848edfc10..ccbe1482fc 100644
|
||||
index 78dbcb919d..e255d3d1e8 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperConfig {
|
||||
|
|
|
@ -9,7 +9,7 @@ This should hopefully avoid duplicate entities ever being created
|
|||
if the entity was to end up in 2 different chunk slices
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 17f1e71d48..a75b058e2a 100644
|
||||
index c7f67bce6c..a7cbd9b201 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Allow chests to be placed with NBT data
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
index 4641113f9..26055924b 100644
|
||||
index 4641113f9d..26055924b9 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
@@ -0,0 +0,0 @@ public final class ItemStack {
|
||||
|
@ -25,7 +25,7 @@ index 4641113f9..26055924b 100644
|
|||
for (BlockState blockstate : blocks) {
|
||||
blockstate.update(true, false);
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
|
||||
index 9573a4ecd..7594c16e9 100644
|
||||
index 9573a4ecdf..7594c16e99 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityChest.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityChest.java
|
||||
@@ -0,0 +0,0 @@ public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITic
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Allow specifying a custom "authentication servers down" kick
|
|||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index ccbe1482fc..8a899ed40d 100644
|
||||
index e255d3d1e8..6fcfeafc04 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
|
|
@ -1049,7 +1049,7 @@ index 0000000000..37093419cf
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 56116ae170..6f8e6db820 100644
|
||||
index ae7e00d81e..a3c53c1d84 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
@ -1418,7 +1418,7 @@ index 22a262bb60..40ec398eef 100644
|
|||
if (flag) {
|
||||
packetdataserializer.writeBytes(chunksection.getSkyLightArray().asBytes());
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index 84896d6f6b..2a889dc20a 100644
|
||||
index a0fcac3296..2c7c8adf7c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunk {
|
||||
|
|
|
@ -10,7 +10,7 @@ to the object directly on the Entity/TileEntity object we can directly grab.
|
|||
Use that local value instead to reduce lookups in many hot places.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 9ba489f356..321837811e 100644
|
||||
index 1652d88298..982b3de65c 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
|
|
@ -403,7 +403,7 @@ index 0000000000..3aceb0ea8a
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
index dce1417aff..f7856897f6 100644
|
||||
index e1af5c4885..0ef5ad1165 100644
|
||||
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
|
|
@ -22,7 +22,7 @@ to take the burden of this into their own hand without having to rely on
|
|||
plugins doing unsafe things.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index b32e75ae9a..3419847e34 100644
|
||||
index 4782ae8adc..a2894da71b 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperConfig {
|
||||
|
|
|
@ -39,7 +39,7 @@ index c45c52084a..0237049a40 100644
|
|||
|
||||
this.setCustomNameVisible(nbttagcompound.getBoolean("CustomNameVisible"));
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
index f7856897f6..e11f439ff1 100644
|
||||
index 0ef5ad1165..f70f5899fa 100644
|
||||
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -0,0 +0,0 @@ public final class MCUtil {
|
||||
|
|
|
@ -36,7 +36,7 @@ This change will result in some major changes to fishing formulas.
|
|||
I would love to see this change in Vanilla, so Mojang please pull :)
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index 8b347a9b47..ad031dedaa 100644
|
||||
index f9ad4f97ec..80bbdec480 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperConfig {
|
||||
|
|
|
@ -33,7 +33,7 @@ index af69342e6c..ca7efc9175 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index abf5a7554d..84896d6f6b 100644
|
||||
index 2fd8fa30ee..a0fcac3296 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunk {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Configurable connection throttle kick message
|
|||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index 6b65364e22..ae91c8d5e3 100644
|
||||
index 2f6d7f2976..effc296e3e 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperConfig {
|
||||
|
|
|
@ -43,7 +43,7 @@ index ff1a2046f6..0cd15c17e8 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 41d3aaa80b..824727ec66 100644
|
||||
index e1c3e19029..bc4d6f127d 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
@ -211,7 +211,7 @@ index 72d1a0f51d..3536433d14 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 12040596df..f9bb19fed6 100644
|
||||
index 05e10fb366..d47a77fdee 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -0,0 +0,0 @@ public class ActivationRange
|
||||
|
|
|
@ -6,6 +6,122 @@ Subject: [PATCH] Do not load chunks for light checks
|
|||
Should only happen for blocks on the edge that uses neighbors light level
|
||||
(certain blocks). In that case, there will be 3-4 other neighbors to get a light level from.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
index a8b070ed32..7a4bc0fcc3 100644
|
||||
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
@@ -0,0 +0,0 @@ public abstract class NavigationAbstract {
|
||||
protected long n;
|
||||
protected PathfinderAbstract o;
|
||||
private BlockPosition q;
|
||||
- private Pathfinder r;
|
||||
+ private Pathfinder r; public Pathfinder getPathfinder() { return r; } // Paper - OBFHELPER
|
||||
|
||||
+ private void setWorld() { if (getPathfinder() != null && getPathfinder().getPathfinder() != null) getPathfinder().getPathfinder().world = getEntity().world; } // Paper
|
||||
public NavigationAbstract(EntityInsentient entityinsentient, World world) {
|
||||
this.a = entityinsentient;
|
||||
this.b = world;
|
||||
this.p = entityinsentient.getAttributeInstance(GenericAttributes.FOLLOW_RANGE);
|
||||
this.r = this.a();
|
||||
+ setWorld(); // Paper
|
||||
}
|
||||
|
||||
public BlockPosition i() {
|
||||
@@ -0,0 +0,0 @@ public abstract class NavigationAbstract {
|
||||
}
|
||||
|
||||
public void d() {
|
||||
+ setWorld(); // Paper
|
||||
++this.e;
|
||||
if (this.m) {
|
||||
this.l();
|
||||
diff --git a/src/main/java/net/minecraft/server/Pathfinder.java b/src/main/java/net/minecraft/server/Pathfinder.java
|
||||
index 04c71ac0ef..6e583356ce 100644
|
||||
--- a/src/main/java/net/minecraft/server/Pathfinder.java
|
||||
+++ b/src/main/java/net/minecraft/server/Pathfinder.java
|
||||
@@ -0,0 +0,0 @@ public class Pathfinder {
|
||||
private final Path a = new Path();
|
||||
private final Set<PathPoint> b = Sets.newHashSet();
|
||||
private final PathPoint[] c = new PathPoint[32];
|
||||
- private PathfinderAbstract d;
|
||||
+ private PathfinderAbstract d; public PathfinderAbstract getPathfinder() { return d; } // Paper - OBFHELPER
|
||||
|
||||
public Pathfinder(PathfinderAbstract pathfinderabstract) {
|
||||
this.d = pathfinderabstract;
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderAbstract.java b/src/main/java/net/minecraft/server/PathfinderAbstract.java
|
||||
index ba7fe359fe..6716280146 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderAbstract.java
|
||||
@@ -0,0 +0,0 @@ package net.minecraft.server;
|
||||
public abstract class PathfinderAbstract {
|
||||
protected IBlockAccess a;
|
||||
protected EntityInsentient b;
|
||||
+ public World world; // Paper
|
||||
protected final IntHashMap<PathPoint> c = new IntHashMap<PathPoint>();
|
||||
protected int d;
|
||||
protected int e;
|
||||
@@ -0,0 +0,0 @@ public abstract class PathfinderAbstract {
|
||||
|
||||
public void a(IBlockAccess iblockaccess, EntityInsentient entityinsentient) {
|
||||
this.a = iblockaccess;
|
||||
+ if (iblockaccess instanceof World) world = (World) iblockaccess; // Paper
|
||||
this.b = entityinsentient;
|
||||
this.c.c();
|
||||
this.d = MathHelper.d(entityinsentient.width + 1.0F);
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java
|
||||
index 64e0b08170..93f3d2e363 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderNormal.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderNormal.java
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
BlockPosition blockposition2 = new BlockPosition(this.b);
|
||||
PathType pathtype1 = this.a(this.b, blockposition2.getX(), i, blockposition2.getZ());
|
||||
if (this.b.a(pathtype1) < 0.0F) {
|
||||
- HashSet hashset = Sets.newHashSet();
|
||||
+ HashSet<BlockPosition> hashset = Sets.newHashSet(); // Paper - decompile fix
|
||||
hashset.add(new BlockPosition(this.b.getBoundingBox().a, (double)i, this.b.getBoundingBox().c));
|
||||
hashset.add(new BlockPosition(this.b.getBoundingBox().a, (double)i, this.b.getBoundingBox().f));
|
||||
hashset.add(new BlockPosition(this.b.getBoundingBox().d, (double)i, this.b.getBoundingBox().c));
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
}
|
||||
|
||||
public PathType a(IBlockAccess iblockaccess, int i, int jx, int k, EntityInsentient entityinsentient, int l, int i1, int j1, boolean flag, boolean flag1) {
|
||||
- EnumSet enumset = EnumSet.noneOf(PathType.class);
|
||||
+ EnumSet<PathType> enumset = EnumSet.noneOf(PathType.class); // Paper - decompile fix
|
||||
PathType pathtype = PathType.BLOCKED;
|
||||
double d0 = (double)entityinsentient.width / 2.0D;
|
||||
BlockPosition blockposition = new BlockPosition(entityinsentient);
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
public PathType a(IBlockAccess iblockaccess, int i, int jx, int k) {
|
||||
PathType pathtype = this.b(iblockaccess, i, jx, k);
|
||||
if (pathtype == PathType.OPEN && jx >= 1) {
|
||||
- Block block = iblockaccess.getType(new BlockPosition(i, jx - 1, k)).getBlock();
|
||||
+ Block block = world.getBlockIfLoaded(new BlockPosition(i, jx - 1, k)); // Paper
|
||||
+ if (block == null) return PathType.BLOCKED; // Paper
|
||||
PathType pathtype1 = this.b(iblockaccess, i, jx - 1, k);
|
||||
pathtype = pathtype1 != PathType.WALKABLE && pathtype1 != PathType.OPEN && pathtype1 != PathType.WATER && pathtype1 != PathType.LAVA ? PathType.WALKABLE : PathType.OPEN;
|
||||
if (pathtype1 == PathType.DAMAGE_FIRE || block == Blocks.MAGMA_BLOCK) {
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
for(int l = -1; l <= 1; ++l) {
|
||||
for(int i1 = -1; i1 <= 1; ++i1) {
|
||||
if (l != 0 || i1 != 0) {
|
||||
- Block block = iblockaccess.getType(blockposition$b.f(l + i, jx, i1 + k)).getBlock();
|
||||
- if (block == Blocks.CACTUS) {
|
||||
+ Block block = world.getBlockIfLoaded(blockposition$b.f(l + i, jx, i1 + k)); // Paper
|
||||
+ if (block == null) pathtype = PathType.BLOCKED; // Paper
|
||||
+ else if (block == Blocks.CACTUS) { // Paper
|
||||
pathtype = PathType.DANGER_CACTUS;
|
||||
} else if (block == Blocks.FIRE) {
|
||||
pathtype = PathType.DANGER_FIRE;
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
|
||||
protected PathType b(IBlockAccess iblockaccess, int i, int jx, int k) {
|
||||
BlockPosition blockposition = new BlockPosition(i, jx, k);
|
||||
- IBlockData iblockdata = iblockaccess.getType(blockposition);
|
||||
+ IBlockData iblockdata = world.getTypeIfLoaded(blockposition); // Paper
|
||||
+ if (iblockdata == null) return PathType.BLOCKED; // Paper
|
||||
Block block = iblockdata.getBlock();
|
||||
Material material = iblockdata.getMaterial();
|
||||
if (iblockdata.isAir()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 207f53a9c3..b8fcfb6092 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Don't double add golems to world
|
|||
spawnCreature adds to world now
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Village.java b/src/main/java/net/minecraft/server/Village.java
|
||||
index 955041e266..5f280fcab9 100644
|
||||
index 0414f003a5..d92ef03661 100644
|
||||
--- a/src/main/java/net/minecraft/server/Village.java
|
||||
+++ b/src/main/java/net/minecraft/server/Village.java
|
||||
@@ -0,0 +0,0 @@ public class Village {
|
||||
|
|
|
@ -85,7 +85,7 @@ index deb0d4f053..249af8b4c6 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 321837811e..cd87f0c241 100644
|
||||
index 982b3de65c..42a437383a 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
|
|
@ -7,7 +7,7 @@ Saving players async is extremely dangerous. This will force it to main
|
|||
the same way we handle async chunk loads.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 7d778ff3..06ce2af1 100644
|
||||
index 7d778ff3e0..06ce2af1e6 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
|
|
@ -14,7 +14,7 @@ Fix this by differing entity add to world for all entities at the same time
|
|||
the original entity is dead, overwrite it as the logic does for unloaod queued entities.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index a75b058e2a..56116ae170 100644
|
||||
index a7cbd9b201..ae7e00d81e 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Fix turtle lag
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
|
||||
index 1b09f577e..4f5592d1c 100644
|
||||
index 1b09f577e9..4f5592d1c9 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTurtle.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java
|
||||
@@ -0,0 +0,0 @@ public class EntityTurtle extends EntityAnimal {
|
||||
|
|
|
@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers
|
|||
to "confirm" things based on if it was player triggered close or not.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index b09aa135..1652d882 100644
|
||||
index b09aa1351c..1652d88298 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
@ -29,7 +29,7 @@ index b09aa135..1652d882 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 5e13cb06..c7dc6fe0 100644
|
||||
index 5e13cb0640..c7dc6fe0ef 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
|
@ -56,7 +56,7 @@ index 5e13cb06..c7dc6fe0 100644
|
|||
this.activeContainer = this.defaultContainer;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 3644fde3..68f5842c 100644
|
||||
index 3644fde3bb..68f5842cfe 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
@ -110,7 +110,7 @@ index 3644fde3..68f5842c 100644
|
|||
this.m();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index da32ed7a..9819bc05 100644
|
||||
index da32ed7a01..9819bc0576 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
@ -123,7 +123,7 @@ index da32ed7a..9819bc05 100644
|
|||
this.player.m();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 6bdeb2cc..a9b468fa 100644
|
||||
index 6bdeb2cc90..a9b468facd 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
@ -136,7 +136,7 @@ index 6bdeb2cc..a9b468fa 100644
|
|||
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game");
|
||||
cserver.getPluginManager().callEvent(playerQuitEvent);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
index 32fcba1d..3c23d40b 100644
|
||||
index 32fcba1d1a..3c23d40b1d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
@@ -0,0 +0,0 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
|
@ -155,7 +155,7 @@ index 32fcba1d..3c23d40b 100644
|
|||
public boolean isBlocking() {
|
||||
return getHandle().isBlocking();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 898371e5..912b2e62 100644
|
||||
index 898371e5f4..912b2e6284 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
@ -168,7 +168,7 @@ index 898371e5..912b2e62 100644
|
|||
|
||||
// Check if the fromWorld and toWorld are the same.
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 66b1293b..f04fb045 100644
|
||||
index 66b1293bf9..f04fb045eb 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -0,0 +0,0 @@ public class CraftEventFactory {
|
||||
|
|
|
@ -28,7 +28,7 @@ index 145cb274b0..eff9dcf54f 100644
|
|||
|
||||
public static Timing getTickList(WorldServer worldserver, String timingsType) {
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index 4812da0dac..d0eb7c0fc2 100644
|
||||
index 6ab2eaa169..27775476f9 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperConfig {
|
||||
|
@ -61,7 +61,7 @@ index 39d565db1f..8f6f0288be 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index a97f0499cd..397798cf28 100644
|
||||
index af181d4bd7..4ec5fe739f 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
@ -190,7 +190,7 @@ index d6ea4ae532..5086fe4027 100644
|
|||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PaperLightingQueue.java b/src/main/java/net/minecraft/server/PaperLightingQueue.java
|
||||
new file mode 100644
|
||||
index 0000000000..bfb05e8766
|
||||
index 0000000000..d207266db3
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/minecraft/server/PaperLightingQueue.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -280,7 +280,7 @@ index 0000000000..bfb05e8766
|
|||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ Chunk neighbor = MCUtil.getLoadedChunkWithoutMarkingActive(chunk.world, x, z);
|
||||
+ Chunk neighbor = chunk.world.getChunkIfLoaded(x, z);
|
||||
+ if (neighbor != null) {
|
||||
+ neighbor.lightingQueue.processQueue(0, 0); // No timeout
|
||||
+ }
|
||||
|
|
|
@ -9,7 +9,7 @@ loss from chunks if they crossed chunk boundries.
|
|||
This fixes the issue.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 63e7ba9a9a..53aab97866 100644
|
||||
index f81985a847..9162151e2a 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] MC Utils
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index 6ffc535146..5ed34cf7e3 100644
|
||||
index 6ffc535146..5c5f19b4b4 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
@@ -0,0 +0,0 @@ import org.apache.logging.log4j.Logger;
|
||||
|
@ -25,6 +25,14 @@ index 6ffc535146..5ed34cf7e3 100644
|
|||
public BlockPosition a(int ix, int jx, int kx) {
|
||||
return ix == 0 && jx == 0 && kx == 0 ? this : new BlockPosition(this.getX() + ix, this.getY() + jx, this.getZ() + kx);
|
||||
}
|
||||
@@ -0,0 +0,0 @@ public class BlockPosition extends BaseBlockPosition {
|
||||
};
|
||||
}
|
||||
|
||||
+ public BlockPosition asImmutable() { return h(); } // Paper - OBFHELPER
|
||||
public BlockPosition h() {
|
||||
return this;
|
||||
}
|
||||
@@ -0,0 +0,0 @@ public class BlockPosition extends BaseBlockPosition {
|
||||
return this.d;
|
||||
}
|
||||
|
@ -292,7 +300,7 @@ index c54275bc2f..318c4204df 100644
|
|||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
new file mode 100644
|
||||
index 0000000000..faec947224
|
||||
index 0000000000..c97e116aaf
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -552,30 +560,6 @@ index 0000000000..faec947224
|
|||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Gets a chunk without changing its boolean for should unload
|
||||
+ * @param world
|
||||
+ * @param x
|
||||
+ * @param z
|
||||
+ * @return
|
||||
+ */
|
||||
+ @Nullable
|
||||
+ public static Chunk getLoadedChunkWithoutMarkingActive(World world, int x, int z) {
|
||||
+ return ((ChunkProviderServer) world.chunkProvider).chunks.get(ChunkCoordIntPair.a(x, z));
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Gets a chunk without changing its boolean for should unload
|
||||
+ * @param provider
|
||||
+ * @param x
|
||||
+ * @param z
|
||||
+ * @return
|
||||
+ */
|
||||
+ @Nullable
|
||||
+ public static Chunk getLoadedChunkWithoutMarkingActive(IChunkProvider provider, int x, int z) {
|
||||
+ return ((ChunkProviderServer)provider).chunks.get(ChunkCoordIntPair.a(x, z));
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Posts a task to be executed asynchronously
|
||||
+ * @param run
|
||||
+ */
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Make player data saving configurable
|
|||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index 8a899ed40d..8b347a9b47 100644
|
||||
index 6fcfeafc04..f9ad4f97ec 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperConfig {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index cd87f0c241..17f1e71d48 100644
|
||||
index 42a437383a..c7f67bce6c 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
|
|
@ -125,7 +125,7 @@ index 0000000000..ed3d86ddd3
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
index 452da80f11..4023253f42 100644
|
||||
index efdfa7195c..113fd9a50f 100644
|
||||
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
@@ -0,0 +0,0 @@ public abstract class NavigationAbstract {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Optimize BlockPosition helper methods
|
|||
Resolves #1338
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index 986b1e13a5..45f7794613 100644
|
||||
index 9ce3cd9c9d..adf648dfd5 100644
|
||||
--- a/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 {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Optimize Chunk#getPos
|
|||
Don't create an object just to get chunk coords.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 6f8e6db820..82d8aca47f 100644
|
||||
index a3c53c1d84..f4b26bd999 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 13 May 2016 01:38:06 -0400
|
||||
Subject: [PATCH] Optimize EAR
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index f52de10238..12040596df 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -0,0 +0,0 @@ package org.spigotmc;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
+
|
||||
+import co.aikar.timings.MinecraftTimings;
|
||||
import net.minecraft.server.AxisAlignedBB;
|
||||
import net.minecraft.server.Chunk;
|
||||
import net.minecraft.server.Entity;
|
||||
@@ -0,0 +0,0 @@ import net.minecraft.server.EntityCreature;
|
||||
import net.minecraft.server.EntityCreeper;
|
||||
import net.minecraft.server.EntityEnderCrystal;
|
||||
import net.minecraft.server.EntityEnderDragon;
|
||||
-import net.minecraft.server.EntityFallingBlock; // Paper
|
||||
+import net.minecraft.server.EntityFallingBlock;
|
||||
import net.minecraft.server.EntityFireball;
|
||||
import net.minecraft.server.EntityFireworks;
|
||||
import net.minecraft.server.EntityHuman;
|
||||
@@ -0,0 +0,0 @@ import net.minecraft.server.EntityLiving;
|
||||
import net.minecraft.server.EntityMonster;
|
||||
import net.minecraft.server.EntityProjectile;
|
||||
import net.minecraft.server.EntitySheep;
|
||||
-import net.minecraft.server.EntitySlice;
|
||||
import net.minecraft.server.EntitySlime;
|
||||
import net.minecraft.server.EntityTNTPrimed;
|
||||
import net.minecraft.server.EntityThrownTrident;
|
||||
import net.minecraft.server.EntityVillager;
|
||||
import net.minecraft.server.EntityWeather;
|
||||
import net.minecraft.server.EntityWither;
|
||||
+import net.minecraft.server.MCUtil;
|
||||
import net.minecraft.server.MathHelper;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.World;
|
||||
-import co.aikar.timings.MinecraftTimings;
|
||||
|
||||
public class ActivationRange
|
||||
{
|
||||
@@ -0,0 +0,0 @@ public class ActivationRange
|
||||
maxRange = Math.max( maxRange, miscActivationRange );
|
||||
//maxRange = Math.min( ( world.spigotConfig.viewDistance << 4 ) - 8, maxRange ); Paper - Use player view distance API below instead
|
||||
|
||||
+ Chunk chunk; // Paper
|
||||
for ( EntityHuman player : world.players )
|
||||
{
|
||||
int playerMaxRange = maxRange = Math.min( ( player.getViewDistance() << 4 ) - 8, maxRange ); // Paper - Use player view distance API
|
||||
@@ -0,0 +0,0 @@ public class ActivationRange
|
||||
{
|
||||
for ( int j1 = k; j1 <= l; ++j1 )
|
||||
{
|
||||
- if ( world.getWorld().isChunkLoaded( i1, j1 ) )
|
||||
+ if ( (chunk = MCUtil.getLoadedChunkWithoutMarkingActive(world, i1, j1 )) != null ) // Paper
|
||||
{
|
||||
- activateChunkEntities( world.getChunkAt( i1, j1 ) );
|
||||
+ activateChunkEntities( chunk ); // Paper
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
|
@ -11,7 +11,7 @@ Subject: [PATCH] Optimize Hoppers
|
|||
* Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index b412d02ada..cfeba61a32 100644
|
||||
index 31b2c71960..d818d39039 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||
|
|
|
@ -31,7 +31,7 @@ index 4048937c63..680764b342 100644
|
|||
public BaseBlockPosition(int i, int j, int k) {
|
||||
this.a = i;
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index 5ed34cf7e3..f4ed98d2d9 100644
|
||||
index 5c5f19b4b4..d81e2dc1c5 100644
|
||||
--- a/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 {
|
||||
|
@ -52,7 +52,7 @@ index 5ed34cf7e3..f4ed98d2d9 100644
|
|||
public MutableBlockPosition() {
|
||||
this(0, 0, 0);
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 36def82bca..0e84fd283d 100644
|
||||
index 38ef8ab6ad..a9c5a0b6f8 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Option to prevent armor stands from doing entity lookups
|
|||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 1bfa9ad567..4a89d8bedb 100644
|
||||
index 249af8b4c6..4fbafb5bf2 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Prevent Mob AI Rules from Loading Chunks
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 84df69a00d..63e7ba9a9a 100644
|
||||
index c68cef1677..f81985a847 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Prevent Pathfinding out of World Border
|
|||
This prevents Entities from trying to run outside of the World Border
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
index a8b070ed32..452da80f11 100644
|
||||
index 7a4bc0fcc3..efdfa7195c 100644
|
||||
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
@@ -0,0 +0,0 @@ public abstract class NavigationAbstract {
|
||||
|
|
|
@ -1,123 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 10 Sep 2018 23:52:28 -0400
|
||||
Subject: [PATCH] Prevent pathfinding from loading chunks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
index 4023253f42..113fd9a50f 100644
|
||||
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
@@ -0,0 +0,0 @@ public abstract class NavigationAbstract {
|
||||
protected long n;
|
||||
protected PathfinderAbstract o;
|
||||
private BlockPosition q;
|
||||
- private Pathfinder r;
|
||||
+ private Pathfinder r; public Pathfinder getPathfinder() { return r; } // Paper - OBFHELPER
|
||||
|
||||
+ private void setWorld() { if (getPathfinder() != null && getPathfinder().getPathfinder() != null) getPathfinder().getPathfinder().world = getEntity().world; } // Paper
|
||||
public NavigationAbstract(EntityInsentient entityinsentient, World world) {
|
||||
this.a = entityinsentient;
|
||||
this.b = world;
|
||||
this.p = entityinsentient.getAttributeInstance(GenericAttributes.FOLLOW_RANGE);
|
||||
this.r = this.a();
|
||||
+ setWorld(); // Paper
|
||||
}
|
||||
|
||||
public BlockPosition i() {
|
||||
@@ -0,0 +0,0 @@ public abstract class NavigationAbstract {
|
||||
}
|
||||
|
||||
public void d() {
|
||||
+ setWorld(); // Paper
|
||||
++this.e;
|
||||
if (this.m) {
|
||||
this.l();
|
||||
diff --git a/src/main/java/net/minecraft/server/Pathfinder.java b/src/main/java/net/minecraft/server/Pathfinder.java
|
||||
index 04c71ac0ef..6e583356ce 100644
|
||||
--- a/src/main/java/net/minecraft/server/Pathfinder.java
|
||||
+++ b/src/main/java/net/minecraft/server/Pathfinder.java
|
||||
@@ -0,0 +0,0 @@ public class Pathfinder {
|
||||
private final Path a = new Path();
|
||||
private final Set<PathPoint> b = Sets.newHashSet();
|
||||
private final PathPoint[] c = new PathPoint[32];
|
||||
- private PathfinderAbstract d;
|
||||
+ private PathfinderAbstract d; public PathfinderAbstract getPathfinder() { return d; } // Paper - OBFHELPER
|
||||
|
||||
public Pathfinder(PathfinderAbstract pathfinderabstract) {
|
||||
this.d = pathfinderabstract;
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderAbstract.java b/src/main/java/net/minecraft/server/PathfinderAbstract.java
|
||||
index ba7fe359fe..6716280146 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderAbstract.java
|
||||
@@ -0,0 +0,0 @@ package net.minecraft.server;
|
||||
public abstract class PathfinderAbstract {
|
||||
protected IBlockAccess a;
|
||||
protected EntityInsentient b;
|
||||
+ public World world; // Paper
|
||||
protected final IntHashMap<PathPoint> c = new IntHashMap<PathPoint>();
|
||||
protected int d;
|
||||
protected int e;
|
||||
@@ -0,0 +0,0 @@ public abstract class PathfinderAbstract {
|
||||
|
||||
public void a(IBlockAccess iblockaccess, EntityInsentient entityinsentient) {
|
||||
this.a = iblockaccess;
|
||||
+ if (iblockaccess instanceof World) world = (World) iblockaccess; // Paper
|
||||
this.b = entityinsentient;
|
||||
this.c.c();
|
||||
this.d = MathHelper.d(entityinsentient.width + 1.0F);
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java
|
||||
index 64e0b08170..93f3d2e363 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderNormal.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderNormal.java
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
BlockPosition blockposition2 = new BlockPosition(this.b);
|
||||
PathType pathtype1 = this.a(this.b, blockposition2.getX(), i, blockposition2.getZ());
|
||||
if (this.b.a(pathtype1) < 0.0F) {
|
||||
- HashSet hashset = Sets.newHashSet();
|
||||
+ HashSet<BlockPosition> hashset = Sets.newHashSet(); // Paper - decompile fix
|
||||
hashset.add(new BlockPosition(this.b.getBoundingBox().a, (double)i, this.b.getBoundingBox().c));
|
||||
hashset.add(new BlockPosition(this.b.getBoundingBox().a, (double)i, this.b.getBoundingBox().f));
|
||||
hashset.add(new BlockPosition(this.b.getBoundingBox().d, (double)i, this.b.getBoundingBox().c));
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
}
|
||||
|
||||
public PathType a(IBlockAccess iblockaccess, int i, int jx, int k, EntityInsentient entityinsentient, int l, int i1, int j1, boolean flag, boolean flag1) {
|
||||
- EnumSet enumset = EnumSet.noneOf(PathType.class);
|
||||
+ EnumSet<PathType> enumset = EnumSet.noneOf(PathType.class); // Paper - decompile fix
|
||||
PathType pathtype = PathType.BLOCKED;
|
||||
double d0 = (double)entityinsentient.width / 2.0D;
|
||||
BlockPosition blockposition = new BlockPosition(entityinsentient);
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
public PathType a(IBlockAccess iblockaccess, int i, int jx, int k) {
|
||||
PathType pathtype = this.b(iblockaccess, i, jx, k);
|
||||
if (pathtype == PathType.OPEN && jx >= 1) {
|
||||
- Block block = iblockaccess.getType(new BlockPosition(i, jx - 1, k)).getBlock();
|
||||
+ Block block = world.getBlockIfLoaded(new BlockPosition(i, jx - 1, k)); // Paper
|
||||
+ if (block == null) return PathType.BLOCKED; // Paper
|
||||
PathType pathtype1 = this.b(iblockaccess, i, jx - 1, k);
|
||||
pathtype = pathtype1 != PathType.WALKABLE && pathtype1 != PathType.OPEN && pathtype1 != PathType.WATER && pathtype1 != PathType.LAVA ? PathType.WALKABLE : PathType.OPEN;
|
||||
if (pathtype1 == PathType.DAMAGE_FIRE || block == Blocks.MAGMA_BLOCK) {
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
for(int l = -1; l <= 1; ++l) {
|
||||
for(int i1 = -1; i1 <= 1; ++i1) {
|
||||
if (l != 0 || i1 != 0) {
|
||||
- Block block = iblockaccess.getType(blockposition$b.f(l + i, jx, i1 + k)).getBlock();
|
||||
- if (block == Blocks.CACTUS) {
|
||||
+ Block block = world.getBlockIfLoaded(blockposition$b.f(l + i, jx, i1 + k)); // Paper
|
||||
+ if (block == null) pathtype = PathType.BLOCKED; // Paper
|
||||
+ else if (block == Blocks.CACTUS) { // Paper
|
||||
pathtype = PathType.DANGER_CACTUS;
|
||||
} else if (block == Blocks.FIRE) {
|
||||
pathtype = PathType.DANGER_FIRE;
|
||||
@@ -0,0 +0,0 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
|
||||
protected PathType b(IBlockAccess iblockaccess, int i, int jx, int k) {
|
||||
BlockPosition blockposition = new BlockPosition(i, jx, k);
|
||||
- IBlockData iblockdata = iblockaccess.getType(blockposition);
|
||||
+ IBlockData iblockdata = world.getTypeIfLoaded(blockposition); // Paper
|
||||
+ if (iblockdata == null) return PathType.BLOCKED; // Paper
|
||||
Block block = iblockdata.getBlock();
|
||||
Material material = iblockdata.getMaterial();
|
||||
if (iblockdata.isAir()) {
|
||||
--
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] ProfileWhitelistVerifyEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index de549d20..6bdeb2cc 100644
|
||||
index de549d207c..6bdeb2cc90 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
|
|
@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result
|
|||
in corruption/dataloss.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index a547ee5c..8d345a05 100644
|
||||
index a547ee5ca1..8d345a0502 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
|
||||
|
@ -68,7 +68,7 @@ index a547ee5c..8d345a05 100644
|
|||
private boolean aT() {
|
||||
return System.nanoTime() - lastTick + catchupTime < TICK_TIME; // Paper - improved "are we lagging" check to match our own
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 06ce2af1..e61a6387 100644
|
||||
index 06ce2af1e6..e61a638752 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
@ -97,7 +97,7 @@ index 06ce2af1..e61a6387 100644
|
|||
// CraftBukkit start
|
||||
public void sendMessage(IChatBaseComponent[] iChatBaseComponents) {
|
||||
diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java
|
||||
index 947c43a5..f15fd9f3 100644
|
||||
index 947c43a5d0..f15fd9f370 100644
|
||||
--- a/src/main/java/org/spigotmc/RestartCommand.java
|
||||
+++ b/src/main/java/org/spigotmc/RestartCommand.java
|
||||
@@ -0,0 +0,0 @@ public class RestartCommand extends Command
|
||||
|
|
|
@ -19,7 +19,7 @@ may be some delay there, but region files are only copied on demand.
|
|||
This is highly experiemental so backup your world before relying on this to not modify it
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index ad031dedaa..b32e75ae9a 100644
|
||||
index 80bbdec480..4782ae8adc 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ import java.util.List;
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Restore vanlla default mob-spawn-range
|
|||
|
||||
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 87bc8e2d9c..d2942fd8e7 100644
|
||||
index 06d84a0b66..15abde4f5d 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -0,0 +0,0 @@ public class SpigotWorldConfig
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Send nearby packets from world player list not server list
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index a9b468fa..9a064d16 100644
|
||||
index a9b468facd..9a064d1618 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
@ -46,7 +46,7 @@ index a9b468fa..9a064d16 100644
|
|||
double d5 = d1 - entityplayer.locY;
|
||||
double d6 = d2 - entityplayer.locZ;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldManager.java b/src/main/java/net/minecraft/server/WorldManager.java
|
||||
index e26405d3..23f390c2 100644
|
||||
index e26405d341..23f390c221 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldManager.java
|
||||
@@ -0,0 +0,0 @@ public class WorldManager implements IWorldAccess {
|
||||
|
@ -95,7 +95,7 @@ index e26405d3..23f390c2 100644
|
|||
if (entityplayer != null && entityplayer.world == this.world && entityplayer.getId() != i) {
|
||||
double d0 = (double) blockposition.getX() - entityplayer.locX;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 9cba1822..14905fce 100644
|
||||
index 9cba1822bf..14905fceb0 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
|
@ -119,7 +119,7 @@ index 9cba1822..14905fce 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 52d36052..8565de51 100644
|
||||
index 52d36052b2..8565de51f4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -0,0 +0,0 @@ public class CraftWorld implements World {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Slime Pathfinder Events
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
|
||||
index 238f3c792..586b9a3a6 100644
|
||||
index 238f3c7926..586b9a3a66 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySlime.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
|
||||
@@ -0,0 +0,0 @@ public class EntitySlime extends EntityInsentient implements IMonster {
|
||||
|
@ -119,7 +119,7 @@ index 238f3c792..586b9a3a6 100644
|
|||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java
|
||||
index 18e7ef80a..8403c1e01 100644
|
||||
index 18e7ef80ac..8403c1e01c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java
|
||||
@@ -0,0 +0,0 @@ public class CraftSlime extends CraftMob implements Slime {
|
||||
|
|
|
@ -80,7 +80,7 @@ index 680764b342..25334377a2 100644
|
|||
public BaseBlockPosition d(BaseBlockPosition baseblockposition1) {
|
||||
return new BaseBlockPosition(this.getY() * baseblockposition1.getZ() - this.getZ() * baseblockposition1.getY(), this.getZ() * baseblockposition1.getX() - this.getX() * baseblockposition1.getZ(), this.getX() * baseblockposition1.getY() - this.getY() * baseblockposition1.getX());
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index 1dfd71df0a..986b1e13a5 100644
|
||||
index 7bd51b3578..9ce3cd9c9d 100644
|
||||
--- a/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 {
|
||||
|
|
|
@ -15,7 +15,7 @@ This seed will end up being saved to the world data file, so it is
|
|||
a permanent change in that it won't go back if you remove it from paper.yml
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index 4bb81a09a8..da710cc6fe 100644
|
||||
index 6a70e5f4f5..912c990404 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ import java.lang.reflect.Modifier;
|
||||
|
@ -72,7 +72,7 @@ index 81cda5df56..fb62320310 100644
|
|||
|
||||
if (j == 0) {
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldData.java b/src/main/java/net/minecraft/server/WorldData.java
|
||||
index a98bc4d0e1..c108b97b9b 100644
|
||||
index db07e5f9ec..1b188f96ef 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldData.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldData.java
|
||||
@@ -0,0 +0,0 @@ public class WorldData {
|
||||
|
|
|
@ -243,7 +243,7 @@ index 8d345a0502..6a3d5fdff4 100644
|
|||
|
||||
public KeyPair E() {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index a9906f03c9..2f2f301383 100644
|
||||
index e61a638752..de549d207c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Use an EnumMap for Chunk Height Maps
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 82d8aca47f..84df69a00d 100644
|
||||
index f4b26bd999..c68cef1677 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
|
Loading…
Reference in a new issue