Houston, we got a patch ()

* Houston, we got a patch

* is this the end of the beginning or the beginning of the end
This commit is contained in:
MiniDigger 2019-12-12 17:20:43 +01:00 committed by Shane Freeder
parent 806e192e26
commit 44d032f1e9
128 changed files with 1116 additions and 1172 deletions
Spigot-Server-Patches
0197-Tameable-getOwnerUniqueId-API.patch0293-Improve-death-events.patch0294-Allow-chests-to-be-placed-with-NBT-data.patch0295-Mob-Pathfinding-API.patch0296-Prevent-chunk-loading-from-Fluid-Flowing.patch0297-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch0298-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch0299-Prevent-mob-spawning-from-loading-generating-chunks.patch0300-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch0301-Implement-furnace-cook-speed-multiplier-API.patch0302-Support-Overriding-World-Seeds.patch0303-Optimize-Server-World-Map.patch0304-PreSpawnerSpawnEvent.patch0305-Catch-JsonParseException-in-Entity-and-TE-names.patch0306-Avoid-dimension-id-collisions.patch0307-Honor-EntityAgeable.ageLock.patch0308-Configurable-connection-throttle-kick-message.patch0309-Hook-into-CB-plugin-rewrites.patch0310-Allow-setting-the-vex-s-summoner.patch0311-Add-sun-related-API.patch0312-Check-Drowned-for-Villager-Aggression-Config.patch0313-Here-s-Johnny.patch0314-Turtle-API.patch0315-Limit-lightning-strike-effect-distance.patch0316-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch0317-Call-player-spectator-target-events.patch0318-Add-Velocity-IP-Forwarding-Support.patch0319-Add-more-Witch-API.patch0320-Fix-MC-93764.patch0321-Add-option-to-prevent-players-from-moving-into-unloa.patch0322-Reset-players-airTicks-on-respawn.patch0323-Strip-private-area-unicode-characters-from-signs.patch0324-Don-t-sleep-after-profile-lookups-if-not-needed.patch0325-Use-more-reasonable-thread-count-default-for-bootstr.patch0326-Optimize-World-Time-Updates.patch0327-Restore-custom-InventoryHolder-support.patch0328-Use-Vanilla-Minecart-Speeds.patch0329-Fix-SpongeAbsortEvent-handling.patch0330-Don-t-allow-digging-into-unloaded-chunks.patch0331-Optimize-redstone-algorithm.patch0332-force-entity-dismount-during-teleportation.patch0333-Book-Size-Limits.patch0333-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch0334-Make-the-default-permission-message-configurable.patch0335-Add-more-Zombie-API.patch0336-Prevent-rayTrace-from-loading-chunks.patch0337-Handle-Large-Packets-disconnecting-client.patch0338-Lazy-init-world-storage-in-CraftOfflinePlayer.patch0339-Add-PlayerConnectionCloseEvent.patch0340-Prevent-Enderman-from-loading-chunks.patch0341-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch0342-Fix-PlayerEditBookEvent.patch0343-Workaround-for-vehicle-tracking-issue-on-disconnect.patch0344-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch0345-Block-Entity-remove-from-being-called-on-Players.patch0346-BlockDestroyEvent.patch0347-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch0348-Fix-sign-edit-memory-leak.patch0349-Limit-Client-Sign-length-more.patch0350-Don-t-check-ConvertSigns-boolean-every-sign-save.patch0351-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch0352-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch0353-Set-Zombie-last-tick-at-start-of-drowning-process.patch0354-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch0355-Add-LivingEntity-getTargetEntity.patch0356-Use-proper-max-length-when-serialising-BungeeCord-te.patch0357-Entity-getEntitySpawnReason.patch0358-Update-entity-Metadata-for-all-tracked-players.patch0359-Fire-event-on-GS4-query.patch0360-Implement-PlayerPostRespawnEvent.patch0361-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch0362-Implement-getters-and-setters-for-EntityItem-owner-a.patch0363-Server-Tick-Events.patch0364-PlayerDeathEvent-getItemsToKeep.patch0365-Optimize-Captured-TileEntity-Lookup.patch0366-Add-Heightmap-API.patch0367-Mob-Spawner-API-Enhancements.patch0368-Per-Player-View-Distance-API-placeholders.patch0369-Fix-CB-call-to-changed-postToMainThread-method.patch0370-Fix-sounds-when-item-frames-are-modified-MC-123450.patch0371-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch0372-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch0373-Duplicate-UUID-Resolve-Option.patch0374-improve-CraftWorld-isChunkLoaded.patch0375-Configurable-Keep-Spawn-Loaded-range-per-world.patch0376-Fix-some-generation-concurrency-issues.patch0377-MC-114618-Fix-EntityAreaEffectCloud-from-going-negat.patch0378-ChunkMapDistance-CME.patch0379-Implement-CraftBlockSoundGroup.patch0380-Chunk-debug-command.patch0381-incremental-chunk-saving.patch0382-Catch-exceptions-from-dispenser-entity-spawns.patch0383-Show-blockstate-location-if-we-failed-to-read-it.patch0384-Log-other-thread-in-DataPaletteBlock-lock-failure.patch0385-Use-ChunkStatus-cache-when-saving-protochunks.patch0386-Anti-Xray.patch0387-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch0388-Configurable-projectile-relative-velocity.patch0389-Mark-entities-as-being-ticked-when-notifying-navigat.patch0390-offset-item-frame-ticking.patch

View file

@ -1,4 +1,4 @@
From eda073002e6ae458f54b520c7b6c600ab5bdad3a Mon Sep 17 00:00:00 2001 From 2d9fdd1cb99d883bc8c08484c733055f154d8b8d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 24 Feb 2018 01:14:55 -0500 Date: Sat, 24 Feb 2018 01:14:55 -0500
Subject: [PATCH] Tameable#getOwnerUniqueId API Subject: [PATCH] Tameable#getOwnerUniqueId API

View file

@ -1,4 +1,4 @@
From a6322d454a796a41b41c58f049dcbcda5ace0fcf Mon Sep 17 00:00:00 2001 From 7b45772c16bd065ecea3697a44803236cf706216 Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv> From: Phoenix616 <mail@moep.tv>
Date: Tue, 21 Aug 2018 01:39:35 +0100 Date: Tue, 21 Aug 2018 01:39:35 +0100
Subject: [PATCH] Improve death events Subject: [PATCH] Improve death events
@ -15,7 +15,7 @@ items and experience which is otherwise only properly possible by using
internal code. internal code.
diff --git a/src/main/java/net/minecraft/server/CombatTracker.java b/src/main/java/net/minecraft/server/CombatTracker.java diff --git a/src/main/java/net/minecraft/server/CombatTracker.java b/src/main/java/net/minecraft/server/CombatTracker.java
index 84c3ea9d00..f563a7b630 100644 index 6daa400d2..38fe29f8a 100644
--- a/src/main/java/net/minecraft/server/CombatTracker.java --- a/src/main/java/net/minecraft/server/CombatTracker.java
+++ b/src/main/java/net/minecraft/server/CombatTracker.java +++ b/src/main/java/net/minecraft/server/CombatTracker.java
@@ -175,6 +175,7 @@ public class CombatTracker { @@ -175,6 +175,7 @@ public class CombatTracker {
@ -27,10 +27,10 @@ index 84c3ea9d00..f563a7b630 100644
int i = this.f ? 300 : 100; int i = this.f ? 300 : 100;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 7811beb807..f9b097fd6f 100644 index 75343a438..b03316bc8 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1517,6 +1517,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -1503,6 +1503,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return false; return false;
} }
@ -38,19 +38,19 @@ index 7811beb807..f9b097fd6f 100644
public void a(Entity entity, int i, DamageSource damagesource) { public void a(Entity entity, int i, DamageSource damagesource) {
if (entity instanceof EntityPlayer) { if (entity instanceof EntityPlayer) {
CriterionTriggers.c.a((EntityPlayer) entity, this, damagesource); CriterionTriggers.c.a((EntityPlayer) entity, this, damagesource);
@@ -2410,6 +2411,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -2413,6 +2414,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.fallDistance = 0.0F; this.fallDistance = 0.0F;
} }
+ public void onKill(EntityLiving entityLiving) { this.b(entityLiving); } // Paper - OBFHELPER + public void onKill(EntityLiving entityLiving) { this.b(entityLiving); } // Paper - OBFHELPER
public void b(EntityLiving entityliving) {} public void b(EntityLiving entityliving) {}
protected void i(double d0, double d1, double d2) { protected void k(double d0, double d1, double d2) {
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index 85fc48371d..02595cfccd 100644 index b51662ee9..e6032e3ed 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java --- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -690,7 +690,8 @@ public class EntityArmorStand extends EntityLiving { @@ -706,7 +706,8 @@ public class EntityArmorStand extends EntityLiving {
@Override @Override
public void killEntity() { public void killEntity() {
@ -61,10 +61,10 @@ index 85fc48371d..02595cfccd 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
index e22e99df38..ca38ccf768 100644 index ac8eaffb9..7495af8e3 100644
--- a/src/main/java/net/minecraft/server/EntityFox.java --- a/src/main/java/net/minecraft/server/EntityFox.java
+++ b/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java
@@ -597,15 +597,25 @@ public class EntityFox extends EntityAnimal { @@ -571,15 +571,25 @@ public class EntityFox extends EntityAnimal {
} }
@Override @Override
@ -94,7 +94,7 @@ index e22e99df38..ca38ccf768 100644
public static boolean a(EntityFox entityfox, EntityLiving entityliving) { public static boolean a(EntityFox entityfox, EntityLiving entityliving) {
diff --git a/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java b/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java diff --git a/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java b/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java
index 2483cfd28a..2a988366cd 100644 index 80717ad9a..53aac5bcc 100644
--- a/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java --- a/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java
@@ -55,11 +55,19 @@ public abstract class EntityHorseChestedAbstract extends EntityHorseAbstract { @@ -55,11 +55,19 @@ public abstract class EntityHorseChestedAbstract extends EntityHorseAbstract {
@ -119,19 +119,19 @@ index 2483cfd28a..2a988366cd 100644
public void b(NBTTagCompound nbttagcompound) { public void b(NBTTagCompound nbttagcompound) {
super.b(nbttagcompound); super.b(nbttagcompound);
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index b09712ca91..1e53af2cce 100644 index ac85a5d23..c6bd68919 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java --- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -85,7 +85,7 @@ public abstract class EntityLiving extends Entity { @@ -89,7 +89,7 @@ public abstract class EntityLiving extends Entity {
protected float aT;
protected float aU;
protected float aV; protected float aV;
protected float aW; - protected int aW;
protected float aX; + protected int aW; protected int getKillCount() { return this.aW; } // Paper - OBFHELPER
- protected int aY;
+ protected int aY; protected int getKillCount() { return this.aY; } // Paper - OBFHELPER
public float lastDamage; public float lastDamage;
protected boolean jumping; protected boolean jumping;
public float bb; public float aZ;
@@ -128,6 +128,7 @@ public abstract class EntityLiving extends Entity { @@ -131,6 +131,7 @@ public abstract class EntityLiving extends Entity {
public boolean collides = true; public boolean collides = true;
public boolean canPickUpLoot; public boolean canPickUpLoot;
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
@ -139,7 +139,7 @@ index b09712ca91..1e53af2cce 100644
@Override @Override
public float getBukkitYaw() { public float getBukkitYaw() {
@@ -1185,13 +1186,17 @@ public abstract class EntityLiving extends Entity { @@ -1137,13 +1138,17 @@ public abstract class EntityLiving extends Entity {
if (this.getHealth() <= 0.0F) { if (this.getHealth() <= 0.0F) {
if (!this.f(damagesource)) { if (!this.f(damagesource)) {
@ -148,11 +148,11 @@ index b09712ca91..1e53af2cce 100644
+ //SoundEffect soundeffect = this.getSoundDeath(); + //SoundEffect soundeffect = this.getSoundDeath();
- if (flag1 && soundeffect != null) { - if (flag1 && soundeffect != null) {
- this.a(soundeffect, this.getSoundVolume(), this.cV()); - this.a(soundeffect, this.getSoundVolume(), this.dn());
- } - }
+ //if (flag1 && soundeffect != null) { +// if (flag1 && soundeffect != null) {
+ // this.a(soundeffect, this.getSoundVolume(), this.cV()); +// this.a(soundeffect, this.getSoundVolume(), this.dn());
+ //} +// }
+ this.silentDeath = !flag1; // mark entity as dying silently + this.silentDeath = !flag1; // mark entity as dying silently
+ // Paper end + // Paper end
@ -161,17 +161,17 @@ index b09712ca91..1e53af2cce 100644
} }
} else if (flag1) { } else if (flag1) {
this.c(damagesource); this.c(damagesource);
@@ -1329,6 +1334,7 @@ public abstract class EntityLiving extends Entity { @@ -1281,6 +1286,7 @@ public abstract class EntityLiving extends Entity {
Entity entity = damagesource.getEntity(); Entity entity = damagesource.getEntity();
EntityLiving entityliving = this.getKillingEntity(); EntityLiving entityliving = this.getKillingEntity();
+ /* // Paper - move down to make death event cancellable + /* // Paper - move down to make death event cancellable
if (this.aY >= 0 && entityliving != null) { if (this.aW >= 0 && entityliving != null) {
entityliving.a(this, this.aY, damagesource); entityliving.a(this, this.aW, damagesource);
} }
@@ -1340,14 +1346,32 @@ public abstract class EntityLiving extends Entity { @@ -1292,16 +1298,36 @@ public abstract class EntityLiving extends Entity {
if (this.isSleeping()) { if (this.isSleeping()) {
this.dy(); this.entityWakeup();
} }
+ */ // Paper + */ // Paper
@ -198,15 +198,7 @@ index b09712ca91..1e53af2cce 100644
+ } + }
+ // Paper end + // Paper end
+ +
boolean flag = false; this.f(entityliving);
- if (entityliving instanceof EntityWither) {
+ if (this.killed && entityliving instanceof EntityWither) {
if (this.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING)) {
BlockPosition blockposition = new BlockPosition(this.locX, this.locY, this.locZ);
IBlockData iblockdata = Blocks.WITHER_ROSE.getBlockData();
@@ -1366,12 +1390,15 @@ public abstract class EntityLiving extends Entity {
}
} }
+ if (this.killed) { // Paper + if (this.killed) { // Paper
@ -216,16 +208,29 @@ index b09712ca91..1e53af2cce 100644
} }
} }
@@ -1309,7 +1335,7 @@ public abstract class EntityLiving extends Entity {
if (!this.world.isClientSide) {
boolean flag = false;
- if (entityliving instanceof EntityWither) {
+ if (this.killed && entityliving instanceof EntityWither) { // Paper
if (this.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING)) {
BlockPosition blockposition = new BlockPosition(this);
IBlockData iblockdata = Blocks.WITHER_ROSE.getBlockData();
@@ -1330,7 +1356,8 @@ public abstract class EntityLiving extends Entity {
}
}
- protected void d(DamageSource damagesource) { - protected void d(DamageSource damagesource) {
+ protected org.bukkit.event.entity.EntityDeathEvent processDeath(DamageSource damagesource) { return d(damagesource); } // Paper - OBFHELPER + protected org.bukkit.event.entity.EntityDeathEvent processDeath(DamageSource damagesource) { return d(damagesource); } // Paper - OBFHELPER
+ protected org.bukkit.event.entity.EntityDeathEvent d(DamageSource damagesource) { // Paper + protected org.bukkit.event.entity.EntityDeathEvent d(DamageSource damagesource) { // Paper
Entity entity = damagesource.getEntity(); Entity entity = damagesource.getEntity();
int i; int i;
@@ -1384,21 +1411,24 @@ public abstract class EntityLiving extends Entity { @@ -1343,22 +1370,25 @@ public abstract class EntityLiving extends Entity {
boolean flag = this.lastDamageByPlayerTime > 0; boolean flag = this.lastDamageByPlayerTime > 0;
this.cF(); // CraftBukkit - from below // PAIL this.dropInventory(); // CraftBukkit - from below
+ org.bukkit.event.entity.EntityDeathEvent deathEvent; // Paper + org.bukkit.event.entity.EntityDeathEvent deathEvent; // Paper
if (this.isDropExperience() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) { if (this.isDropExperience() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
this.a(damagesource, flag); this.a(damagesource, flag);
@ -242,16 +247,17 @@ index b09712ca91..1e53af2cce 100644
+ this.postDeathDropItems(deathEvent); // Paper + this.postDeathDropItems(deathEvent); // Paper
+ this.drops = new ArrayList<>(); // Paper + this.drops = new ArrayList<>(); // Paper
- // this.cF();// CraftBukkit - moved up // this.dropInventory();// CraftBukkit - moved up
- this.dropExperience();
+ return deathEvent; // Paper + return deathEvent; // Paper
} }
protected void cF() {} protected void dropInventory() {}
+ protected void postDeathDropItems(org.bukkit.event.entity.EntityDeathEvent event) {} // Paper - method for post death logic that cannot be ran before the event is potentially cancelled + protected void postDeathDropItems(org.bukkit.event.entity.EntityDeathEvent event) {} // Paper - method for post death logic that cannot be ran before the event is potentially cancelled
protected void dropDeathLoot(DamageSource damagesource, int i, boolean flag) {} // CraftBukkit start
public int getExpReward() {
@@ -1449,6 +1479,7 @@ public abstract class EntityLiving extends Entity { @@ -1437,6 +1467,7 @@ public abstract class EntityLiving extends Entity {
return SoundEffects.ENTITY_GENERIC_HURT; return SoundEffects.ENTITY_GENERIC_HURT;
} }
@ -259,7 +265,7 @@ index b09712ca91..1e53af2cce 100644
@Nullable @Nullable
protected SoundEffect getSoundDeath() { protected SoundEffect getSoundDeath() {
return SoundEffects.ENTITY_GENERIC_DEATH; return SoundEffects.ENTITY_GENERIC_DEATH;
@@ -1898,10 +1929,12 @@ public abstract class EntityLiving extends Entity { @@ -1919,10 +1950,12 @@ public abstract class EntityLiving extends Entity {
} }
@ -268,12 +274,12 @@ index b09712ca91..1e53af2cce 100644
return 1.0F; return 1.0F;
} }
+ public float getSoundPitch() { return cV();} // Paper - OBFHELPER + public float getSoundPitch() { return dn();} // Paper - OBFHELPER
protected float cV() { protected float dn() {
return this.isBaby() ? (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.5F : (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F; return this.isBaby() ? (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.5F : (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F;
} }
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 7e37164c0e..1b35e6c478 100644 index bb2a0b7e6..26096afbe 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -75,6 +75,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -75,6 +75,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -303,7 +309,7 @@ index 7e37164c0e..1b35e6c478 100644
// SPIGOT-943 - only call if they have an inventory open // SPIGOT-943 - only call if they have an inventory open
if (this.activeContainer != this.defaultContainer) { if (this.activeContainer != this.defaultContainer) {
@@ -686,8 +699,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -669,8 +682,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} }
} }
} }
@ -324,10 +330,10 @@ index 7e37164c0e..1b35e6c478 100644
} }
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java
index 73cb64e09d..9f317ff2e8 100644 index 90fdf89c8..b761a41dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java --- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java
@@ -806,6 +806,22 @@ public enum CraftSound { @@ -821,6 +821,22 @@ public enum CraftSound {
WEATHER_RAIN_ABOVE("weather.rain.above"); WEATHER_RAIN_ABOVE("weather.rain.above");
private final String minecraftKey; private final String minecraftKey;
@ -351,10 +357,10 @@ index 73cb64e09d..9f317ff2e8 100644
this.minecraftKey = minecraftKey; this.minecraftKey = minecraftKey;
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 2c99a1e9df..e9458dc65f 100644 index 9e0be10d7..ad70bd5ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1722,7 +1722,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1706,7 +1706,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
public void sendHealthUpdate() { public void sendHealthUpdate() {
@ -372,10 +378,10 @@ index 2c99a1e9df..e9458dc65f 100644
public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) { public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 84c292168e..dc15703fd4 100644 index 844781f4e..4fb1092ce 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -745,9 +745,16 @@ public class CraftEventFactory { @@ -744,9 +744,16 @@ public class CraftEventFactory {
public static EntityDeathEvent callEntityDeathEvent(EntityLiving victim, List<org.bukkit.inventory.ItemStack> drops) { public static EntityDeathEvent callEntityDeathEvent(EntityLiving victim, List<org.bukkit.inventory.ItemStack> drops) {
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity(); CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward()); EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
@ -392,7 +398,7 @@ index 84c292168e..dc15703fd4 100644
victim.expToDrop = event.getDroppedExp(); victim.expToDrop = event.getDroppedExp();
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) { for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
@@ -763,8 +770,15 @@ public class CraftEventFactory { @@ -762,8 +769,15 @@ public class CraftEventFactory {
CraftPlayer entity = victim.getBukkitEntity(); CraftPlayer entity = victim.getBukkitEntity();
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage); PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
event.setKeepInventory(keepInventory); event.setKeepInventory(keepInventory);
@ -408,7 +414,7 @@ index 84c292168e..dc15703fd4 100644
victim.keepLevel = event.getKeepLevel(); victim.keepLevel = event.getKeepLevel();
victim.newLevel = event.getNewLevel(); victim.newLevel = event.getNewLevel();
@@ -781,6 +795,31 @@ public class CraftEventFactory { @@ -780,6 +794,31 @@ public class CraftEventFactory {
return event; return event;
} }
@ -441,5 +447,5 @@ index 84c292168e..dc15703fd4 100644
* Server methods * Server methods
*/ */
-- --
2.23.0 2.17.1

View file

@ -1,14 +1,14 @@
From d59739ffc3b8c3667e141de7d76a1a1d8ea6c478 Mon Sep 17 00:00:00 2001 From 4b88c16c6b5fde287c99a5871c991940d9da6e34 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 8 Sep 2018 18:43:31 -0500 Date: Sat, 8 Sep 2018 18:43:31 -0500
Subject: [PATCH] Allow chests to be placed with NBT data 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 diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 1e23d77e72..0e164840fd 100644 index 627fa465c..df85f9df0 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java --- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -235,6 +235,7 @@ public final class ItemStack { @@ -240,6 +240,7 @@ public final class ItemStack {
enuminteractionresult = EnumInteractionResult.FAIL; // cancel placement enuminteractionresult = EnumInteractionResult.FAIL; // cancel placement
// PAIL: Remove this when MC-99075 fixed // PAIL: Remove this when MC-99075 fixed
placeEvent.getPlayer().updateInventory(); placeEvent.getPlayer().updateInventory();
@ -17,10 +17,10 @@ index 1e23d77e72..0e164840fd 100644
for (BlockState blockstate : blocks) { for (BlockState blockstate : blocks) {
blockstate.update(true, false); blockstate.update(true, false);
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
index 387e366130..6c10f0eb89 100644 index c4766f729..b22bd06e2 100644
--- a/src/main/java/net/minecraft/server/TileEntityChest.java --- a/src/main/java/net/minecraft/server/TileEntityChest.java
+++ b/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java
@@ -309,7 +309,7 @@ public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITic @@ -292,7 +292,7 @@ public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITic
// CraftBukkit start // CraftBukkit start
@Override @Override
public boolean isFilteredNBT() { public boolean isFilteredNBT() {
@ -30,5 +30,5 @@ index 387e366130..6c10f0eb89 100644
// CraftBukkit end // CraftBukkit end
} }
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 704ea2a6a85fe0adb3aced77df21d1a6407b8ffc Mon Sep 17 00:00:00 2001 From 04757b158488f08a5246b3278c20ab84447ce9f5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 9 Sep 2018 13:30:00 -0400 Date: Sun, 9 Sep 2018 13:30:00 -0400
Subject: [PATCH] Mob Pathfinding API Subject: [PATCH] Mob Pathfinding API
@ -7,7 +7,7 @@ Implements Pathfinding API for mobs
diff --git a/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java diff --git a/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java
new file mode 100644 new file mode 100644
index 0000000000..f68a07cb96 index 000000000..f68a07cb9
--- /dev/null --- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java +++ b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java
@@ -0,0 +1,111 @@ @@ -0,0 +1,111 @@
@ -123,10 +123,10 @@ index 0000000000..f68a07cb96
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
index be6aa59749..66e10108d6 100644 index bdd092e49..1cb03d464 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java --- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -72,7 +72,7 @@ public abstract class NavigationAbstract { @@ -80,7 +80,7 @@ public abstract class NavigationAbstract {
} }
@Nullable @Nullable
@ -135,7 +135,7 @@ index be6aa59749..66e10108d6 100644
return this.a(new BlockPosition(d0, d1, d2), i); return this.a(new BlockPosition(d0, d1, d2), i);
} }
@@ -92,7 +92,7 @@ public abstract class NavigationAbstract { @@ -100,7 +100,7 @@ public abstract class NavigationAbstract {
} }
@Nullable @Nullable
@ -144,7 +144,7 @@ index be6aa59749..66e10108d6 100644
return this.a(ImmutableSet.of(new BlockPosition(entity)), entity, 16, true, i); // Paper return this.a(ImmutableSet.of(new BlockPosition(entity)), entity, 16, true, i); // Paper
} }
@@ -156,6 +156,7 @@ public abstract class NavigationAbstract { @@ -164,6 +164,7 @@ public abstract class NavigationAbstract {
return pathentity != null && this.a(pathentity, d0); return pathentity != null && this.a(pathentity, d0);
} }
@ -152,17 +152,17 @@ index be6aa59749..66e10108d6 100644
public boolean a(@Nullable PathEntity pathentity, double d0) { public boolean a(@Nullable PathEntity pathentity, double d0) {
if (pathentity == null) { if (pathentity == null) {
this.c = null; this.c = null;
@@ -179,7 +180,7 @@ public abstract class NavigationAbstract { @@ -191,7 +192,7 @@ public abstract class NavigationAbstract {
} }
} }
- @Nullable - @Nullable
+ @Nullable public PathEntity getPathEntity() { return l(); } @Nullable // Paper - OBFHELPER + @Nullable public PathEntity getPathEntity() { return l(); } @Nullable // Paper - OBFHELPER
public PathEntity l() { public PathEntity k() {
return this.c; return this.c;
} }
@@ -265,6 +266,7 @@ public abstract class NavigationAbstract { @@ -281,6 +282,7 @@ public abstract class NavigationAbstract {
return this.c == null || this.c.b(); return !this.m();
} }
+ public void stopPathfinding() { o(); } // Paper - OBFHELPER + public void stopPathfinding() { o(); } // Paper - OBFHELPER
@ -170,7 +170,7 @@ index be6aa59749..66e10108d6 100644
this.c = null; this.c = null;
} }
diff --git a/src/main/java/net/minecraft/server/PathEntity.java b/src/main/java/net/minecraft/server/PathEntity.java diff --git a/src/main/java/net/minecraft/server/PathEntity.java b/src/main/java/net/minecraft/server/PathEntity.java
index 312352ef84..dcb4e25080 100644 index 312352ef8..dcb4e2508 100644
--- a/src/main/java/net/minecraft/server/PathEntity.java --- a/src/main/java/net/minecraft/server/PathEntity.java
+++ b/src/main/java/net/minecraft/server/PathEntity.java +++ b/src/main/java/net/minecraft/server/PathEntity.java
@@ -5,13 +5,14 @@ import javax.annotation.Nullable; @@ -5,13 +5,14 @@ import javax.annotation.Nullable;
@ -210,7 +210,7 @@ index 312352ef84..dcb4e25080 100644
return new Vec3D((double) pathpoint.a, (double) pathpoint.b, (double) pathpoint.c); return new Vec3D((double) pathpoint.a, (double) pathpoint.b, (double) pathpoint.c);
diff --git a/src/main/java/net/minecraft/server/PathPoint.java b/src/main/java/net/minecraft/server/PathPoint.java diff --git a/src/main/java/net/minecraft/server/PathPoint.java b/src/main/java/net/minecraft/server/PathPoint.java
index b1db95daa9..18cdd2a6f2 100644 index b1db95daa..18cdd2a6f 100644
--- a/src/main/java/net/minecraft/server/PathPoint.java --- a/src/main/java/net/minecraft/server/PathPoint.java
+++ b/src/main/java/net/minecraft/server/PathPoint.java +++ b/src/main/java/net/minecraft/server/PathPoint.java
@@ -2,9 +2,9 @@ package net.minecraft.server; @@ -2,9 +2,9 @@ package net.minecraft.server;
@ -227,7 +227,7 @@ index b1db95daa9..18cdd2a6f2 100644
public int d = -1; public int d = -1;
public float e; public float e;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
index 5bf1cd06fa..53c2d154ed 100644 index 5bf1cd06f..53c2d154e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
@@ -12,8 +12,11 @@ import org.bukkit.loot.LootTable; @@ -12,8 +12,11 @@ import org.bukkit.loot.LootTable;
@ -243,5 +243,5 @@ index 5bf1cd06fa..53c2d154ed 100644
public void setTarget(LivingEntity target) { public void setTarget(LivingEntity target) {
EntityInsentient entity = getHandle(); EntityInsentient entity = getHandle();
-- --
2.22.0 2.17.1

View file

@ -1,11 +1,11 @@
From 9a0285ff8bc70129a1256d0813806e88022e95da Mon Sep 17 00:00:00 2001 From 7600f648eac18172b02d46255fb5b67062c99bba Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 10 Sep 2018 23:36:16 -0400 Date: Mon, 10 Sep 2018 23:36:16 -0400
Subject: [PATCH] Prevent chunk loading from Fluid Flowing Subject: [PATCH] Prevent chunk loading from Fluid Flowing
diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
index 3e9433e283..4660b95389 100644 index 3099a5e65..376dca188 100644
--- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java --- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java
+++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java +++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
@@ -178,7 +178,8 @@ public abstract class FluidTypeFlowing extends FluidType { @@ -178,7 +178,8 @@ public abstract class FluidTypeFlowing extends FluidType {
@ -25,10 +25,10 @@ index 3e9433e283..4660b95389 100644
- IBlockData iblockdata1 = iworldreader.getType(blockposition1); - IBlockData iblockdata1 = iworldreader.getType(blockposition1);
+ IBlockData iblockdata1 = iworldreader.getTypeIfLoaded(blockposition1); // Paper + IBlockData iblockdata1 = iworldreader.getTypeIfLoaded(blockposition1); // Paper
+ if (iblockdata1 == null) continue; // Paper + if (iblockdata1 == null) continue; // Paper
Fluid fluid = iblockdata1.p(); Fluid fluid = iblockdata1.getFluid();
if (fluid.getType().a((FluidType) this) && this.a(enumdirection, (IBlockAccess) iworldreader, blockposition, iblockdata, blockposition1, iblockdata1)) { if (fluid.getType().a((FluidType) this) && this.a(enumdirection, (IBlockAccess) iworldreader, blockposition, iblockdata, blockposition1, iblockdata1)) {
@@ -322,11 +324,19 @@ public abstract class FluidTypeFlowing extends FluidType { @@ -322,11 +324,18 @@ public abstract class FluidTypeFlowing extends FluidType {
if (enumdirection1 != enumdirection) { if (enumdirection1 != enumdirection) {
BlockPosition blockposition2 = blockposition.shift(enumdirection1); BlockPosition blockposition2 = blockposition.shift(enumdirection1);
short short0 = a(blockposition1, blockposition2); short short0 = a(blockposition1, blockposition2);
@ -42,24 +42,23 @@ index 3e9433e283..4660b95389 100644
+ continue; + continue;
+ } + }
- return Pair.of(iblockdata1, iblockdata1.p()); - return Pair.of(iblockdata1, iblockdata1.getFluid());
- }); - });
+ pair = Pair.of(iblockdatax, iblockdatax.p()); + pair = Pair.of(iblockdatax, iblockdatax.getFluid());
+ short2objectmap.put(short0, pair); + short2objectmap.put(short0, pair);
+
+ } + }
+ // Paper end + // Paper end
IBlockData iblockdata1 = (IBlockData) pair.getFirst(); IBlockData iblockdata1 = (IBlockData) pair.getFirst();
Fluid fluid = (Fluid) pair.getSecond(); Fluid fluid = (Fluid) pair.getSecond();
@@ -398,11 +408,16 @@ public abstract class FluidTypeFlowing extends FluidType { @@ -398,11 +407,16 @@ public abstract class FluidTypeFlowing extends FluidType {
EnumDirection enumdirection = (EnumDirection) iterator.next(); EnumDirection enumdirection = (EnumDirection) iterator.next();
BlockPosition blockposition1 = blockposition.shift(enumdirection); BlockPosition blockposition1 = blockposition.shift(enumdirection);
short short0 = a(blockposition, blockposition1); short short0 = a(blockposition, blockposition1);
- Pair<IBlockData, Fluid> pair = (Pair) short2objectmap.computeIfAbsent(short0, (j) -> { - Pair<IBlockData, Fluid> pair = (Pair) short2objectmap.computeIfAbsent(short0, (j) -> {
- IBlockData iblockdata1 = iworldreader.getType(blockposition1); - IBlockData iblockdata1 = iworldreader.getType(blockposition1);
- -
- return Pair.of(iblockdata1, iblockdata1.p()); - return Pair.of(iblockdata1, iblockdata1.getFluid());
- }); - });
+ // Paper start + // Paper start
+ Pair pair = (Pair) short2objectmap.get(short0); + Pair pair = (Pair) short2objectmap.get(short0);
@ -67,7 +66,7 @@ index 3e9433e283..4660b95389 100644
+ IBlockData iblockdatax = iworldreader.getTypeIfLoaded(blockposition1); + IBlockData iblockdatax = iworldreader.getTypeIfLoaded(blockposition1);
+ if (iblockdatax == null) continue; + if (iblockdatax == null) continue;
+ +
+ pair = Pair.of(iblockdatax, iblockdatax.p()); + pair = Pair.of(iblockdatax, iblockdatax.getFluid());
+ short2objectmap.put(short0, pair); + short2objectmap.put(short0, pair);
+ } + }
+ // Paper end + // Paper end
@ -75,5 +74,5 @@ index 3e9433e283..4660b95389 100644
Fluid fluid = (Fluid) pair.getSecond(); Fluid fluid = (Fluid) pair.getSecond();
Fluid fluid1 = this.a(iworldreader, blockposition1, iblockdata1); Fluid fluid1 = this.a(iworldreader, blockposition1, iblockdata1);
-- --
2.22.0 2.17.1

View file

@ -1,11 +1,11 @@
From 34de30524211d83dc0fd34cab29214ee64d1e9a5 Mon Sep 17 00:00:00 2001 From 35dce37a959e9f4b9b98f03437efbc13ac47a19c Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <mikroskeem@mikroskeem.eu> From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Date: Wed, 12 Sep 2018 18:53:55 +0300 Date: Wed, 12 Sep 2018 18:53:55 +0300
Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values
diff --git a/src/main/java/net/minecraft/server/ArgumentBlock.java b/src/main/java/net/minecraft/server/ArgumentBlock.java diff --git a/src/main/java/net/minecraft/server/ArgumentBlock.java b/src/main/java/net/minecraft/server/ArgumentBlock.java
index 005ebec266..97d85f8451 100644 index 005ebec26..97d85f845 100644
--- a/src/main/java/net/minecraft/server/ArgumentBlock.java --- a/src/main/java/net/minecraft/server/ArgumentBlock.java
+++ b/src/main/java/net/minecraft/server/ArgumentBlock.java +++ b/src/main/java/net/minecraft/server/ArgumentBlock.java
@@ -43,7 +43,7 @@ public class ArgumentBlock { @@ -43,7 +43,7 @@ public class ArgumentBlock {
@ -32,7 +32,7 @@ index 005ebec266..97d85f8451 100644
this.s = this::l; this.s = this::l;
if (this.i.canRead() && this.i.peek() == '#') { if (this.i.canRead() && this.i.peek() == '#') {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index 6a6b80b5bd..dbb4e5258c 100644 index 1eede4bcc..8a9a48bb8 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -87,6 +87,12 @@ import org.bukkit.persistence.PersistentDataContainer; @@ -87,6 +87,12 @@ import org.bukkit.persistence.PersistentDataContainer;
@ -283,10 +283,10 @@ index 6a6b80b5bd..dbb4e5258c 100644
// Paper end // Paper end
)); ));
} }
@@ -1482,4 +1626,147 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -1460,4 +1604,147 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return spigot;
} }
// Spigot end // Paper end
+ // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values + // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values
+ @Override + @Override
+ @SuppressWarnings("deprecation") + @SuppressWarnings("deprecation")
@ -432,5 +432,5 @@ index 6a6b80b5bd..dbb4e5258c 100644
+ // Paper end + // Paper end
} }
-- --
2.23.0 2.17.1

View file

@ -1,11 +1,11 @@
From a52dd455c6715e7f965b20e0a7fc6eb099534676 Mon Sep 17 00:00:00 2001 From 98a6492a6e15d8b51e48189c1d71aa7f1dbf34f7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 10 Sep 2018 23:56:36 -0400 Date: Mon, 10 Sep 2018 23:56:36 -0400
Subject: [PATCH] Prevent Mob AI Rules from Loading Chunks Subject: [PATCH] Prevent Mob AI Rules from Loading Chunks
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
index bf8ca9b32a..7ccb3d5c06 100644 index bf8ca9b32..7ccb3d5c0 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java --- a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
@@ -12,11 +12,13 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget { @@ -12,11 +12,13 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget {
@ -52,26 +52,27 @@ index bf8ca9b32a..7ccb3d5c06 100644
return ichunkaccess == null ? false : ichunkaccess.getType(blockposition).getBlock() == this.g && ichunkaccess.getType(blockposition.up()).isAir() && ichunkaccess.getType(blockposition.up(2)).isAir(); return ichunkaccess == null ? false : ichunkaccess.getType(blockposition).getBlock() == this.g && ichunkaccess.getType(blockposition.up()).isAir() && ichunkaccess.getType(blockposition.up(2)).isAir();
} }
diff --git a/src/main/java/net/minecraft/server/RandomPositionGenerator.java b/src/main/java/net/minecraft/server/RandomPositionGenerator.java diff --git a/src/main/java/net/minecraft/server/RandomPositionGenerator.java b/src/main/java/net/minecraft/server/RandomPositionGenerator.java
index 6e4da70b7e..643dc0241d 100644 index d4cd50918..d6a3b9933 100644
--- a/src/main/java/net/minecraft/server/RandomPositionGenerator.java --- a/src/main/java/net/minecraft/server/RandomPositionGenerator.java
+++ b/src/main/java/net/minecraft/server/RandomPositionGenerator.java +++ b/src/main/java/net/minecraft/server/RandomPositionGenerator.java
@@ -99,6 +99,7 @@ public class RandomPositionGenerator { @@ -109,6 +109,7 @@ public class RandomPositionGenerator {
} }
blockposition2 = new BlockPosition((double) l + entitycreature.locX, (double) i1 + entitycreature.locY, (double) j1 + entitycreature.locZ); blockposition2 = new BlockPosition((double) k1 + entitycreature.locX(), (double) l1 + entitycreature.locY(), (double) i2 + entitycreature.locZ());
+ if (!entitycreature.world.isLoaded(blockposition2)) continue; // Paper + if (!entitycreature.world.isLoaded(blockposition2)) continue; // Paper
if ((!flag1 || entitycreature.a(blockposition2)) && navigationabstract.a(blockposition2)) { if (blockposition2.getY() >= 0 && blockposition2.getY() <= entitycreature.world.getBuildHeight() && (!flag3 || entitycreature.a(blockposition2)) && (!flag2 || navigationabstract.a(blockposition2))) {
if (!flag) { if (flag1) {
blockposition2 = a(blockposition2, entitycreature); blockposition2 = a(blockposition2, random.nextInt(l + 1) + i1, entitycreature.world.getBuildHeight(), (blockposition3) -> {
@@ -165,6 +166,7 @@ public class RandomPositionGenerator { @@ -116,7 +117,8 @@ public class RandomPositionGenerator {
} });
}
private static boolean b(BlockPosition blockposition, EntityCreature entitycreature) { - if (flag || !entitycreature.world.getFluid(blockposition2).a(TagsFluid.WATER)) {
- return entitycreature.world.getFluid(blockposition).a(TagsFluid.WATER); + Fluid fluid = entitycreature.world.getFluidIfLoaded(blockposition2); // Paper
+ Fluid fluid = entitycreature.world.getFluidIfLoaded(blockposition); // Paper + if (flag || (fluid != null && !fluid.a(TagsFluid.WATER))) { // Paper
+ return fluid != null && fluid.a(TagsFluid.WATER); // Paper PathType pathtype = PathfinderNormal.b(entitycreature.world, blockposition2.getX(), blockposition2.getY(), blockposition2.getZ());
}
} if (entitycreature.a(pathtype) == 0.0F) {
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From f7605c9bff97df59f2c1358da42b9323c190506f Mon Sep 17 00:00:00 2001 From 9df1428b0a73a35c6958d1019b4c4c85fbf503ff Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 12 Sep 2018 21:12:57 -0400 Date: Wed, 12 Sep 2018 21:12:57 -0400
Subject: [PATCH] Prevent mob spawning from loading/generating chunks Subject: [PATCH] Prevent mob spawning from loading/generating chunks
@ -6,7 +6,7 @@ Subject: [PATCH] Prevent mob spawning from loading/generating chunks
also prevents if out of world border bounds also prevents if out of world border bounds
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 30da877d53..c6ea37ffbd 100644 index 487114367..bcca7faed 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java --- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -25,9 +25,9 @@ public final class SpawnerCreature { @@ -25,9 +25,9 @@ public final class SpawnerCreature {
@ -23,13 +23,13 @@ index 30da877d53..c6ea37ffbd 100644
@@ -55,7 +55,7 @@ public final class SpawnerCreature { @@ -55,7 +55,7 @@ public final class SpawnerCreature {
if (entityhuman != null) { if (entityhuman != null) {
double d0 = entityhuman.e((double) f, (double) k, (double) f1); double d0 = entityhuman.g((double) f, (double) k, (double) f1);
- if (d0 > 576.0D && !blockposition.a((IPosition) (new Vec3D((double) f, (double) k, (double) f1)), 24.0D)) { - if (d0 > 576.0D && !blockposition.a((IPosition) (new Vec3D((double) f, (double) k, (double) f1)), 24.0D)) {
+ if (d0 > 576.0D && !blockposition.a((IPosition) (new Vec3D((double) f, (double) k, (double) f1)), 24.0D) && world.isLoadedAndInBounds(blockposition_mutableblockposition)) { // Paper - don't load chunks for mob spawn + if (d0 > 576.0D && !blockposition.a((IPosition) (new Vec3D((double) f, (double) k, (double) f1)), 24.0D) && world.isLoadedAndInBounds(blockposition_mutableblockposition)) { // Paper - don't load chunks for mob spawn
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition_mutableblockposition); ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition_mutableblockposition);
if (Objects.equals(chunkcoordintpair, chunk.getPos()) || world.getChunkProvider().a(chunkcoordintpair)) { if (Objects.equals(chunkcoordintpair, chunk.getPos()) || worldserver.getChunkProvider().a(chunkcoordintpair)) {
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From a1855af5bfbd26f05e23c83c4c1c8accd9b8aa08 Mon Sep 17 00:00:00 2001 From 91a26f5f31fbdf3cf220efe39c89eb72e51ecbf2 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 12 Sep 2018 21:47:01 -0400 Date: Wed, 12 Sep 2018 21:47:01 -0400
Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning
@ -6,28 +6,28 @@ Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning
Uses an EnumMap as well as a Set paired List for O(1) contains calls. Uses an EnumMap as well as a Set paired List for O(1) contains calls.
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 65daa76bc1..a86ece8344 100644 index 253890e53..0102a170d 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
@@ -39,7 +39,7 @@ public abstract class BiomeBase { @@ -40,7 +40,7 @@ public abstract class BiomeBase {
protected final Map<WorldGenStage.Decoration, List<WorldGenFeatureConfigured<?>>> r = Maps.newHashMap(); protected final Map<WorldGenStage.Decoration, List<WorldGenFeatureConfigured<?, ?>>> r = Maps.newHashMap();
protected final List<WorldGenFeatureConfigured<?>> s = Lists.newArrayList(); protected final List<WorldGenFeatureConfigured<?, ?>> s = Lists.newArrayList();
protected final Map<StructureGenerator<?>, WorldGenFeatureConfiguration> t = Maps.newHashMap(); protected final Map<StructureGenerator<?>, WorldGenFeatureConfiguration> t = Maps.newHashMap();
- private final Map<EnumCreatureType, List<BiomeBase.BiomeMeta>> u = Maps.newHashMap(); - private final Map<EnumCreatureType, List<BiomeBase.BiomeMeta>> v = Maps.newHashMap();
+ private final java.util.EnumMap<EnumCreatureType, List<BiomeBase.BiomeMeta>> u = Maps.newEnumMap(EnumCreatureType.class); // Paper + private final java.util.EnumMap<EnumCreatureType, List<BiomeBase.BiomeMeta>> v = Maps.newEnumMap(EnumCreatureType.class); // Paper
private final ThreadLocal<Long2FloatLinkedOpenHashMap> v = ThreadLocal.withInitial(() -> { private final ThreadLocal<Long2FloatLinkedOpenHashMap> w = ThreadLocal.withInitial(() -> {
return (Long2FloatLinkedOpenHashMap) SystemUtils.a(() -> { return (Long2FloatLinkedOpenHashMap) SystemUtils.a(() -> {
Long2FloatLinkedOpenHashMap long2floatlinkedopenhashmap = new Long2FloatLinkedOpenHashMap(1024, 0.25F) { Long2FloatLinkedOpenHashMap long2floatlinkedopenhashmap = new Long2FloatLinkedOpenHashMap(1024, 0.25F) {
@@ -96,7 +96,7 @@ public abstract class BiomeBase { @@ -92,7 +92,7 @@ public abstract class BiomeBase {
for (j = 0; j < i; ++j) { for (j = 0; j < i; ++j) {
EnumCreatureType enumcreaturetype = aenumcreaturetype[j]; EnumCreatureType enumcreaturetype = aenumcreaturetype[j];
- this.u.put(enumcreaturetype, Lists.newArrayList()); - this.v.put(enumcreaturetype, Lists.newArrayList());
+ this.u.put(enumcreaturetype, new MobList()); // Paper + this.v.put(enumcreaturetype, new MobList()); // Paper
} }
} else { } else {
@@ -324,6 +324,38 @@ public abstract class BiomeBase { @@ -327,6 +327,38 @@ public abstract class BiomeBase {
return this.m; return this.m;
} }
@ -67,5 +67,5 @@ index 65daa76bc1..a86ece8344 100644
@Nullable @Nullable
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 5015d83a985138b9e361b014247e9b1ba72ff012 Mon Sep 17 00:00:00 2001 From 253390f4641cc1babe1d2d77815a1308708f91c3 Mon Sep 17 00:00:00 2001
From: Tassu <git@tassu.me> From: Tassu <git@tassu.me>
Date: Thu, 13 Sep 2018 08:45:21 +0300 Date: Thu, 13 Sep 2018 08:45:21 +0300
Subject: [PATCH] Implement furnace cook speed multiplier API Subject: [PATCH] Implement furnace cook speed multiplier API
@ -6,7 +6,7 @@ Subject: [PATCH] Implement furnace cook speed multiplier API
Signed-off-by: Tassu <git@tassu.me> Signed-off-by: Tassu <git@tassu.me>
diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java
index 2bbd3663a7..55b5646103 100644 index 0419aea92..04849c3da 100644
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
@@ -8,6 +8,7 @@ import java.util.Map; @@ -8,6 +8,7 @@ import java.util.Map;
@ -57,7 +57,7 @@ index 2bbd3663a7..55b5646103 100644
this.cookTimeTotal = this.getRecipeCookingTime(); this.cookTimeTotal = this.getRecipeCookingTime();
this.burn(irecipe); this.burn(irecipe);
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java
index 9cc67915ca..1ce10ea049 100644 index 9cc67915c..1ce10ea04 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java --- a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java
@@ -63,4 +63,18 @@ public class CraftFurnace<T extends TileEntityFurnace> extends CraftContainer<T> @@ -63,4 +63,18 @@ public class CraftFurnace<T extends TileEntityFurnace> extends CraftContainer<T>
@ -80,5 +80,5 @@ index 9cc67915ca..1ce10ea049 100644
+ // Paper end + // Paper end
} }
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 044c8aa6b91e58d8fc010647b88818f4b52ec6d7 Mon Sep 17 00:00:00 2001 From 0eed64a0b976bed022de7e3687e5ba6b90175684 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 17 Sep 2018 23:05:31 -0400 Date: Mon, 17 Sep 2018 23:05:31 -0400
Subject: [PATCH] Support Overriding World Seeds Subject: [PATCH] Support Overriding World Seeds
@ -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 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 diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index a13c8c68b6..ea3695b021 100644 index 214b577b3..559e6b42b 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -11,6 +11,7 @@ import java.lang.reflect.Modifier; @@ -11,6 +11,7 @@ import java.lang.reflect.Modifier;
@ -25,8 +25,8 @@ index a13c8c68b6..ea3695b021 100644
+import java.util.Set; +import java.util.Set;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.regex.Pattern;
@@ -20,6 +21,7 @@ import com.google.common.collect.Lists; @@ -19,6 +20,7 @@ import com.google.common.collect.Lists;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command; import org.bukkit.command.Command;
@ -34,7 +34,7 @@ index a13c8c68b6..ea3695b021 100644
import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import co.aikar.timings.Timings; import co.aikar.timings.Timings;
@@ -334,4 +336,23 @@ public class PaperConfig { @@ -310,4 +312,23 @@ public class PaperConfig {
} }
tabSpamLimit = getInt("settings.spam-limiter.tab-spam-limit", tabSpamLimit); tabSpamLimit = getInt("settings.spam-limiter.tab-spam-limit", tabSpamLimit);
} }
@ -59,10 +59,10 @@ index a13c8c68b6..ea3695b021 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 8b08ebb7d5..ab72e5cd36 100644 index 206a4ad64..ec575bc8f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -372,7 +372,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -377,7 +377,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.convertWorld(name); // Run conversion now this.convertWorld(name); // Run conversion now
org.bukkit.generator.ChunkGenerator gen = this.server.getGenerator(name); org.bukkit.generator.ChunkGenerator gen = this.server.getGenerator(name);
@ -72,10 +72,10 @@ index 8b08ebb7d5..ab72e5cd36 100644
if (j == 0) { if (j == 0) {
diff --git a/src/main/java/net/minecraft/server/WorldData.java b/src/main/java/net/minecraft/server/WorldData.java diff --git a/src/main/java/net/minecraft/server/WorldData.java b/src/main/java/net/minecraft/server/WorldData.java
index cbf10c0bce..ca4c314589 100644 index 2d4691b7b..4e35846a3 100644
--- a/src/main/java/net/minecraft/server/WorldData.java --- a/src/main/java/net/minecraft/server/WorldData.java
+++ b/src/main/java/net/minecraft/server/WorldData.java +++ b/src/main/java/net/minecraft/server/WorldData.java
@@ -115,7 +115,7 @@ public class WorldData { @@ -116,7 +116,7 @@ public class WorldData {
this.d = nbttagcompound2.getBoolean("Snapshot"); this.d = nbttagcompound2.getBoolean("Snapshot");
} }
@ -85,10 +85,10 @@ index cbf10c0bce..ca4c314589 100644
String s = nbttagcompound.getString("generatorName"); String s = nbttagcompound.getString("generatorName");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 74cf88f8f0..b0f4ef1b48 100644 index 8636283fd..1ca9a7724 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -990,7 +990,7 @@ public final class CraftServer implements Server { @@ -991,7 +991,7 @@ public final class CraftServer implements Server {
WorldSettings worldSettings; WorldSettings worldSettings;
// See MinecraftServer.a(String, String, long, WorldType, JsonElement) // See MinecraftServer.a(String, String, long, WorldType, JsonElement)
if (worlddata == null) { if (worlddata == null) {
@ -98,5 +98,5 @@ index 74cf88f8f0..b0f4ef1b48 100644
if (parsedSettings.isJsonObject()) { if (parsedSettings.isJsonObject()) {
worldSettings.setGeneratorSettings(parsedSettings.getAsJsonObject()); worldSettings.setGeneratorSettings(parsedSettings.getAsJsonObject());
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 7fca1b3434f57de370ca948b5d846262a058c9bb Mon Sep 17 00:00:00 2001 From 1f1b2b4fe376c15fb7fb86336dea14e707193662 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 17 Sep 2018 23:37:31 -0400 Date: Mon, 17 Sep 2018 23:37:31 -0400
Subject: [PATCH] Optimize Server World Map Subject: [PATCH] Optimize Server World Map
@ -21,7 +21,7 @@ known NMS used methods, but we can add more if naughty plugins are found later.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldMap.java b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldMap.java b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java
new file mode 100644 new file mode 100644
index 0000000000..6bb2f98b45 index 000000000..6bb2f98b4
--- /dev/null --- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java
@@ -0,0 +1,191 @@ @@ -0,0 +1,191 @@
@ -217,7 +217,7 @@ index 0000000000..6bb2f98b45
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index de423de63b..a5447c6501 100644 index ec575bc8f..3120f91de 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -88,7 +88,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -88,7 +88,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -229,7 +229,7 @@ index de423de63b..a5447c6501 100644
private PlayerList playerList; private PlayerList playerList;
private volatile boolean isRunning = true; private volatile boolean isRunning = true;
private volatile boolean isRestarting = false; // Paper - flag to signify we're attempting to restart private volatile boolean isRestarting = false; // Paper - flag to signify we're attempting to restart
@@ -451,7 +451,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -458,7 +458,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} }
} }
this.a(this.getDifficulty(), true); this.a(this.getDifficulty(), true);
@ -238,7 +238,7 @@ index de423de63b..a5447c6501 100644
this.loadSpawn(worldserver.getChunkProvider().playerChunkMap.worldLoadListener, worldserver); this.loadSpawn(worldserver.getChunkProvider().playerChunkMap.worldLoadListener, worldserver);
this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldLoadEvent(worldserver.getWorld())); this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldLoadEvent(worldserver.getWorld()));
} }
@@ -598,7 +598,6 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -606,7 +606,6 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// this.nextTick = SystemUtils.getMonotonicMillis() + 10L; // this.nextTick = SystemUtils.getMonotonicMillis() + 10L;
this.executeModerately(); this.executeModerately();
// Iterator iterator = DimensionManager.a().iterator(); // Iterator iterator = DimensionManager.a().iterator();
@ -247,5 +247,5 @@ index de423de63b..a5447c6501 100644
DimensionManager dimensionmanager = worldserver.worldProvider.getDimensionManager(); DimensionManager dimensionmanager = worldserver.worldProvider.getDimensionManager();
ForcedChunk forcedchunk = (ForcedChunk) worldserver.getWorldPersistentData().b(ForcedChunk::new, "chunks"); ForcedChunk forcedchunk = (ForcedChunk) worldserver.getWorldPersistentData().b(ForcedChunk::new, "chunks");
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From ddb688632f12d31fd2699f1af36ad123f4a0a153 Mon Sep 17 00:00:00 2001 From bf51abc6cd8762190a3fdfd17d8812ad2678002f Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv> From: Phoenix616 <mail@moep.tv>
Date: Tue, 18 Sep 2018 23:53:23 +0100 Date: Tue, 18 Sep 2018 23:53:23 +0100
Subject: [PATCH] PreSpawnerSpawnEvent Subject: [PATCH] PreSpawnerSpawnEvent
@ -9,24 +9,24 @@ SpawnerSpawnEvent gets called instead of the CreatureSpawnEvent for
spawners. spawners.
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
index 6f5d8b0315..079099e308 100644 index fe8bc7f75..90ca1ee14 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -110,11 +110,11 @@ public abstract class MobSpawnerAbstract { @@ -111,11 +111,11 @@ public abstract class MobSpawnerAbstract {
org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(key); org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(key);
if (type != null) { if (type != null) {
- com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event; - com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event;
- event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent( - event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent(
+ com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent event; + com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent event;
+ event = new com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent( + event = new com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent(
MCUtil.toLocation(world, d3, d4, d5), MCUtil.toLocation(world, d3, d4, d5),
type, type,
- org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER - org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER
+ MCUtil.toLocation(world, blockposition) + MCUtil.toLocation(world, blockposition)
); );
if (!event.callEvent()) { if (!event.callEvent()) {
flag = true; flag = true;
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From a58127d969be71a3373e822df2131aa53a36b9c1 Mon Sep 17 00:00:00 2001 From d0753d8956404e8627cbd646846915a2d24b124c Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 22 Sep 2018 15:56:59 -0400 Date: Sat, 22 Sep 2018 15:56:59 -0400
Subject: [PATCH] Catch JsonParseException in Entity and TE names Subject: [PATCH] Catch JsonParseException in Entity and TE names
@ -13,24 +13,24 @@ Shulkers) may need to be changed in order for it to re-save properly
No more crashing though. No more crashing though.
diff --git a/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java b/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java diff --git a/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java b/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java
index 6d85cd508e..23a69ba571 100644 index e6bf34ab0..c447cf1ae 100644
--- a/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java --- a/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java
+++ b/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java +++ b/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java
@@ -56,7 +56,7 @@ public abstract class CommandBlockListenerAbstract implements ICommandListener { @@ -59,7 +59,7 @@ public abstract class CommandBlockListenerAbstract implements ICommandListener {
this.command = nbttagcompound.getString("Command"); this.command = nbttagcompound.getString("Command");
this.successCount = nbttagcompound.getInt("SuccessCount"); this.successCount = nbttagcompound.getInt("SuccessCount");
if (nbttagcompound.hasKeyOfType("CustomName", 8)) { if (nbttagcompound.hasKeyOfType("CustomName", 8)) {
- this.customName = IChatBaseComponent.ChatSerializer.a(nbttagcompound.getString("CustomName")); - this.setName(IChatBaseComponent.ChatSerializer.a(nbttagcompound.getString("CustomName")));
+ this.customName = MCUtil.getBaseComponentFromNbt("CustomName", nbttagcompound); // Paper - Catch ParseException + this.setName(MCUtil.getBaseComponentFromNbt("CustomName", nbttagcompound)); // Paper - Catch ParseException
} }
if (nbttagcompound.hasKeyOfType("TrackOutput", 1)) { if (nbttagcompound.hasKeyOfType("TrackOutput", 1)) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index f9b097fd6f..4833a9652a 100644 index b03316bc8..5d31068d7 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1701,7 +1701,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -1679,7 +1679,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.setPosition(this.locX, this.locY, this.locZ); this.Z();
this.setYawPitch(this.yaw, this.pitch); this.setYawPitch(this.yaw, this.pitch);
if (nbttagcompound.hasKeyOfType("CustomName", 8)) { if (nbttagcompound.hasKeyOfType("CustomName", 8)) {
- this.setCustomName(IChatBaseComponent.ChatSerializer.a(nbttagcompound.getString("CustomName"))); - this.setCustomName(IChatBaseComponent.ChatSerializer.a(nbttagcompound.getString("CustomName")));
@ -39,7 +39,7 @@ index f9b097fd6f..4833a9652a 100644
this.setCustomNameVisible(nbttagcompound.getBoolean("CustomNameVisible")); 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 diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
index 6d278a0da5..ec3732193f 100644 index 6d278a0da..ec3732193 100644
--- a/src/main/java/net/minecraft/server/MCUtil.java --- a/src/main/java/net/minecraft/server/MCUtil.java
+++ b/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java
@@ -339,4 +339,19 @@ public final class MCUtil { @@ -339,4 +339,19 @@ public final class MCUtil {
@ -63,10 +63,10 @@ index 6d278a0da5..ec3732193f 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/TileEntityBanner.java b/src/main/java/net/minecraft/server/TileEntityBanner.java diff --git a/src/main/java/net/minecraft/server/TileEntityBanner.java b/src/main/java/net/minecraft/server/TileEntityBanner.java
index 560330ba05..bfc58a7754 100644 index 21a2415fb..7a911c5a5 100644
--- a/src/main/java/net/minecraft/server/TileEntityBanner.java --- a/src/main/java/net/minecraft/server/TileEntityBanner.java
+++ b/src/main/java/net/minecraft/server/TileEntityBanner.java +++ b/src/main/java/net/minecraft/server/TileEntityBanner.java
@@ -57,7 +57,7 @@ public class TileEntityBanner extends TileEntity implements INamableTileEntity { @@ -59,7 +59,7 @@ public class TileEntityBanner extends TileEntity implements INamableTileEntity {
public void load(NBTTagCompound nbttagcompound) { public void load(NBTTagCompound nbttagcompound) {
super.load(nbttagcompound); super.load(nbttagcompound);
if (nbttagcompound.hasKeyOfType("CustomName", 8)) { if (nbttagcompound.hasKeyOfType("CustomName", 8)) {
@ -76,7 +76,7 @@ index 560330ba05..bfc58a7754 100644
if (this.hasWorld()) { if (this.hasWorld()) {
diff --git a/src/main/java/net/minecraft/server/TileEntityContainer.java b/src/main/java/net/minecraft/server/TileEntityContainer.java diff --git a/src/main/java/net/minecraft/server/TileEntityContainer.java b/src/main/java/net/minecraft/server/TileEntityContainer.java
index 473ec2cbde..ab6b86e4e9 100644 index 473ec2cbd..ab6b86e4e 100644
--- a/src/main/java/net/minecraft/server/TileEntityContainer.java --- a/src/main/java/net/minecraft/server/TileEntityContainer.java
+++ b/src/main/java/net/minecraft/server/TileEntityContainer.java +++ b/src/main/java/net/minecraft/server/TileEntityContainer.java
@@ -17,7 +17,7 @@ public abstract class TileEntityContainer extends TileEntity implements IInvento @@ -17,7 +17,7 @@ public abstract class TileEntityContainer extends TileEntity implements IInvento
@ -89,5 +89,5 @@ index 473ec2cbde..ab6b86e4e9 100644
} }
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 40b719adffacc70145b5dbf5d85a72ae16cb3ab3 Mon Sep 17 00:00:00 2001 From dee157487f5d414b061a794695a77f9a9b7d608a Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de> From: Brokkonaut <hannos17@gmx.de>
Date: Tue, 25 Sep 2018 06:53:43 +0200 Date: Tue, 25 Sep 2018 06:53:43 +0200
Subject: [PATCH] Avoid dimension id collisions Subject: [PATCH] Avoid dimension id collisions
@ -8,10 +8,10 @@ we would reuse an existing dimension id, if some other dimension was
unloaded before. unloaded before.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b0f4ef1b48..d0834ecaab 100644 index 1ca9a7724..e1c9a9e12 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -976,7 +976,7 @@ public final class CraftServer implements Server { @@ -977,7 +977,7 @@ public final class CraftServer implements Server {
boolean used = false; boolean used = false;
do { do {
for (WorldServer server : console.getWorlds()) { for (WorldServer server : console.getWorlds()) {
@ -21,5 +21,5 @@ index b0f4ef1b48..d0834ecaab 100644
dimension++; dimension++;
break; break;
-- --
2.22.0 2.17.1

View file

@ -1,14 +1,14 @@
From eb84a6f42dcb8f78011c1ee226fccf9b8b0de9af Mon Sep 17 00:00:00 2001 From ea4806f775effd2a9c1215f777d111d66136048f Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sun, 23 Sep 2018 20:59:53 -0500 Date: Sun, 23 Sep 2018 20:59:53 -0500
Subject: [PATCH] Honor EntityAgeable.ageLock Subject: [PATCH] Honor EntityAgeable.ageLock
diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java
index da9740a99e..e87754ef33 100644 index cec938436..3d27f0964 100644
--- a/src/main/java/net/minecraft/server/EntityAgeable.java --- a/src/main/java/net/minecraft/server/EntityAgeable.java
+++ b/src/main/java/net/minecraft/server/EntityAgeable.java +++ b/src/main/java/net/minecraft/server/EntityAgeable.java
@@ -85,6 +85,7 @@ public abstract class EntityAgeable extends EntityCreature { @@ -101,6 +101,7 @@ public abstract class EntityAgeable extends EntityCreature {
} }
public void setAge(int i, boolean flag) { public void setAge(int i, boolean flag) {
@ -17,5 +17,5 @@ index da9740a99e..e87754ef33 100644
int k = j; int k = j;
-- --
2.22.0 2.17.1

View file

@ -1,14 +1,14 @@
From d68529932751226e348fd0d0a70944b5d377471c Mon Sep 17 00:00:00 2001 From c8494207b2d8832450cbc1ffcdef06b06b67b764 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Tue, 2 Oct 2018 09:57:50 +0100 Date: Tue, 2 Oct 2018 09:57:50 +0100
Subject: [PATCH] Configurable connection throttle kick message 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 diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index ea3695b021..d2c039ea2f 100644 index 559e6b42b..092bff78a 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -275,6 +275,11 @@ public class PaperConfig { @@ -274,6 +274,11 @@ public class PaperConfig {
authenticationServersDownKickMessage = Strings.emptyToNull(getString("messages.kick.authentication-servers-down", authenticationServersDownKickMessage)); authenticationServersDownKickMessage = Strings.emptyToNull(getString("messages.kick.authentication-servers-down", authenticationServersDownKickMessage));
} }
@ -21,7 +21,7 @@ index ea3695b021..d2c039ea2f 100644
private static void savePlayerData() { private static void savePlayerData() {
savePlayerData = getBoolean("settings.save-player-data", savePlayerData); savePlayerData = getBoolean("settings.save-player-data", savePlayerData);
diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java
index 740c8d2728..9a8e5e1213 100644 index 8928d93e4..0532f975b 100644
--- a/src/main/java/net/minecraft/server/HandshakeListener.java --- a/src/main/java/net/minecraft/server/HandshakeListener.java
+++ b/src/main/java/net/minecraft/server/HandshakeListener.java +++ b/src/main/java/net/minecraft/server/HandshakeListener.java
@@ -38,7 +38,7 @@ public class HandshakeListener implements PacketHandshakingInListener { @@ -38,7 +38,7 @@ public class HandshakeListener implements PacketHandshakingInListener {
@ -34,5 +34,5 @@ index 740c8d2728..9a8e5e1213 100644
this.b.close(chatmessage); this.b.close(chatmessage);
return; return;
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 02060c548e5b7d6bf496c45852af3eb2e5b68aed Mon Sep 17 00:00:00 2001 From c1dff6a365bdb99e77f4a3368d97154e430f6eb8 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach@zachbr.io> From: Zach Brown <zach@zachbr.io>
Date: Wed, 3 Oct 2018 20:09:18 -0400 Date: Wed, 3 Oct 2018 20:09:18 -0400
Subject: [PATCH] Hook into CB plugin rewrites Subject: [PATCH] Hook into CB plugin rewrites
@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're
debugging in an IDE pre-relocate. debugging in an IDE pre-relocate.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
index 467b2d9385..61f1023557 100644 index 467b2d938..61f102355 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
@@ -6,7 +6,9 @@ import java.io.FileOutputStream; @@ -6,7 +6,9 @@ import java.io.FileOutputStream;
@ -187,5 +187,5 @@ index 467b2d9385..61f1023557 100644
{ {
if ( owner.equals( "org/bukkit/Material" ) ) if ( owner.equals( "org/bukkit/Material" ) )
-- --
2.22.0 2.17.1

View file

@ -1,11 +1,11 @@
From ee9f9908fd798f679cf6abb2f07048c9a24ac6c5 Mon Sep 17 00:00:00 2001 From f0c8d8c630bd407f3a3d028b5482d0c73fe1e0d6 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 6 Oct 2018 21:47:44 -0500 Date: Sat, 6 Oct 2018 21:47:44 -0500
Subject: [PATCH] Allow setting the vex's summoner Subject: [PATCH] Allow setting the vex's summoner
diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java
index 25aea53150..51c05376da 100644 index a46730460..cf274666c 100644
--- a/src/main/java/net/minecraft/server/EntityVex.java --- a/src/main/java/net/minecraft/server/EntityVex.java
+++ b/src/main/java/net/minecraft/server/EntityVex.java +++ b/src/main/java/net/minecraft/server/EntityVex.java
@@ -133,6 +133,7 @@ public class EntityVex extends EntityMonster { @@ -133,6 +133,7 @@ public class EntityVex extends EntityMonster {
@ -17,7 +17,7 @@ index 25aea53150..51c05376da 100644
this.c = entityinsentient; this.c = entityinsentient;
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
index 169c951ec3..2f7df3074f 100644 index 169c951ec..2f7df3074 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
@@ -23,6 +23,10 @@ public class CraftVex extends CraftMonster implements Vex { @@ -23,6 +23,10 @@ public class CraftVex extends CraftMonster implements Vex {
@ -32,5 +32,5 @@ index 169c951ec3..2f7df3074f 100644
@Override @Override
-- --
2.22.0 2.17.1

View file

@ -1,38 +1,38 @@
From 0c04ae960b9a3046050c46705f321599882c1353 Mon Sep 17 00:00:00 2001 From 97dd941a53daeecad5edbeb9e55cd4d5c858e6b3 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sun, 7 Oct 2018 00:54:21 -0500 Date: Sun, 7 Oct 2018 00:54:21 -0500
Subject: [PATCH] Add sun related API Subject: [PATCH] Add sun related API
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index a14d490ade..09112a8b0e 100644 index eadac07f6..cbaed08f5 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java --- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -1327,6 +1327,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -1334,6 +1334,7 @@ public abstract class EntityInsentient extends EntityLiving {
return flag; return flag;
} }
+ public boolean isInDaylight() { return this.dS(); } // Paper - OBFHELPER + public boolean isInDaylight() { return this.en(); } // Paper - OBFHELPER
protected boolean dS() { protected boolean en() {
if (this.world.J() && !this.world.isClientSide) { if (this.world.J() && !this.world.isClientSide) {
float f = this.aF(); float f = this.aI();
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 c60279da8f..1c3285f5c0 100644 index 9c23060bb..8e3367435 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
@@ -705,6 +705,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -619,6 +619,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
} }
} }
+ public boolean isDayTime() { return J(); } // Paper - OBFHELPER + public boolean isDayTime() { return J(); } // Paper - OBFHELPER
public boolean J() { public boolean J() {
return this.u < 4; return this.worldProvider.getDimensionManager() == DimensionManager.OVERWORLD && this.c < 4;
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index dc0a07c7cd..78a2c47c5a 100644 index 182322752..578fe8d19 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -840,6 +840,13 @@ public class CraftWorld implements World { @@ -855,6 +855,13 @@ public class CraftWorld implements World {
} }
} }
@ -47,7 +47,7 @@ index dc0a07c7cd..78a2c47c5a 100644
public boolean createExplosion(double x, double y, double z, float power) { public boolean createExplosion(double x, double y, double z, float power) {
return createExplosion(x, y, z, power, false, true); return createExplosion(x, y, z, power, false, true);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
index 53c2d154ed..56c233872b 100644 index 53c2d154e..56c233872 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
@@ -68,4 +68,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { @@ -68,4 +68,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
@ -63,5 +63,5 @@ index 53c2d154ed..56c233872b 100644
+ // Paper end + // Paper end
} }
-- --
2.23.0 2.17.1

View file

@ -1,22 +1,22 @@
From f1045e50a6d0e1f641e87f570c4788665cd991e0 Mon Sep 17 00:00:00 2001 From ddc7cc6102fac211c5920f559f1b9262cacdc429 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Wed, 10 Oct 2018 21:22:44 -0500 Date: Wed, 10 Oct 2018 21:22:44 -0500
Subject: [PATCH] Check Drowned for Villager Aggression Config Subject: [PATCH] Check Drowned for Villager Aggression Config
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
index fd10cf318a..6f0094e6dc 100644 index 255b3d0cd..3a1928b22 100644
--- a/src/main/java/net/minecraft/server/EntityDrowned.java --- a/src/main/java/net/minecraft/server/EntityDrowned.java
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java +++ b/src/main/java/net/minecraft/server/EntityDrowned.java
@@ -29,7 +29,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity { @@ -29,7 +29,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
this.goalSelector.a(7, new PathfinderGoalRandomStroll(this, 1.0D)); this.goalSelector.a(7, new PathfinderGoalRandomStroll(this, 1.0D));
this.targetSelector.a(1, (new PathfinderGoalHurtByTarget(this, new Class[]{EntityDrowned.class})).a(EntityPigZombie.class)); this.targetSelector.a(1, (new PathfinderGoalHurtByTarget(this, new Class[]{EntityDrowned.class})).a(EntityPigZombie.class));
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, 10, true, false, this::h)); this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, 10, true, false, this::i));
- this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)); - this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false));
+ if ( world.spigotConfig.zombieAggressiveTowardsVillager ) this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)); // Paper + if ( world.spigotConfig.zombieAggressiveTowardsVillager ) this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)); // Paper
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true));
this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bz)); this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bw));
} }
-- --
2.22.0 2.17.1

View file

@ -1,24 +1,24 @@
From 186a68036e63b03e928028f0bdd395b904103c7e Mon Sep 17 00:00:00 2001 From b2d086efee4196e70746de334a8c1d94383ea371 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 12 Oct 2018 01:37:22 -0500 Date: Fri, 12 Oct 2018 01:37:22 -0500
Subject: [PATCH] Here's Johnny! Subject: [PATCH] Here's Johnny!
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 06918b8c91..ffbd6e9269 100644 index 73ecdd22e..c974c02e9 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
@@ -11,7 +11,7 @@ public class EntityVindicator extends EntityIllagerAbstract { @@ -11,7 +11,7 @@ public class EntityVindicator extends EntityIllagerAbstract {
private static final Predicate<EnumDifficulty> b = (enumdifficulty) -> { private static final Predicate<EnumDifficulty> b = (enumdifficulty) -> {
return enumdifficulty == EnumDifficulty.NORMAL || enumdifficulty == EnumDifficulty.HARD; return enumdifficulty == EnumDifficulty.NORMAL || enumdifficulty == EnumDifficulty.HARD;
}; };
- private boolean bz; - private boolean bw;
+ private boolean bz; public boolean isJohnny() { return bz; } public void setJohnny(boolean johnny) { bz = johnny; } // Paper - OBFHELPER + private boolean bw; public boolean isJohnny() { return bw; } public void setJohnny(boolean johnny) { bw = johnny; } // Paper - OBFHELPER
public EntityVindicator(EntityTypes<? extends EntityVindicator> entitytypes, World world) { public EntityVindicator(EntityTypes<? extends EntityVindicator> entitytypes, World world) {
super(entitytypes, world); super(entitytypes, world);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java
index 951d479298..5ff957ced7 100644 index 951d47929..5ff957ced 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java
@@ -25,4 +25,14 @@ public class CraftVindicator extends CraftIllager implements Vindicator { @@ -25,4 +25,14 @@ public class CraftVindicator extends CraftIllager implements Vindicator {
@ -37,5 +37,5 @@ index 951d479298..5ff957ced7 100644
+ // Paper end + // Paper end
} }
-- --
2.22.0 2.17.1

View file

@ -1,84 +1,84 @@
From de12d9eb27172c21844363f2e66700833e43290f Mon Sep 17 00:00:00 2001 From 12c4f15acb42676902c300c55bfb56bf8d025f3b Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 29 Sep 2018 16:08:23 -0500 Date: Sat, 29 Sep 2018 16:08:23 -0500
Subject: [PATCH] Turtle API Subject: [PATCH] Turtle API
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
index 594cc70def..0bd80e5623 100644 index 76296119a..dd02cb348 100644
--- a/src/main/java/net/minecraft/server/EntityTurtle.java --- a/src/main/java/net/minecraft/server/EntityTurtle.java
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java
@@ -26,51 +26,63 @@ public class EntityTurtle extends EntityAnimal { @@ -27,51 +27,63 @@ public class EntityTurtle extends EntityAnimal {
this.K = 1.0F; this.H = 1.0F;
} }
+ public final void setHome(BlockPosition pos) { g(pos); } // Paper - OBFHELPER + public final void setHome(BlockPosition pos) { g(pos); } // Paper - OBFHELPER
public void g(BlockPosition blockposition) { public void g(BlockPosition blockposition) {
this.datawatcher.set(EntityTurtle.bA, blockposition); this.datawatcher.set(EntityTurtle.bx, blockposition);
} }
+ public final BlockPosition getHome() { return this.dX(); } // Paper - OBFHELPER + public final BlockPosition getHome() { return this.es(); } // Paper - OBFHELPER
private BlockPosition dX() { private BlockPosition es() {
return (BlockPosition) this.datawatcher.get(EntityTurtle.bA); return (BlockPosition) this.datawatcher.get(EntityTurtle.bx);
} }
+ public final void setTravelPos(BlockPosition pos) { this.h(pos); } // Paper - OBFHELPER + public final void setTravelPos(BlockPosition pos) { this.h(pos); } // Paper - OBFHELPER
private void h(BlockPosition blockposition) { private void h(BlockPosition blockposition) {
this.datawatcher.set(EntityTurtle.bD, blockposition); this.datawatcher.set(EntityTurtle.bA, blockposition);
} }
+ public final BlockPosition getTravelPos() { return this.dY(); } // Paper - OBFHELPER + public final BlockPosition getTravelPos() { return this.et(); } // Paper - OBFHELPER
private BlockPosition dY() { private BlockPosition et() {
return (BlockPosition) this.datawatcher.get(EntityTurtle.bD); return (BlockPosition) this.datawatcher.get(EntityTurtle.bA);
} }
+ public final boolean hasEgg() { return this.dV(); } // Paper - OBFHELPER + public final boolean hasEgg() { return this.eq(); } // Paper - OBFHELPER
public boolean dV() { public boolean eq() {
return (Boolean) this.datawatcher.get(EntityTurtle.bB); return (Boolean) this.datawatcher.get(EntityTurtle.by);
} }
+ public final void setHasEgg(boolean hasEgg) { this.r(hasEgg); } // Paper - OBFHELPER + public final void setHasEgg(boolean hasEgg) { this.r(hasEgg); } // Paper - OBFHELPER
private void r(boolean flag) { private void r(boolean flag) {
this.datawatcher.set(EntityTurtle.bB, flag); this.datawatcher.set(EntityTurtle.by, flag);
} }
+ public final boolean isDigging() { return this.dW(); } // Paper - OBFHELPER + public final boolean isDigging() { return this.er(); } // Paper - OBFHELPER
public boolean dW() { public boolean er() {
return (Boolean) this.datawatcher.get(EntityTurtle.bC); return (Boolean) this.datawatcher.get(EntityTurtle.bz);
} }
+ public final void setDigging(boolean digging) { this.s(digging); } // Paper - OBFHELPER + public final void setDigging(boolean digging) { this.s(digging); } // Paper - OBFHELPER
private void s(boolean flag) { private void s(boolean flag) {
this.bG = flag ? 1 : 0; this.bD = flag ? 1 : 0;
this.datawatcher.set(EntityTurtle.bC, flag); this.datawatcher.set(EntityTurtle.bz, flag);
} }
+ public final boolean isGoingHome() { return this.dZ(); } // Paper - OBFHELPER + public final boolean isGoingHome() { return this.eu(); } // Paper - OBFHELPER
private boolean dZ() { private boolean eu() {
return (Boolean) this.datawatcher.get(EntityTurtle.bE); return (Boolean) this.datawatcher.get(EntityTurtle.bB);
} }
+ public final void setGoingHome(boolean goingHome) { this.t(goingHome); } // Paper - OBFHELPER + public final void setGoingHome(boolean goingHome) { this.t(goingHome); } // Paper - OBFHELPER
private void t(boolean flag) { private void t(boolean flag) {
this.datawatcher.set(EntityTurtle.bE, flag); this.datawatcher.set(EntityTurtle.bB, flag);
} }
+ public final boolean isTravelling() { return this.ee(); } // Paper - OBFHELPER + public final boolean isTravelling() { return this.ez(); } // Paper - OBFHELPER
private boolean ee() { private boolean ez() {
return (Boolean) this.datawatcher.get(EntityTurtle.bF); return (Boolean) this.datawatcher.get(EntityTurtle.bC);
} }
+ public final void setTravelling(boolean travelling) { this.u(travelling); } // Paper - OBFHELPER + public final void setTravelling(boolean travelling) { this.u(travelling); } // Paper - OBFHELPER
private void u(boolean flag) { private void u(boolean flag) {
this.datawatcher.set(EntityTurtle.bF, flag); this.datawatcher.set(EntityTurtle.bC, flag);
} }
@@ -441,14 +453,17 @@ public class EntityTurtle extends EntityAnimal { @@ -443,14 +455,17 @@ public class EntityTurtle extends EntityAnimal {
if (!this.g.isInWater() && this.k()) { if (!this.g.isInWater() && this.k()) {
if (this.g.bG < 1) { if (this.g.bD < 1) {
- this.g.s(true); - this.g.s(true);
+ this.g.setDigging(new com.destroystokyo.paper.event.entity.TurtleStartDiggingEvent((org.bukkit.entity.Turtle) this.g.getBukkitEntity(), MCUtil.toLocation(this.g.world, this.e)).callEvent()); // Paper + this.g.setDigging(new com.destroystokyo.paper.event.entity.TurtleStartDiggingEvent((org.bukkit.entity.Turtle) this.g.getBukkitEntity(), MCUtil.toLocation(this.g.world, this.e)).callEvent()); // Paper
} else if (this.g.bG > 200) { } else if (this.g.bD > 200) {
World world = this.g.world; World world = this.g.world;
// CraftBukkit start // CraftBukkit start
@ -93,17 +93,17 @@ index 594cc70def..0bd80e5623 100644
} }
// CraftBukkit end // CraftBukkit end
this.g.r(false); this.g.r(false);
@@ -583,7 +598,7 @@ public class EntityTurtle extends EntityAnimal { @@ -585,7 +600,7 @@ public class EntityTurtle extends EntityAnimal {
@Override @Override
public boolean a() { public boolean a() {
- return this.a.isBaby() ? false : (this.a.dV() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : !this.a.dX().a((IPosition) this.a.getPositionVector(), 64.0D))); - return this.a.isBaby() ? false : (this.a.eq() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : !this.a.es().a((IPosition) this.a.getPositionVector(), 64.0D)));
+ return this.a.isBaby() ? false : (this.a.dW() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : !this.a.dY().a((IPosition) this.a.getPositionVector(), 64.0D))) && new com.destroystokyo.paper.event.entity.TurtleGoHomeEvent((org.bukkit.entity.Turtle) this.a.getBukkitEntity()).callEvent(); // Paper + return this.a.isBaby() ? false : (this.a.eq() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : !this.a.es().a((IPosition) this.a.getPositionVector(), 64.0D))) && new com.destroystokyo.paper.event.entity.TurtleGoHomeEvent((org.bukkit.entity.Turtle) this.a.getBukkitEntity()).callEvent(); // Paper
} }
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java
index 123a2c75ca..8edcf7af65 100644 index 123a2c75c..8edcf7af6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java
@@ -1,6 +1,8 @@ @@ -1,6 +1,8 @@
@ -153,5 +153,5 @@ index 123a2c75ca..8edcf7af65 100644
+ // Paper end + // Paper end
} }
-- --
2.22.0 2.17.1

View file

@ -1,18 +1,17 @@
From 14201322b20e2e04e8cd67161dae08b5527b4606 Mon Sep 17 00:00:00 2001 From bbf14ec267b75fbde5ce1f4ebc529c36e19c2717 Mon Sep 17 00:00:00 2001
From: Trigary <trigary0@gmail.com> From: Trigary <trigary0@gmail.com>
Date: Fri, 14 Sep 2018 17:42:08 +0200 Date: Fri, 14 Sep 2018 17:42:08 +0200
Subject: [PATCH] Limit lightning strike effect distance Subject: [PATCH] Limit lightning strike effect distance
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 4a4e9d715..3b24fbdbf 100644 index e49318a19..fe3e78f36 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -239,6 +239,28 @@ public class PaperWorldConfig { @@ -240,6 +240,28 @@ public class PaperWorldConfig {
skeleHorseSpawnChance = 0.01D; // Vanilla value
} }
} }
+
+ public double sqrMaxThunderDistance; + public double sqrMaxThunderDistance;
+ public double sqrMaxLightningImpactSoundDistance; + public double sqrMaxLightningImpactSoundDistance;
+ public double maxLightningFlashDistance; + public double maxLightningFlashDistance;
@ -34,16 +33,17 @@ index 4a4e9d715..3b24fbdbf 100644
+ maxLightningFlashDistance = 512; // Vanilla value + maxLightningFlashDistance = 512; // Vanilla value
+ } + }
+ } + }
+
public int fixedInhabitedTime; public int fixedInhabitedTime;
private void fixedInhabitedTime() { private void fixedInhabitedTime() {
if (PaperConfig.version < 16) {
diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java
index 2ceee79cf..27bf271bb 100644 index 7c518983a..0bd67395e 100644
--- a/src/main/java/net/minecraft/server/EntityLightning.java --- a/src/main/java/net/minecraft/server/EntityLightning.java
+++ b/src/main/java/net/minecraft/server/EntityLightning.java +++ b/src/main/java/net/minecraft/server/EntityLightning.java
@@ -64,6 +64,17 @@ public class EntityLightning extends Entity { @@ -64,6 +64,17 @@ public class EntityLightning extends Entity {
double deltaX = this.locX - player.locX; double deltaX = this.locX() - player.locX();
double deltaZ = this.locZ - player.locZ; double deltaZ = this.locZ() - player.locZ();
double distanceSquared = deltaX * deltaX + deltaZ * deltaZ; double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
+ // Paper start - Limit lightning strike effect distance + // Paper start - Limit lightning strike effect distance
+ if (distanceSquared <= this.world.paperConfig.sqrMaxLightningImpactSoundDistance) { + if (distanceSquared <= this.world.paperConfig.sqrMaxLightningImpactSoundDistance) {
@ -58,29 +58,29 @@ index 2ceee79cf..27bf271bb 100644
+ // Paper end + // Paper end
if (distanceSquared > viewDistance * viewDistance) { if (distanceSquared > viewDistance * viewDistance) {
double deltaLength = Math.sqrt(distanceSquared); double deltaLength = Math.sqrt(distanceSquared);
double relativeX = player.locX + (deltaX / deltaLength) * viewDistance; double relativeX = player.locX() + (deltaX / deltaLength) * viewDistance;
@@ -74,7 +85,7 @@ public class EntityLightning extends Entity { @@ -74,7 +85,7 @@ public class EntityLightning extends Entity {
} }
} }
// CraftBukkit end // CraftBukkit end
- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F); - this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F);
+ //this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F); // Paper - Limit lightning strike effect distance (the packet is now sent from inside the loop) + //this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F); // Paper - Limit lightning strike effect distance (the packet is now sent from inside the loop)
} }
--this.lifeTicks; --this.lifeTicks;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 8b55879c6..dbd357f1a 100644 index a0c714129..ecfcecfdc 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1251,7 +1251,7 @@ public class WorldServer extends World { @@ -1250,7 +1250,7 @@ public class WorldServer extends World {
} }
// CraftBukkit end // CraftBukkit end
this.globalEntityList.add(entitylightning); this.globalEntityList.add(entitylightning);
- this.server.getPlayerList().sendPacketNearby((EntityHuman) null, entitylightning.locX, entitylightning.locY, entitylightning.locZ, 512.0D, this, new PacketPlayOutSpawnEntityWeather(entitylightning)); // Paper - use world instead of dimension - this.server.getPlayerList().sendPacketNearby((EntityHuman) null, entitylightning.locX(), entitylightning.locY(), entitylightning.locZ(), 512.0D, this, new PacketPlayOutSpawnEntityWeather(entitylightning)); // Paper - use world instead of dimension
+ this.server.getPlayerList().sendPacketNearby((EntityHuman) null, entitylightning.locX, entitylightning.locY, entitylightning.locZ, paperConfig.maxLightningFlashDistance, this, new PacketPlayOutSpawnEntityWeather(entitylightning)); // Paper - use world instead of dimension, limit lightning strike effect distance + this.server.getPlayerList().sendPacketNearby((EntityHuman) null, entitylightning.locX(), entitylightning.locY(), entitylightning.locZ(), paperConfig.maxLightningFlashDistance, this, new PacketPlayOutSpawnEntityWeather(entitylightning)); // Paper - use world instead of dimension, limit lightning strike effect distance
} }
@Override @Override
-- --
2.23.0 2.17.1

View file

@ -1,4 +1,4 @@
From a58314dd18e49eda089384652ff34d7a44979f0e Mon Sep 17 00:00:00 2001 From 2712bfcea985f2a16ab20b0bc1ecd45ec8732ee5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 17 Oct 2018 19:17:27 -0400 Date: Wed, 17 Oct 2018 19:17:27 -0400
Subject: [PATCH] MC-50319: Check other worlds for shooter of projectiles Subject: [PATCH] MC-50319: Check other worlds for shooter of projectiles
@ -11,12 +11,12 @@ If the projectile fails to find the shooter in the current world, check
other worlds. other worlds.
diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java
index f2f4b2d929..18d28a151a 100644 index 9eed1dce3..6c091b680 100644
--- a/src/main/java/net/minecraft/server/EntityProjectile.java --- a/src/main/java/net/minecraft/server/EntityProjectile.java
+++ b/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java
@@ -213,11 +213,21 @@ public abstract class EntityProjectile extends Entity implements IProjectile { @@ -209,6 +209,16 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
public EntityLiving getShooter() { public EntityLiving getShooter() {
if (this.shooter == null && this.shooterId != null && this.world instanceof WorldServer) { if ((this.shooter == null || this.shooter.dead) && this.shooterId != null && this.world instanceof WorldServer) {
Entity entity = ((WorldServer) this.world).getEntity(this.shooterId); Entity entity = ((WorldServer) this.world).getEntity(this.shooterId);
+ // Paper start - MC-50319 - shooter might be in another world (arrows through portals) + // Paper start - MC-50319 - shooter might be in another world (arrows through portals)
+ if (entity == null) { + if (entity == null) {
@ -31,12 +31,6 @@ index f2f4b2d929..18d28a151a 100644
if (entity instanceof EntityLiving) { if (entity instanceof EntityLiving) {
this.shooter = (EntityLiving) entity; this.shooter = (EntityLiving) entity;
} else {
- this.shooterId = null;
+ //this.shooterId = null; // Paper - don't unset shooterId
}
}
-- --
2.22.0 2.17.1

View file

@ -1,23 +1,23 @@
From 4d2f78285608aa6230d078f39bb3f4f6a85735b9 Mon Sep 17 00:00:00 2001 From c3dbf581a251e2eef711756f72f023013dae9245 Mon Sep 17 00:00:00 2001
From: Caleb Bassham <caleb.bassham@gmail.com> From: Caleb Bassham <caleb.bassham@gmail.com>
Date: Fri, 28 Sep 2018 02:32:19 -0500 Date: Fri, 28 Sep 2018 02:32:19 -0500
Subject: [PATCH] Call player spectator target events Subject: [PATCH] Call player spectator target events
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 898089983..ad5dcab78 100644 index 26096afbe..bdb73b68a 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -60,7 +60,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -60,7 +60,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
private EnumChatVisibility ck; private EnumChatVisibility ch;
private boolean cl = true; private boolean ci = true;
private long cm = SystemUtils.getMonotonicMillis(); private long cj = SystemUtils.getMonotonicMillis();
- private Entity spectatedEntity; - private Entity spectatedEntity;
+ private Entity spectatedEntity; private void setSpectatorTargetField(Entity e) { this.spectatedEntity = e; } // Paper - OBFHELPER + private Entity spectatedEntity; private void setSpectatorTargetField(Entity e) { this.spectatedEntity = e; } // Paper - OBFHELPER
public boolean worldChangeInvuln; public boolean worldChangeInvuln;
private boolean cp; private void setHasSeenCredits(boolean has) { this.cp = has; } // Paper - OBFHELPER private boolean cm; private void setHasSeenCredits(boolean has) { this.cm = has; } // Paper - OBFHELPER
private final RecipeBookServer recipeBook; private final RecipeBookServer recipeBook;
@@ -1581,15 +1581,35 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -1556,15 +1556,35 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
return (Entity) (this.spectatedEntity == null ? this : this.spectatedEntity); return (Entity) (this.spectatedEntity == null ? this : this.spectatedEntity);
} }
@ -29,7 +29,7 @@ index 898089983..ad5dcab78 100644
- this.spectatedEntity = (Entity) (entity == null ? this : entity); - this.spectatedEntity = (Entity) (entity == null ? this : entity);
- if (entity1 != this.spectatedEntity) { - if (entity1 != this.spectatedEntity) {
- this.playerConnection.sendPacket(new PacketPlayOutCamera(this.spectatedEntity)); - this.playerConnection.sendPacket(new PacketPlayOutCamera(this.spectatedEntity));
- this.playerConnection.a(this.spectatedEntity.locX, this.spectatedEntity.locY, this.spectatedEntity.locZ, this.yaw, this.pitch, TeleportCause.SPECTATE); // CraftBukkit - this.playerConnection.a(this.spectatedEntity.locX(), this.spectatedEntity.locY(), this.spectatedEntity.locZ(), this.yaw, this.pitch, TeleportCause.SPECTATE); // CraftBukkit
+ if (newSpectatorTarget == null) { + if (newSpectatorTarget == null) {
+ newSpectatorTarget = this; + newSpectatorTarget = this;
} }
@ -53,11 +53,19 @@ index 898089983..ad5dcab78 100644
+ setSpectatorTargetField(newSpectatorTarget); + setSpectatorTargetField(newSpectatorTarget);
+ +
+ this.playerConnection.sendPacket(new PacketPlayOutCamera(newSpectatorTarget)); + this.playerConnection.sendPacket(new PacketPlayOutCamera(newSpectatorTarget));
+ this.playerConnection.a(this.spectatedEntity.locX, this.spectatedEntity.locY, this.spectatedEntity.locZ, this.yaw, this.pitch, TeleportCause.SPECTATE); // CraftBukkit + this.playerConnection.a(this.spectatedEntity.locY(), this.spectatedEntity.locY(), this.spectatedEntity.locZ(), this.yaw, this.pitch, TeleportCause.SPECTATE); // CraftBukkit
+ // Paper end + // Paper end
} }
@Override
@@ -1572,7 +1592,6 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
if (this.portalCooldown > 0 && !this.worldChangeInvuln) {
--this.portalCooldown;
}
-
}
@Override @Override
-- --
2.23.0 2.17.1

View file

@ -1,4 +1,4 @@
From 2a1652d5c16477c05e7937b1df54b8c091267a63 Mon Sep 17 00:00:00 2001 From 520dedf2e368085a97f21d0490d96ba949b7c2b4 Mon Sep 17 00:00:00 2001
From: Andrew Steinborn <git@steinborn.me> From: Andrew Steinborn <git@steinborn.me>
Date: Mon, 8 Oct 2018 14:36:14 -0400 Date: Mon, 8 Oct 2018 14:36:14 -0400
Subject: [PATCH] Add Velocity IP Forwarding Support Subject: [PATCH] Add Velocity IP Forwarding Support
@ -14,7 +14,7 @@ forwarding, and is integrated into the Minecraft login process by using the 1.13
login plugin message packet. login plugin message packet.
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index d2c039ea2f..63d8602927 100644 index 092bff78a..7e85a0224 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -8,6 +8,7 @@ import java.io.IOException; @@ -8,6 +8,7 @@ import java.io.IOException;
@ -25,7 +25,7 @@ index d2c039ea2f..63d8602927 100644
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -246,7 +247,7 @@ public class PaperConfig { @@ -245,7 +246,7 @@ public class PaperConfig {
} }
public static boolean isProxyOnlineMode() { public static boolean isProxyOnlineMode() {
@ -34,7 +34,7 @@ index d2c039ea2f..63d8602927 100644
} }
public static int packetInSpamThreshold = 300; public static int packetInSpamThreshold = 300;
@@ -360,4 +361,18 @@ public class PaperConfig { @@ -336,4 +337,18 @@ public class PaperConfig {
} }
} }
} }
@ -55,7 +55,7 @@ index d2c039ea2f..63d8602927 100644
} }
diff --git a/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java b/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java diff --git a/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java b/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java
new file mode 100644 new file mode 100644
index 0000000000..fdd8708f97 index 000000000..fdd8708f9
--- /dev/null --- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java +++ b/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java
@@ -0,0 +1,67 @@ @@ -0,0 +1,67 @@
@ -127,7 +127,7 @@ index 0000000000..fdd8708f97
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
index d6befec184..41b2c90c3a 100644 index a985ae7ba..c3d57461d 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java --- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -42,6 +42,7 @@ public class LoginListener implements PacketLoginInListener { @@ -42,6 +42,7 @@ public class LoginListener implements PacketLoginInListener {
@ -203,7 +203,7 @@ index d6befec184..41b2c90c3a 100644
} }
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index 08e314af7c..046196d54d 100644 index 08e314af7..046196d54 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java --- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -44,7 +44,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> { @@ -44,7 +44,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -216,7 +216,7 @@ index 08e314af7c..046196d54d 100644
public java.util.UUID spoofedUUID; public java.util.UUID spoofedUUID;
public com.mojang.authlib.properties.Property[] spoofedProfile; public com.mojang.authlib.properties.Property[] spoofedProfile;
diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java
index fa2d3ce8cb..dac560c63f 100644 index 93ae6dcd7..fb9186b3f 100644
--- a/src/main/java/net/minecraft/server/PacketDataSerializer.java --- a/src/main/java/net/minecraft/server/PacketDataSerializer.java
+++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java +++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java
@@ -140,6 +140,7 @@ public class PacketDataSerializer extends ByteBuf { @@ -140,6 +140,7 @@ public class PacketDataSerializer extends ByteBuf {
@ -244,7 +244,7 @@ index fa2d3ce8cb..dac560c63f 100644
int j = this.i(); int j = this.i();
diff --git a/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java b/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java diff --git a/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java b/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java
index 4d1f441395..c1ca6f9501 100644 index 4d1f44139..c1ca6f950 100644
--- a/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java --- a/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java
+++ b/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java +++ b/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java
@@ -4,8 +4,8 @@ import java.io.IOException; @@ -4,8 +4,8 @@ import java.io.IOException;
@ -259,7 +259,7 @@ index 4d1f441395..c1ca6f9501 100644
public PacketLoginInCustomPayload() {} public PacketLoginInCustomPayload() {}
diff --git a/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java b/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java diff --git a/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java b/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java
index ae74dc9e18..7eb230f1b2 100644 index ae74dc9e1..7eb230f1b 100644
--- a/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java --- a/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java
+++ b/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java +++ b/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java
@@ -10,6 +10,14 @@ public class PacketLoginOutCustomPayload implements Packet<PacketLoginOutListene @@ -10,6 +10,14 @@ public class PacketLoginOutCustomPayload implements Packet<PacketLoginOutListene
@ -278,10 +278,10 @@ index ae74dc9e18..7eb230f1b2 100644
public void a(PacketDataSerializer packetdataserializer) throws IOException { public void a(PacketDataSerializer packetdataserializer) throws IOException {
this.a = packetdataserializer.i(); this.a = packetdataserializer.i();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d0834ecaab..145de4fe6e 100644 index e1c9a9e12..7e810e008 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -644,7 +644,7 @@ public final class CraftServer implements Server { @@ -645,7 +645,7 @@ public final class CraftServer implements Server {
@Override @Override
public long getConnectionThrottle() { public long getConnectionThrottle() {
// Spigot Start - Automatically set connection throttle for bungee configurations // Spigot Start - Automatically set connection throttle for bungee configurations
@ -291,5 +291,5 @@ index d0834ecaab..145de4fe6e 100644
} else { } else {
return this.configuration.getInt("settings.connection-throttle"); return this.configuration.getInt("settings.connection-throttle");
-- --
2.22.0 2.17.1

View file

@ -1,11 +1,11 @@
From 3673196f9e0ac6580f406a27c9609accf4f8ad3c Mon Sep 17 00:00:00 2001 From 049e3869567e166299d0659ee10b1c068b637194 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 12 Oct 2018 14:10:46 -0500 Date: Fri, 12 Oct 2018 14:10:46 -0500
Subject: [PATCH] Add more Witch API Subject: [PATCH] Add more Witch API
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
index ff4e73fff3..0b849f37c5 100644 index be6ecfb08..f1a4c10ad 100644
--- a/src/main/java/net/minecraft/server/EntityWitch.java --- a/src/main/java/net/minecraft/server/EntityWitch.java
+++ b/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java
@@ -1,5 +1,11 @@ @@ -1,5 +1,11 @@
@ -24,26 +24,26 @@ index ff4e73fff3..0b849f37c5 100644
public class EntityWitch extends EntityRaider implements IRangedEntity { public class EntityWitch extends EntityRaider implements IRangedEntity {
private static final UUID b = UUID.fromString("5CD17E52-A79A-43D3-A529-90FDE04B181E"); private static final UUID b = UUID.fromString("5CD17E52-A79A-43D3-A529-90FDE04B181E");
- private static final AttributeModifier bz = (new AttributeModifier(EntityWitch.b, "Drinking speed penalty", -0.25D, AttributeModifier.Operation.ADDITION)).a(false); - private static final AttributeModifier bw = (new AttributeModifier(EntityWitch.b, "Drinking speed penalty", -0.25D, AttributeModifier.Operation.ADDITION)).a(false);
+ private static final AttributeModifier bz = (new AttributeModifier(EntityWitch.b, "Drinking speed penalty", -0.25D, AttributeModifier.Operation.ADDITION)).a(false); private static final AttributeModifier DRINKING_SPEED = bz; // Paper - OBFHELPER + private static final AttributeModifier bw = (new AttributeModifier(EntityWitch.b, "Drinking speed penalty", -0.25D, AttributeModifier.Operation.ADDITION)).a(false); private static final AttributeModifier DRINKING_SPEED = bz; // Paper - OBFHELPER
private static final DataWatcherObject<Boolean> bA = DataWatcher.a(EntityWitch.class, DataWatcherRegistry.i); private static final DataWatcherObject<Boolean> bx = DataWatcher.a(EntityWitch.class, DataWatcherRegistry.i);
- private int bB; - private int by;
+ private int bB; public int getPotionUseTimeLeft() { return bB; } public void setPotionUseTimeLeft(int timeLeft) { bB = timeLeft; } // Paper - OBFHELPER + private int by; public int getPotionUseTimeLeft() { return by; } public void setPotionUseTimeLeft(int timeLeft) { by = timeLeft; } // Paper - OBFHELPER
private PathfinderGoalNearestHealableRaider<EntityRaider> bC; private PathfinderGoalNearestHealableRaider<EntityRaider> bz;
private PathfinderGoalNearestAttackableTargetWitch<EntityHuman> bD; private PathfinderGoalNearestAttackableTargetWitch<EntityHuman> bA;
@@ -56,10 +62,12 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { @@ -56,10 +62,12 @@ public class EntityWitch extends EntityRaider implements IRangedEntity {
return SoundEffects.ENTITY_WITCH_DEATH; return SoundEffects.ENTITY_WITCH_DEATH;
} }
+ public void setDrinkingPotion(boolean drinkingPotion) { s(drinkingPotion); } // Paper - OBFHELPER + public void setDrinkingPotion(boolean drinkingPotion) { t(drinkingPotion); } // Paper - OBFHELPER
public void s(boolean flag) { public void t(boolean flag) {
this.getDataWatcher().set(EntityWitch.bA, flag); this.getDataWatcher().set(EntityWitch.bx, flag);
} }
+ public boolean isDrinkingPotion() { return l(); } // Paper - OBFHELPER + public boolean isDrinkingPotion() { return l(); } // Paper - OBFHELPER
public boolean l() { public boolean l() {
return (Boolean) this.getDataWatcher().get(EntityWitch.bA); return (Boolean) this.getDataWatcher().get(EntityWitch.bx);
} }
@@ -121,18 +129,20 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { @@ -121,18 +129,20 @@ public class EntityWitch extends EntityRaider implements IRangedEntity {
} }
@ -67,13 +67,13 @@ index ff4e73fff3..0b849f37c5 100644
+// attributeinstance.addModifier(EntityWitch.bz); +// attributeinstance.addModifier(EntityWitch.bz);
+ this.setDrinkingPotion(PotionUtil.addPotionToItemStack(new ItemStack(Items.POTION), potionregistry)); + this.setDrinkingPotion(PotionUtil.addPotionToItemStack(new ItemStack(Items.POTION), potionregistry));
// Paper end // Paper end
- this.bB = this.getItemInMainHand().k(); - this.by = this.getItemInMainHand().k();
- this.s(true); - this.t(true);
- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_WITCH_DRINK, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F); - this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_WITCH_DRINK, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F);
- AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); - AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);
- -
- attributeinstance.removeModifier(EntityWitch.bz); - attributeinstance.removeModifier(EntityWitch.bw);
- attributeinstance.addModifier(EntityWitch.bz); - attributeinstance.addModifier(EntityWitch.bw);
} }
} }
@ -86,7 +86,7 @@ index ff4e73fff3..0b849f37c5 100644
+ setSlot(EnumItemSlot.MAINHAND, CraftItemStack.asNMSCopy(WitchReadyPotionEvent.process((Witch) getBukkitEntity(), CraftItemStack.asCraftMirror(potion)))); + setSlot(EnumItemSlot.MAINHAND, CraftItemStack.asNMSCopy(WitchReadyPotionEvent.process((Witch) getBukkitEntity(), CraftItemStack.asCraftMirror(potion))));
+ setPotionUseTimeLeft(getItemInMainHand().getItemUseMaxDuration()); + setPotionUseTimeLeft(getItemInMainHand().getItemUseMaxDuration());
+ setDrinkingPotion(true); + setDrinkingPotion(true);
+ world.sendSoundEffect(null, locX, locY, locZ, SoundEffects.ENTITY_WITCH_DRINK, getSoundCategory(), 1.0F, 0.8F + random.nextFloat() * 0.4F); + world.sendSoundEffect(null, locX(), locY(), locZ(), SoundEffects.ENTITY_WITCH_DRINK, getSoundCategory(), 1.0F, 0.8F + random.nextFloat() * 0.4F);
+ AttributeInstance attributeinstance = getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); + AttributeInstance attributeinstance = getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);
+ attributeinstance.removeModifier(EntityWitch.DRINKING_SPEED); + attributeinstance.removeModifier(EntityWitch.DRINKING_SPEED);
+ attributeinstance.addModifier(EntityWitch.DRINKING_SPEED); + attributeinstance.addModifier(EntityWitch.DRINKING_SPEED);
@ -94,10 +94,10 @@ index ff4e73fff3..0b849f37c5 100644
+ // Paper end + // Paper end
+ +
@Override @Override
public SoundEffect dV() { public SoundEffect eq() {
return SoundEffects.ENTITY_WITCH_CELEBRATE; return SoundEffects.ENTITY_WITCH_CELEBRATE;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java
index bae107e76e..b43a2bbd5b 100644 index bae107e76..b43a2bbd5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java
@@ -1,12 +1,18 @@ @@ -1,12 +1,18 @@
@ -146,5 +146,5 @@ index bae107e76e..b43a2bbd5b 100644
+ // Paper end + // Paper end
} }
-- --
2.22.0 2.17.1

View file

@ -1,11 +1,11 @@
From 2a0f99a82bad43467508e0b49046f76ba3df9e0d Mon Sep 17 00:00:00 2001 From b38436d03816c855f097ca257d05d9bf16b7ce93 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 19 Oct 2018 19:38:45 -0500 Date: Fri, 19 Oct 2018 19:38:45 -0500
Subject: [PATCH] Fix MC-93764 Subject: [PATCH] Fix MC-93764
diff --git a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java diff --git a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java
index 715faef171..b97408cffa 100644 index 9d4fcf8bc..4b9760709 100644
--- a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java --- a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java
+++ b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java +++ b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java
@@ -27,7 +27,7 @@ public class WorldProviderTheEnd extends WorldProvider { @@ -27,7 +27,7 @@ public class WorldProviderTheEnd extends WorldProvider {
@ -18,5 +18,5 @@ index 715faef171..b97408cffa 100644
@Override @Override
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From a07c0dd20ed878f0b680301efe4a1389be54f8af Mon Sep 17 00:00:00 2001 From 50b3ce124cd8ee5a083bbca9b1dfc9ba2e4e0599 Mon Sep 17 00:00:00 2001
From: Gabriele C <sgdc3.mail@gmail.com> From: Gabriele C <sgdc3.mail@gmail.com>
Date: Mon, 22 Oct 2018 17:34:10 +0200 Date: Mon, 22 Oct 2018 17:34:10 +0200
Subject: [PATCH] Add option to prevent players from moving into unloaded Subject: [PATCH] Add option to prevent players from moving into unloaded
@ -6,12 +6,12 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 3b24fbdbf..c7ff264cb 100644 index fe3e78f36..4bcba0a2b 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -434,4 +434,9 @@ public class PaperWorldConfig { @@ -434,4 +434,9 @@ public class PaperWorldConfig {
this.armorStandTick = this.getBoolean("armor-stands-tick", this.armorStandTick); waterOverLavaFlowSpeed = getInt("water-over-lava-flow-speed", 5);
log("ArmorStand ticking is " + (this.armorStandTick ? "enabled" : "disabled") + " by default"); log("Water over lava flow speed: " + waterOverLavaFlowSpeed);
} }
+ +
+ public boolean preventMovingIntoUnloadedChunks = false; + public boolean preventMovingIntoUnloadedChunks = false;
@ -20,10 +20,10 @@ index 3b24fbdbf..c7ff264cb 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index a814d8cae..b0fd4d800 100644 index 77c375f71..ccad0a601 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -348,6 +348,13 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -351,6 +351,13 @@ public class PlayerConnection implements PacketListenerPlayIn {
} }
speed *= 2f; // TODO: Get the speed of the vehicle instead of the player speed *= 2f; // TODO: Get the speed of the vehicle instead of the player
@ -37,25 +37,25 @@ index a814d8cae..b0fd4d800 100644
if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isExemptPlayer()) { if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isExemptPlayer()) {
// CraftBukkit end // CraftBukkit end
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", entity.getDisplayName().getString(), this.player.getDisplayName().getString(), d6, d7, d8); PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", entity.getDisplayName().getString(), this.player.getDisplayName().getString(), d6, d7, d8);
@@ -892,9 +899,9 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -900,9 +907,9 @@ public class PlayerConnection implements PacketListenerPlayIn {
double d1 = this.player.locY; double d1 = this.player.locY();
double d2 = this.player.locZ; double d2 = this.player.locZ();
double d3 = this.player.locY; double d3 = this.player.locY();
- double d4 = packetplayinflying.a(this.player.locX); - double d4 = packetplayinflying.a(this.player.locX());
+ double d4 = packetplayinflying.a(this.player.locX);double toX = d4; // Paper - OBFHELPER + double d4 = packetplayinflying.a(this.player.locX());double toX = d4; // Paper - OBFHELPER
double d5 = packetplayinflying.b(this.player.locY); double d5 = packetplayinflying.b(this.player.locY());
- double d6 = packetplayinflying.c(this.player.locZ); - double d6 = packetplayinflying.c(this.player.locZ());
+ double d6 = packetplayinflying.c(this.player.locZ);double toZ = d6; // Paper - OBFHELPER + double d6 = packetplayinflying.c(this.player.locZ());double toZ = d6; // Paper - OBFHELPER
float f = packetplayinflying.a(this.player.yaw); float f = packetplayinflying.a(this.player.yaw);
float f1 = packetplayinflying.b(this.player.pitch); float f1 = packetplayinflying.b(this.player.pitch);
double d7 = d4 - this.l; double d7 = d4 - this.l;
@@ -933,6 +940,12 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -941,6 +948,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
} else { } else {
speed = player.abilities.walkSpeed * 10f; speed = player.abilities.walkSpeed * 10f;
} }
+ // Paper start - Prevent moving into unloaded chunks + // Paper start - Prevent moving into unloaded chunks
+ if (player.world.paperConfig.preventMovingIntoUnloadedChunks && (this.player.locX != toX || this.player.locZ != toZ) && !worldserver.isChunkLoaded((int) Math.floor(toX) >> 4, (int) Math.floor(toZ) >> 4)) { + if (player.world.paperConfig.preventMovingIntoUnloadedChunks && (this.player.locX() != toX || this.player.locZ() != toZ) && !worldserver.isChunkLoaded((int) Math.floor(toX) >> 4, (int) Math.floor(toZ) >> 4)) {
+ this.internalTeleport(this.player.locX, this.player.locY, this.player.locZ, this.player.yaw, this.player.pitch, Collections.emptySet()); + this.internalTeleport(this.player.locX(), this.player.locY(), this.player.locZ(), this.player.yaw, this.player.pitch, Collections.emptySet());
+ return; + return;
+ } + }
+ // Paper end + // Paper end
@ -63,5 +63,5 @@ index a814d8cae..b0fd4d800 100644
if (!this.player.H() && (!this.player.getWorldServer().getGameRules().getBoolean(GameRules.DISABLE_ELYTRA_MOVEMENT_CHECK) || !this.player.isGliding())) { if (!this.player.H() && (!this.player.getWorldServer().getGameRules().getBoolean(GameRules.DISABLE_ELYTRA_MOVEMENT_CHECK) || !this.player.isGliding())) {
float f2 = this.player.isGliding() ? 300.0F : 100.0F; float f2 = this.player.isGliding() ? 300.0F : 100.0F;
-- --
2.23.0 2.17.1

View file

@ -1,26 +1,26 @@
From b6859fecadd83ec887760612d07fdc7b8791df9d Mon Sep 17 00:00:00 2001 From fe691a23845cf0576a6a8e257623a97a102876bb Mon Sep 17 00:00:00 2001
From: GreenMeanie <GreenMeanieMC@gmail.com> From: GreenMeanie <GreenMeanieMC@gmail.com>
Date: Sat, 20 Oct 2018 22:34:02 -0400 Date: Sat, 20 Oct 2018 22:34:02 -0400
Subject: [PATCH] Reset players airTicks on respawn Subject: [PATCH] Reset players airTicks on respawn
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 4833a9652..19bbcc043 100644 index 5d31068d7..365984bb8 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2323,6 +2323,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -2326,6 +2326,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} }
+ public int getMaxAirTicks() { return bp(); } // Paper - OBFHELPER + public int getMaxAirTicks() { return bw(); } // Paper - OBFHELPER
public int bp() { public int bw() {
return 300; return 300;
} }
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index ad5dcab78..ff398e5ed 100644 index bdb73b68a..c15543a5c 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1869,6 +1869,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -1832,6 +1832,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} }
this.setHealth(this.getMaxHealth()); this.setHealth(this.getMaxHealth());
@ -29,5 +29,5 @@ index ad5dcab78..ff398e5ed 100644
this.fallDistance = 0; this.fallDistance = 0;
this.foodData = new FoodMetaData(this); this.foodData = new FoodMetaData(this);
-- --
2.23.0 2.17.1

View file

@ -1,4 +1,4 @@
From 1d67c5e8d1a1d69e96fb7c06a41f3942d5afbb9a Mon Sep 17 00:00:00 2001 From 29a2005d88440d66d642aa51165df37c50873f75 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach@zachbr.io> From: Zach Brown <zach@zachbr.io>
Date: Tue, 23 Oct 2018 20:53:43 -0400 Date: Tue, 23 Oct 2018 20:53:43 -0400
Subject: [PATCH] Strip private area unicode characters from signs Subject: [PATCH] Strip private area unicode characters from signs
@ -20,11 +20,11 @@ think of no reason to use it.
Fixes GH-1571 Fixes GH-1571
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
index 74fede54e1..1b01792730 100644 index 03f6ddf00..4c2273497 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java --- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -14,6 +14,11 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -11,6 +11,11 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
private final String[] k = new String[4]; private final String[] g = new String[4];
private EnumColor color; private EnumColor color;
+ // Paper start - Strip invalid unicode from signs on load + // Paper start - Strip invalid unicode from signs on load
@ -35,7 +35,7 @@ index 74fede54e1..1b01792730 100644
public TileEntitySign() { public TileEntitySign() {
super(TileEntityTypes.SIGN); super(TileEntityTypes.SIGN);
this.color = EnumColor.BLACK; this.color = EnumColor.BLACK;
@@ -36,6 +41,12 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -33,6 +38,12 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
// CraftBukkit end // CraftBukkit end
nbttagcompound.setString("Color", this.color.b()); nbttagcompound.setString("Color", this.color.b());
@ -48,7 +48,7 @@ index 74fede54e1..1b01792730 100644
return nbttagcompound; return nbttagcompound;
} }
@@ -45,6 +56,11 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -42,6 +53,11 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
super.load(nbttagcompound); super.load(nbttagcompound);
this.color = EnumColor.a(nbttagcompound.getString("Color"), EnumColor.BLACK); this.color = EnumColor.a(nbttagcompound.getString("Color"), EnumColor.BLACK);
@ -60,7 +60,7 @@ index 74fede54e1..1b01792730 100644
// CraftBukkit start - Add an option to convert signs correctly // CraftBukkit start - Add an option to convert signs correctly
// This is done with a flag instead of all the time because // This is done with a flag instead of all the time because
// we have no way to tell whether a sign is from 1.7.10 or 1.8 // we have no way to tell whether a sign is from 1.7.10 or 1.8
@@ -57,6 +73,19 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -54,6 +70,19 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
s = "\"\""; s = "\"\"";
} }
@ -80,8 +80,8 @@ index 74fede54e1..1b01792730 100644
try { try {
//IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s.isEmpty() ? "\"\"" : s); // Paper - move down - the old format might throw a json error //IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s.isEmpty() ? "\"\"" : s); // Paper - move down - the old format might throw a json error
@@ -83,6 +112,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -80,6 +109,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
this.k[i] = null; this.g[i] = null;
} }
+ if (ranUnicodeRemoval) this.privateUnicodeRemoved = true; // Paper - Flag to write NBT + if (ranUnicodeRemoval) this.privateUnicodeRemoved = true; // Paper - Flag to write NBT
@ -89,5 +89,5 @@ index 74fede54e1..1b01792730 100644
public void a(int i, IChatBaseComponent ichatbasecomponent) { public void a(int i, IChatBaseComponent ichatbasecomponent) {
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 2e468b10d36cc2a5c93163aeea1eb27af12ad9be Mon Sep 17 00:00:00 2001 From d6d90a38d970a46fe21fb229e52ce11f24fb313c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 23 Oct 2018 20:25:05 -0400 Date: Tue, 23 Oct 2018 20:25:05 -0400
Subject: [PATCH] Don't sleep after profile lookups if not needed Subject: [PATCH] Don't sleep after profile lookups if not needed
@ -7,7 +7,7 @@ Mojang was sleeping even if we had no more requests to go after
the current one finished, resulting in 100ms lost per profile lookup the current one finished, resulting in 100ms lost per profile lookup
diff --git a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java diff --git a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
index 71e48e87b4..23f1447cfc 100644 index 71e48e87b..23f1447cf 100644
--- a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java --- a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
+++ b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java +++ b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
@@ -42,6 +42,7 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository { @@ -42,6 +42,7 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository {
@ -32,5 +32,5 @@ index 71e48e87b4..23f1447cfc 100644
try { try {
Thread.sleep(DELAY_BETWEEN_PAGES); Thread.sleep(DELAY_BETWEEN_PAGES);
-- --
2.22.0 2.17.1

View file

@ -1,11 +1,11 @@
From adfe280f2c3a2298566c1977081665f1e032f17c Mon Sep 17 00:00:00 2001 From 1d32757ed24265d2a95f3aa707691a352a02b4b2 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 23 Oct 2018 23:14:38 -0400 Date: Tue, 23 Oct 2018 23:14:38 -0400
Subject: [PATCH] Use more reasonable thread count default for bootstrap Subject: [PATCH] Use more reasonable thread count default for bootstrap
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 538ed5bb9b..35594821ce 100644 index 7e224ebef..dc6d03062 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
@@ -66,7 +66,7 @@ public class SystemUtils { @@ -66,7 +66,7 @@ public class SystemUtils {
@ -18,5 +18,5 @@ index 538ed5bb9b..35594821ce 100644
if (i <= 0) { if (i <= 0) {
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 1fd27d18045b686f8e5af4caf00cce897e9fb136 Mon Sep 17 00:00:00 2001 From 8088dd2c577b40267e6d2beb9c9ed3919b8e19d7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Fri, 2 Nov 2018 23:11:51 -0400 Date: Fri, 2 Nov 2018 23:11:51 -0400
Subject: [PATCH] Optimize World Time Updates Subject: [PATCH] Optimize World Time Updates
@ -8,10 +8,10 @@ the updates per world, so that we can re-use the same packet
object for every player unless they have per-player time enabled. object for every player unless they have per-player time enabled.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 40260dbd48..a7b63ab421 100644 index 3120f91de..8fc55d31a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1147,12 +1147,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1155,12 +1155,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
// Send time updates to everyone, it will get the right time from the world the player is in. // Send time updates to everyone, it will get the right time from the world the player is in.
@ -41,5 +41,5 @@ index 40260dbd48..a7b63ab421 100644
while (iterator.hasNext()) { while (iterator.hasNext()) {
-- --
2.22.1 2.17.1

View file

@ -1,4 +1,4 @@
From 4a487e8e51c0a91d3122c70728a8445771b2a478 Mon Sep 17 00:00:00 2001 From 2990bbb6467411f9fe27a6a8a5c7b064e94f2c94 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Mon, 5 Nov 2018 04:23:51 +0000 Date: Mon, 5 Nov 2018 04:23:51 +0000
Subject: [PATCH] Restore custom InventoryHolder support Subject: [PATCH] Restore custom InventoryHolder support
@ -17,7 +17,7 @@ will always work as intended in the past, those without will create implementati
based inventories. based inventories.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java
index 9957ed0402..ae280dd40b 100644 index 9957ed040..ae280dd40 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java --- a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java
@@ -39,10 +39,20 @@ public final class CraftInventoryCreator { @@ -39,10 +39,20 @@ public final class CraftInventoryCreator {
@ -42,5 +42,5 @@ index 9957ed0402..ae280dd40b 100644
} }
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From afad9f309b019f52a937784669996c434d9d8c0a Mon Sep 17 00:00:00 2001 From 0009fc84267605a552dfa51dbc975e2dcb50acea Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Thu, 8 Nov 2018 21:33:09 -0500 Date: Thu, 8 Nov 2018 21:33:09 -0500
Subject: [PATCH] Use Vanilla Minecart Speeds Subject: [PATCH] Use Vanilla Minecart Speeds
@ -6,10 +6,10 @@ Subject: [PATCH] Use Vanilla Minecart Speeds
CraftBukkit changed the values on flying speed, restore back to vanilla CraftBukkit changed the values on flying speed, restore back to vanilla
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index e1a684b370..6df2930e2d 100644 index 1b64ad824..4388186db 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -35,9 +35,9 @@ public abstract class EntityMinecartAbstract extends Entity { @@ -59,9 +59,9 @@ public abstract class EntityMinecartAbstract extends Entity {
private double derailedX = 0.5; private double derailedX = 0.5;
private double derailedY = 0.5; private double derailedY = 0.5;
private double derailedZ = 0.5; private double derailedZ = 0.5;
@ -23,5 +23,5 @@ index e1a684b370..6df2930e2d 100644
// CraftBukkit end // CraftBukkit end
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From baf72ff0e019bc0e5195cebbd153b519f3ed2711 Mon Sep 17 00:00:00 2001 From 3446daf325b2c2ee999a5dfc9f7e1f0395d074db Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Sat, 10 Nov 2018 05:15:21 +0000 Date: Sat, 10 Nov 2018 05:15:21 +0000
Subject: [PATCH] Fix SpongeAbsortEvent handling Subject: [PATCH] Fix SpongeAbsortEvent handling
@ -6,7 +6,7 @@ Subject: [PATCH] Fix SpongeAbsortEvent handling
Only process drops when the block is actually going to be removed Only process drops when the block is actually going to be removed
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index f687e86c4..e077359b0 100644 index 2262a8253..46490a943 100644
--- a/src/main/java/net/minecraft/server/Block.java --- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java
@@ -472,7 +472,7 @@ public class Block implements IMaterial { @@ -472,7 +472,7 @@ public class Block implements IMaterial {
@ -37,5 +37,5 @@ index 685a30f3f..9edf937a6 100644
} }
world.setTypeAndData(blockposition2, block.getHandle(), block.getFlag()); world.setTypeAndData(blockposition2, block.getHandle(), block.getFlag());
-- --
2.23.0 2.17.1

View file

@ -1,14 +1,14 @@
From df1b6feb04b62e6ff414815fdc5746fec3bd584f Mon Sep 17 00:00:00 2001 From 77a88c318a96133abb83de1f3713a713e95039bb Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 11 Nov 2018 21:01:09 +0000 Date: Sun, 11 Nov 2018 21:01:09 +0000
Subject: [PATCH] Don't allow digging into unloaded chunks Subject: [PATCH] Don't allow digging into unloaded chunks
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 9eb6982508..45c2777552 100644 index ccad0a601..d263897da 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1259,6 +1259,11 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -1271,6 +1271,11 @@ public class PlayerConnection implements PacketListenerPlayIn {
case START_DESTROY_BLOCK: case START_DESTROY_BLOCK:
case ABORT_DESTROY_BLOCK: case ABORT_DESTROY_BLOCK:
case STOP_DESTROY_BLOCK: case STOP_DESTROY_BLOCK:
@ -21,5 +21,5 @@ index 9eb6982508..45c2777552 100644
return; return;
default: default:
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 0834959b160570b5a53a63d118ae4c460e857aed Mon Sep 17 00:00:00 2001 From 96fb816d07d1115f2a2dd941c55277d4c248ff14 Mon Sep 17 00:00:00 2001
From: theosib <millerti@172.16.221.1> From: theosib <millerti@172.16.221.1>
Date: Thu, 27 Sep 2018 01:43:35 -0600 Date: Thu, 27 Sep 2018 01:43:35 -0600
Subject: [PATCH] Optimize redstone algorithm Subject: [PATCH] Optimize redstone algorithm
@ -19,7 +19,7 @@ Aside from making the obvious class/function renames and obfhelpers I didn't nee
Just added Bukkit's event system and took a few liberties with dead code and comment misspellings. Just added Bukkit's event system and took a few liberties with dead code and comment misspellings.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index c7ff264cb..1ad6d6483 100644 index 4bcba0a2b..3b1289099 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -439,4 +439,14 @@ public class PaperWorldConfig { @@ -439,4 +439,14 @@ public class PaperWorldConfig {
@ -956,7 +956,7 @@ index 000000000..cf5661f1c
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/BlockRedstoneWire.java b/src/main/java/net/minecraft/server/BlockRedstoneWire.java diff --git a/src/main/java/net/minecraft/server/BlockRedstoneWire.java b/src/main/java/net/minecraft/server/BlockRedstoneWire.java
index cffb8de4f..337c03d1d 100644 index 5bf2fc0b3..52a4982ec 100644
--- a/src/main/java/net/minecraft/server/BlockRedstoneWire.java --- a/src/main/java/net/minecraft/server/BlockRedstoneWire.java
+++ b/src/main/java/net/minecraft/server/BlockRedstoneWire.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneWire.java
@@ -1,5 +1,7 @@ @@ -1,5 +1,7 @@
@ -968,7 +968,7 @@ index cffb8de4f..337c03d1d 100644
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
@@ -22,8 +24,8 @@ public class BlockRedstoneWire extends Block { @@ -22,8 +24,8 @@ public class BlockRedstoneWire extends Block {
public static final BlockStateInteger POWER = BlockProperties.as; public static final BlockStateInteger POWER = BlockProperties.at;
public static final Map<EnumDirection, BlockStateEnum<BlockPropertyRedstoneSide>> f = Maps.newEnumMap(ImmutableMap.of(EnumDirection.NORTH, BlockRedstoneWire.NORTH, EnumDirection.EAST, BlockRedstoneWire.EAST, EnumDirection.SOUTH, BlockRedstoneWire.SOUTH, EnumDirection.WEST, BlockRedstoneWire.WEST)); public static final Map<EnumDirection, BlockStateEnum<BlockPropertyRedstoneSide>> f = Maps.newEnumMap(ImmutableMap.of(EnumDirection.NORTH, BlockRedstoneWire.NORTH, EnumDirection.EAST, BlockRedstoneWire.EAST, EnumDirection.SOUTH, BlockRedstoneWire.SOUTH, EnumDirection.WEST, BlockRedstoneWire.WEST));
protected static final VoxelShape[] g = new VoxelShape[]{Block.a(3.0D, 0.0D, 3.0D, 13.0D, 1.0D, 13.0D), Block.a(3.0D, 0.0D, 3.0D, 13.0D, 1.0D, 16.0D), Block.a(0.0D, 0.0D, 3.0D, 13.0D, 1.0D, 13.0D), Block.a(0.0D, 0.0D, 3.0D, 13.0D, 1.0D, 16.0D), Block.a(3.0D, 0.0D, 0.0D, 13.0D, 1.0D, 13.0D), Block.a(3.0D, 0.0D, 0.0D, 13.0D, 1.0D, 16.0D), Block.a(0.0D, 0.0D, 0.0D, 13.0D, 1.0D, 13.0D), Block.a(0.0D, 0.0D, 0.0D, 13.0D, 1.0D, 16.0D), Block.a(3.0D, 0.0D, 3.0D, 16.0D, 1.0D, 13.0D), Block.a(3.0D, 0.0D, 3.0D, 16.0D, 1.0D, 16.0D), Block.a(0.0D, 0.0D, 3.0D, 16.0D, 1.0D, 13.0D), Block.a(0.0D, 0.0D, 3.0D, 16.0D, 1.0D, 16.0D), Block.a(3.0D, 0.0D, 0.0D, 16.0D, 1.0D, 13.0D), Block.a(3.0D, 0.0D, 0.0D, 16.0D, 1.0D, 16.0D), Block.a(0.0D, 0.0D, 0.0D, 16.0D, 1.0D, 13.0D), Block.a(0.0D, 0.0D, 0.0D, 16.0D, 1.0D, 16.0D)}; protected static final VoxelShape[] g = new VoxelShape[]{Block.a(3.0D, 0.0D, 3.0D, 13.0D, 1.0D, 13.0D), Block.a(3.0D, 0.0D, 3.0D, 13.0D, 1.0D, 16.0D), Block.a(0.0D, 0.0D, 3.0D, 13.0D, 1.0D, 13.0D), Block.a(0.0D, 0.0D, 3.0D, 13.0D, 1.0D, 16.0D), Block.a(3.0D, 0.0D, 0.0D, 13.0D, 1.0D, 13.0D), Block.a(3.0D, 0.0D, 0.0D, 13.0D, 1.0D, 16.0D), Block.a(0.0D, 0.0D, 0.0D, 13.0D, 1.0D, 13.0D), Block.a(0.0D, 0.0D, 0.0D, 13.0D, 1.0D, 16.0D), Block.a(3.0D, 0.0D, 3.0D, 16.0D, 1.0D, 13.0D), Block.a(3.0D, 0.0D, 3.0D, 16.0D, 1.0D, 16.0D), Block.a(0.0D, 0.0D, 3.0D, 16.0D, 1.0D, 13.0D), Block.a(0.0D, 0.0D, 3.0D, 16.0D, 1.0D, 16.0D), Block.a(3.0D, 0.0D, 0.0D, 16.0D, 1.0D, 13.0D), Block.a(3.0D, 0.0D, 0.0D, 16.0D, 1.0D, 16.0D), Block.a(0.0D, 0.0D, 0.0D, 16.0D, 1.0D, 13.0D), Block.a(0.0D, 0.0D, 0.0D, 16.0D, 1.0D, 16.0D)};
- private boolean h = true; - private boolean h = true;
@ -1124,10 +1124,10 @@ index cffb8de4f..337c03d1d 100644
c(iblockdata, world, blockposition); c(iblockdata, world, blockposition);
world.a(blockposition, false); world.a(blockposition, false);
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 dc0d89ee6..6189935bd 100644 index 8e3367435..e8f83627c 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
@@ -594,6 +594,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -526,6 +526,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
} }
@ -1135,7 +1135,7 @@ index dc0d89ee6..6189935bd 100644
public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) { public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) {
if (!this.isClientSide) { if (!this.isClientSide) {
IBlockData iblockdata = this.getType(blockposition); IBlockData iblockdata = this.getType(blockposition);
@@ -1358,6 +1359,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -1275,6 +1276,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0)))); return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0))));
} }
@ -1144,5 +1144,5 @@ index dc0d89ee6..6189935bd 100644
int i = 0; int i = 0;
EnumDirection[] aenumdirection = World.a; EnumDirection[] aenumdirection = World.a;
-- --
2.23.0 2.17.1

View file

@ -1,4 +1,4 @@
From 6e02846e06a944ed0bd1612330a2edee3e68a319 Mon Sep 17 00:00:00 2001 From 62b0d0ae1bef673ce8fc4c925dea50a12b56701c Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Thu, 15 Nov 2018 13:38:37 +0000 Date: Thu, 15 Nov 2018 13:38:37 +0000
Subject: [PATCH] force entity dismount during teleportation Subject: [PATCH] force entity dismount during teleportation
@ -20,10 +20,10 @@ this is going to be the best soultion all around.
Improvements/suggestions welcome! Improvements/suggestions welcome!
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 19bbcc043..75da08596 100644 index 365984bb8..0f2480521 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2045,12 +2045,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -2027,12 +2027,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} }
@ -41,7 +41,7 @@ index 19bbcc043..75da08596 100644
} }
} }
@@ -2101,7 +2104,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -2083,7 +2086,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return true; // CraftBukkit return true; // CraftBukkit
} }
@ -53,7 +53,7 @@ index 19bbcc043..75da08596 100644
if (entity.getVehicle() == this) { if (entity.getVehicle() == this) {
throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)");
} else { } else {
@@ -2111,7 +2117,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -2093,7 +2099,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) {
VehicleExitEvent event = new VehicleExitEvent( VehicleExitEvent event = new VehicleExitEvent(
(Vehicle) getBukkitEntity(), (Vehicle) getBukkitEntity(),
@ -62,7 +62,7 @@ index 19bbcc043..75da08596 100644
); );
Bukkit.getPluginManager().callEvent(event); Bukkit.getPluginManager().callEvent(event);
CraftEntity craftn = (CraftEntity) entity.getBukkitEntity().getVehicle(); CraftEntity craftn = (CraftEntity) entity.getBukkitEntity().getVehicle();
@@ -2122,7 +2128,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -2104,7 +2110,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} }
// CraftBukkit end // CraftBukkit end
// Spigot start // Spigot start
@ -72,10 +72,10 @@ index 19bbcc043..75da08596 100644
if (event.isCancelled()) { if (event.isCancelled()) {
return false; return false;
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 2342ea481..8a66b1dc5 100644 index 78e48f478..4bb24de9d 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java --- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -953,9 +953,11 @@ public abstract class EntityHuman extends EntityLiving { @@ -968,9 +968,11 @@ public abstract class EntityHuman extends EntityLiving {
return -0.35D; return -0.35D;
} }
@ -91,11 +91,11 @@ index 2342ea481..8a66b1dc5 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 1e53af2cc..d23968a7c 100644 index c6bd68919..317321395 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java --- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2673,11 +2673,13 @@ public abstract class EntityLiving extends Entity { @@ -2732,11 +2732,13 @@ public abstract class EntityLiving extends Entity {
return ((Byte) this.datawatcher.get(EntityLiving.ar) & 4) != 0; return ((Byte) this.datawatcher.get(EntityLiving.ao) & 4) != 0;
} }
- @Override - @Override
@ -109,13 +109,13 @@ index 1e53af2cc..d23968a7c 100644
- super.stopRiding(); - super.stopRiding();
+ super.stopRiding(suppressCancellation); // Paper - suppress + super.stopRiding(suppressCancellation); // Paper - suppress
if (entity != null && entity != this.getVehicle() && !this.world.isClientSide) { if (entity != null && entity != this.getVehicle() && !this.world.isClientSide) {
this.B(entity); this.a(entity);
} }
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 517bbf602..8eb662cef 100644 index c15543a5c..f41fd576d 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1002,11 +1002,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -985,11 +985,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} }
} }
@ -133,5 +133,5 @@ index 517bbf602..8eb662cef 100644
if (entity1 != entity && this.playerConnection != null) { if (entity1 != entity && this.playerConnection != null) {
-- --
2.23.0 2.17.1

View file

@ -1,4 +1,4 @@
From 81fc0d1616ca012b5475bedecbe3755cacb579ca Mon Sep 17 00:00:00 2001 From af6bf25c3137de313e090306d566b020ac70ef46 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Fri, 16 Nov 2018 23:08:50 -0500 Date: Fri, 16 Nov 2018 23:08:50 -0500
Subject: [PATCH] Book Size Limits Subject: [PATCH] Book Size Limits
@ -6,10 +6,10 @@ Subject: [PATCH] Book Size Limits
Puts some limits on the size of books. Puts some limits on the size of books.
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 63d8602927..8feb0efdcd 100644 index 7e85a0224..30f35304a 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -375,4 +375,11 @@ public class PaperConfig { @@ -351,4 +351,11 @@ public class PaperConfig {
velocitySecretKey = secret.getBytes(StandardCharsets.UTF_8); velocitySecretKey = secret.getBytes(StandardCharsets.UTF_8);
} }
} }
@ -22,7 +22,7 @@ index 63d8602927..8feb0efdcd 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 45c2777552..04b3791f36 100644 index d263897da..e5db2de26 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -14,6 +14,7 @@ import java.util.Iterator; @@ -14,6 +14,7 @@ import java.util.Iterator;
@ -33,7 +33,7 @@ index 45c2777552..04b3791f36 100644
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@@ -787,6 +788,42 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -795,6 +796,42 @@ public class PlayerConnection implements PacketListenerPlayIn {
@Override @Override
public void a(PacketPlayInBEdit packetplayinbedit) { public void a(PacketPlayInBEdit packetplayinbedit) {
@ -73,9 +73,9 @@ index 45c2777552..04b3791f36 100644
+ } + }
+ } + }
+ // Paper end + // Paper end
// CraftBukkit start
PlayerConnectionUtils.ensureMainThread(packetplayinbedit, this, this.player.getWorldServer()); PlayerConnectionUtils.ensureMainThread(packetplayinbedit, this, this.player.getWorldServer());
// CraftBukkit start
if (this.lastBookTick + 20 > MinecraftServer.currentTick) { if (this.lastBookTick + 20 > MinecraftServer.currentTick) {
-- --
2.22.0 2.17.1

View file

@ -1,33 +0,0 @@
From e8401927cb5951f9f934619dc3b1afa8be467dab Mon Sep 17 00:00:00 2001
From: MisterVector <whizkid3000@hotmail.com>
Date: Thu, 1 Nov 2018 14:50:05 -0700
Subject: [PATCH] MC-136865: Use valid item for enchantment checks on block
break
When an itemstack runs out of durability, the amount is reduced to
0 which then marks the item as invalid. This causes the last unit
of durability to not apply enchantments as the enchantment level
check sees the item as a dud.
keep the clone of the item used to a non empty value so it represents
the item used.
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index a898535d1b..f953bd7ceb 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -352,9 +352,10 @@ public class PlayerInteractManager {
ItemStack itemstack = this.player.getItemInMainHand();
boolean flag1 = this.player.hasBlock(iblockdata);
+ ItemStack itemstack1 = flag && flag1 && event.isDropItems() && !itemstack.isEmpty() ? itemstack.cloneItemStack() : ItemStack.a; // Paper - MC-136865 - clone before use
itemstack.a(this.world, iblockdata, blockposition, this.player);
if (flag && flag1 && event.isDropItems()) { // CraftBukkit - Check if block should drop items
- ItemStack itemstack1 = itemstack.isEmpty() ? ItemStack.a : itemstack.cloneItemStack();
+ //ItemStack itemstack1 = itemstack.isEmpty() ? ItemStack.a : itemstack.cloneItemStack(); // Paper - MC-136865 - move up
block.a(this.world, this.player, blockposition, iblockdata, tileentity, itemstack1);
}
--
2.22.0

View file

@ -1,14 +1,14 @@
From baf1582d76a61343a81f2fb410f50b28e5e74d46 Mon Sep 17 00:00:00 2001 From ebbe338096c77f671dec0bb6d35054d802bcddb8 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 18 Nov 2018 19:49:56 +0000 Date: Sun, 18 Nov 2018 19:49:56 +0000
Subject: [PATCH] Make the default permission message configurable Subject: [PATCH] Make the default permission message configurable
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 8feb0efdcd..81987e4ad9 100644 index 30f35304a..546a1cfe0 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -21,6 +21,7 @@ import java.util.regex.Pattern; @@ -20,6 +20,7 @@ import java.util.regex.Pattern;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -16,7 +16,7 @@ index 8feb0efdcd..81987e4ad9 100644
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.InvalidConfigurationException;
@@ -281,6 +282,11 @@ public class PaperConfig { @@ -280,6 +281,11 @@ public class PaperConfig {
connectionThrottleKickMessage = getString("messages.kick.connection-throttle", connectionThrottleKickMessage); connectionThrottleKickMessage = getString("messages.kick.connection-throttle", connectionThrottleKickMessage);
} }
@ -29,10 +29,10 @@ index 8feb0efdcd..81987e4ad9 100644
private static void savePlayerData() { private static void savePlayerData() {
savePlayerData = getBoolean("settings.save-player-data", savePlayerData); savePlayerData = getBoolean("settings.save-player-data", savePlayerData);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index dfa78653aa..b89486beb1 100644 index 7e810e008..58b343259 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2138,6 +2138,11 @@ public final class CraftServer implements Server { @@ -2141,6 +2141,11 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions; return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
} }
@ -45,5 +45,5 @@ index dfa78653aa..b89486beb1 100644
public com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nonnull UUID uuid) { public com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nonnull UUID uuid) {
return createProfile(uuid, null); return createProfile(uuid, null);
-- --
2.22.0 2.17.1

View file

@ -1,14 +1,14 @@
From f907156715854ece053295bfc0ec77b0b0ee8ea6 Mon Sep 17 00:00:00 2001 From fc21da59d50e0969a0d038aaf58676bbaa01f4ef Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sun, 7 Oct 2018 04:29:59 -0500 Date: Sun, 7 Oct 2018 04:29:59 -0500
Subject: [PATCH] Add more Zombie API Subject: [PATCH] Add more Zombie API
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 09112a8b0..d00e99cdb 100644 index cbaed08f5..6bad1687f 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java --- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -1247,6 +1247,8 @@ public abstract class EntityInsentient extends EntityLiving { @@ -1253,6 +1253,8 @@ public abstract class EntityInsentient extends EntityLiving {
this.datawatcher.set(EntityInsentient.b, flag ? (byte) (b0 | 2) : (byte) (b0 & -3)); this.datawatcher.set(EntityInsentient.b, flag ? (byte) (b0 | 2) : (byte) (b0 & -3));
} }
@ -18,11 +18,11 @@ index 09112a8b0..d00e99cdb 100644
byte b0 = (Byte) this.datawatcher.get(EntityInsentient.b); byte b0 = (Byte) this.datawatcher.get(EntityInsentient.b);
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 832375f27..cdaa7f636 100644 index c8e4dcdac..1c2c05ae3 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java --- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -33,6 +33,7 @@ public class EntityZombie extends EntityMonster { @@ -33,6 +33,7 @@ public class EntityZombie extends EntityMonster {
private int bF; private int bC;
public int drownedConversionTime; public int drownedConversionTime;
private int lastTick = MinecraftServer.currentTick; // CraftBukkit - add field private int lastTick = MinecraftServer.currentTick; // CraftBukkit - add field
+ private boolean shouldBurnInDay = true; // Paper + private boolean shouldBurnInDay = true; // Paper
@ -48,15 +48,15 @@ index 832375f27..cdaa7f636 100644
+ } + }
+ // Paper end + // Paper end
+ +
protected void ea() { protected void ev() {
this.b(EntityTypes.DROWNED); this.b(EntityTypes.DROWNED);
this.world.a((EntityHuman) null, 1040, new BlockPosition(this), 0); this.world.a((EntityHuman) null, 1040, new BlockPosition(this), 0);
@@ -258,10 +267,17 @@ public class EntityZombie extends EntityMonster { @@ -292,10 +301,17 @@ public class EntityZombie extends EntityMonster {
} }
} }
+ public boolean shouldBurnInDay() { return I_(); } // Paper - OBFHELPER + public boolean shouldBurnInDay() { return K_(); } // Paper - OBFHELPER
protected boolean I_() { protected boolean K_() {
- return true; - return true;
+ return shouldBurnInDay; + return shouldBurnInDay;
} }
@ -70,15 +70,15 @@ index 832375f27..cdaa7f636 100644
@Override @Override
public boolean damageEntity(DamageSource damagesource, float f) { public boolean damageEntity(DamageSource damagesource, float f) {
if (super.damageEntity(damagesource, f)) { if (super.damageEntity(damagesource, f)) {
@@ -379,6 +395,7 @@ public class EntityZombie extends EntityMonster { @@ -413,6 +429,7 @@ public class EntityZombie extends EntityMonster {
nbttagcompound.setBoolean("CanBreakDoors", this.ed()); nbttagcompound.setBoolean("CanBreakDoors", this.ey());
nbttagcompound.setInt("InWaterTime", this.isInWater() ? this.bF : -1); nbttagcompound.setInt("InWaterTime", this.isInWater() ? this.bC : -1);
nbttagcompound.setInt("DrownedConversionTime", this.isDrownConverting() ? this.drownedConversionTime : -1); nbttagcompound.setInt("DrownedConversionTime", this.isDrownConverting() ? this.drownedConversionTime : -1);
+ nbttagcompound.setBoolean("Paper.ShouldBurnInDay", shouldBurnInDay); // Paper + nbttagcompound.setBoolean("Paper.ShouldBurnInDay", shouldBurnInDay); // Paper
} }
@Override @Override
@@ -393,7 +410,11 @@ public class EntityZombie extends EntityMonster { @@ -427,7 +444,11 @@ public class EntityZombie extends EntityMonster {
if (nbttagcompound.hasKeyOfType("DrownedConversionTime", 99) && nbttagcompound.getInt("DrownedConversionTime") > -1) { if (nbttagcompound.hasKeyOfType("DrownedConversionTime", 99) && nbttagcompound.getInt("DrownedConversionTime") > -1) {
this.startDrownedConversion(nbttagcompound.getInt("DrownedConversionTime")); this.startDrownedConversion(nbttagcompound.getInt("DrownedConversionTime"));
} }
@ -138,5 +138,5 @@ index 0429cf020..c4320dbb6 100644
+ // Paper end + // Paper end
} }
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From ff3dab598aaddf30e1de92362c108cefd4556caf Mon Sep 17 00:00:00 2001 From 28c7246755b0d632c7fb7ced86c8d915acf5cad6 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 26 Nov 2018 19:21:58 -0500 Date: Mon, 26 Nov 2018 19:21:58 -0500
Subject: [PATCH] Prevent rayTrace from loading chunks Subject: [PATCH] Prevent rayTrace from loading chunks
@ -7,7 +7,7 @@ ray tracing into an unloaded chunk should be treated as a miss
this saves a ton of lag for when AI tries to raytrace near unloaded chunks. this saves a ton of lag for when AI tries to raytrace near unloaded chunks.
diff --git a/src/main/java/net/minecraft/server/IBlockAccess.java b/src/main/java/net/minecraft/server/IBlockAccess.java diff --git a/src/main/java/net/minecraft/server/IBlockAccess.java b/src/main/java/net/minecraft/server/IBlockAccess.java
index 0dff023529..29cdc00875 100644 index 0dff02352..29cdc0087 100644
--- a/src/main/java/net/minecraft/server/IBlockAccess.java --- a/src/main/java/net/minecraft/server/IBlockAccess.java
+++ b/src/main/java/net/minecraft/server/IBlockAccess.java +++ b/src/main/java/net/minecraft/server/IBlockAccess.java
@@ -41,7 +41,15 @@ public interface IBlockAccess { @@ -41,7 +41,15 @@ public interface IBlockAccess {
@ -28,5 +28,5 @@ index 0dff023529..29cdc00875 100644
Vec3D vec3d = raytrace1.b(); Vec3D vec3d = raytrace1.b();
Vec3D vec3d1 = raytrace1.a(); Vec3D vec3d1 = raytrace1.a();
-- --
2.22.1 2.17.1

View file

@ -1,4 +1,4 @@
From b99dd3033f3933d54f796e9b0deabf828e7380b4 Mon Sep 17 00:00:00 2001 From 1489b2b551819fbd5dc80491d34ad50655279569 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 27 Nov 2018 21:18:06 -0500 Date: Tue, 27 Nov 2018 21:18:06 -0500
Subject: [PATCH] Handle Large Packets disconnecting client Subject: [PATCH] Handle Large Packets disconnecting client
@ -7,7 +7,7 @@ If a players inventory is too big to send in a single packet,
split the inventory set into multiple packets instead. split the inventory set into multiple packets instead.
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index 046196d54d..d4aad8a5b7 100644 index 046196d54..d4aad8a5b 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java --- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -97,6 +97,15 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> { @@ -97,6 +97,15 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -27,7 +27,7 @@ index 046196d54d..d4aad8a5b7 100644
NetworkManager.LOGGER.debug("Skipping packet due to errors", throwable.getCause()); NetworkManager.LOGGER.debug("Skipping packet due to errors", throwable.getCause());
} else { } else {
diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java
index 601d4d0fa2..2d8e6a2f4a 100644 index 601d4d0fa..2d8e6a2f4 100644
--- a/src/main/java/net/minecraft/server/Packet.java --- a/src/main/java/net/minecraft/server/Packet.java
+++ b/src/main/java/net/minecraft/server/Packet.java +++ b/src/main/java/net/minecraft/server/Packet.java
@@ -10,6 +10,12 @@ public interface Packet<T extends PacketListener> { @@ -10,6 +10,12 @@ public interface Packet<T extends PacketListener> {
@ -44,7 +44,7 @@ index 601d4d0fa2..2d8e6a2f4a 100644
return false; return false;
} }
diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java
index 63c4dbd327..b0cfef52cb 100644 index 63c4dbd32..b0cfef52c 100644
--- a/src/main/java/net/minecraft/server/PacketEncoder.java --- a/src/main/java/net/minecraft/server/PacketEncoder.java
+++ b/src/main/java/net/minecraft/server/PacketEncoder.java +++ b/src/main/java/net/minecraft/server/PacketEncoder.java
@@ -49,7 +49,31 @@ public class PacketEncoder extends MessageToByteEncoder<Packet<?>> { @@ -49,7 +49,31 @@ public class PacketEncoder extends MessageToByteEncoder<Packet<?>> {
@ -80,20 +80,20 @@ index 63c4dbd327..b0cfef52cb 100644
+ // Paper end + // Paper end
} }
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
index d19a30ad87..58eccd9c63 100644 index 1fcbbd698..a0b87f89d 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -68,7 +68,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> { @@ -79,7 +79,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
this.d = packetdataserializer.l();
int i = packetdataserializer.i(); int i = packetdataserializer.i();
- if (i > 2097152) { - if (i > 2097152) {
+ if (i > 2097152) { // Paper - if this changes, update PacketEncoder + if (i > 2097152) { // Paper - if this changes, update PacketEncoder
throw new RuntimeException("Chunk Packet trying to allocate too much memory on read."); throw new RuntimeException("Chunk Packet trying to allocate too much memory on read.");
} else { } else {
this.e = new byte[i]; this.f = new byte[i];
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java b/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java diff --git a/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java b/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java
index f7c3655671..631234324d 100644 index f7c365567..631234324 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java --- a/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java
@@ -9,6 +9,15 @@ public class PacketPlayOutWindowItems implements Packet<PacketListenerPlayOut> { @@ -9,6 +9,15 @@ public class PacketPlayOutWindowItems implements Packet<PacketListenerPlayOut> {
@ -113,5 +113,5 @@ index f7c3655671..631234324d 100644
public PacketPlayOutWindowItems(int i, NonNullList<ItemStack> nonnulllist) { public PacketPlayOutWindowItems(int i, NonNullList<ItemStack> nonnulllist) {
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 362f1022d736a4af384ee4d726362fcfa97f11d2 Mon Sep 17 00:00:00 2001 From 9d1b272b4ccf35d5f84c79ca400de67e0a6b3d3b Mon Sep 17 00:00:00 2001
From: Zach Brown <zach@zachbr.io> From: Zach Brown <zach@zachbr.io>
Date: Tue, 11 Dec 2018 22:25:07 -0500 Date: Tue, 11 Dec 2018 22:25:07 -0500
Subject: [PATCH] Lazy init world storage in CraftOfflinePlayer Subject: [PATCH] Lazy init world storage in CraftOfflinePlayer
@ -8,7 +8,7 @@ worlds loaded. This is typically a rare occurrence but probably one that
should be covered as best we can. should be covered as best we can.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
index 6a448c02ec..c1ef1c950d 100644 index 6a448c02e..c1ef1c950 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -25,12 +25,12 @@ import org.bukkit.plugin.Plugin; @@ -25,12 +25,12 @@ import org.bukkit.plugin.Plugin;
@ -61,5 +61,5 @@ index 6a448c02ec..c1ef1c950d 100644
@Override @Override
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 2371a7cce1890e7c955d0dff71803eacbcaf0c16 Mon Sep 17 00:00:00 2001 From 95881a068c457b9003d460c0c67d42489eb36a26 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com> From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sun, 7 Oct 2018 12:05:28 -0700 Date: Sun, 7 Oct 2018 12:05:28 -0700
Subject: [PATCH] Add PlayerConnectionCloseEvent Subject: [PATCH] Add PlayerConnectionCloseEvent
@ -34,7 +34,7 @@ how PlayerPreLoginEvent interacts with PlayerConnectionCloseEvent
is undefined. is undefined.
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
index 41b2c90c3a..a8773037e5 100644 index c3d57461d..a6b22254a 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java --- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -35,9 +35,9 @@ public class LoginListener implements PacketLoginInListener { @@ -35,9 +35,9 @@ public class LoginListener implements PacketLoginInListener {
@ -50,7 +50,7 @@ index 41b2c90c3a..a8773037e5 100644
private SecretKey loginKey; private SecretKey loginKey;
private EntityPlayer l; private EntityPlayer l;
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index d4aad8a5b7..b1dededc15 100644 index d4aad8a5b..b1dededc1 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java --- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -336,6 +336,26 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> { @@ -336,6 +336,26 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -81,5 +81,5 @@ index d4aad8a5b7..b1dededc15 100644
} }
-- --
2.22.0 2.17.1

View file

@ -1,26 +1,26 @@
From 27a2999cffd04b8c7d4310a2aba040bad333a70a Mon Sep 17 00:00:00 2001 From 861bb451159a101b782480f03f81c74306d73d5b Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Tue, 18 Dec 2018 02:15:08 +0000 Date: Tue, 18 Dec 2018 02:15:08 +0000
Subject: [PATCH] Prevent Enderman from loading chunks Subject: [PATCH] Prevent Enderman from loading chunks
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
index 2d29da8560..a94ed1ae08 100644 index 9783576e3..13507edbc 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java --- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -325,7 +325,8 @@ public class EntityEnderman extends EntityMonster { @@ -344,7 +344,8 @@ public class EntityEnderman extends EntityMonster {
int j = MathHelper.floor(this.enderman.locY + random.nextDouble() * 3.0D); int j = MathHelper.floor(this.enderman.locY() + random.nextDouble() * 3.0D);
int k = MathHelper.floor(this.enderman.locZ - 2.0D + random.nextDouble() * 4.0D); int k = MathHelper.floor(this.enderman.locZ() - 2.0D + random.nextDouble() * 4.0D);
BlockPosition blockposition = new BlockPosition(i, j, k); BlockPosition blockposition = new BlockPosition(i, j, k);
- IBlockData iblockdata = world.getType(blockposition); - IBlockData iblockdata = world.getType(blockposition);
+ IBlockData iblockdata = world.getTypeIfLoaded(blockposition); // Paper + IBlockData iblockdata = world.getTypeIfLoaded(blockposition); // Paper
+ if (iblockdata == null) return; // Paper + if (iblockdata == null) return; // Paper
Block block = iblockdata.getBlock(); Block block = iblockdata.getBlock();
Vec3D vec3d = new Vec3D((double) MathHelper.floor(this.enderman.locX) + 0.5D, (double) j + 0.5D, (double) MathHelper.floor(this.enderman.locZ) + 0.5D); Vec3D vec3d = new Vec3D((double) MathHelper.floor(this.enderman.locX()) + 0.5D, (double) j + 0.5D, (double) MathHelper.floor(this.enderman.locZ()) + 0.5D);
Vec3D vec3d1 = new Vec3D((double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D); Vec3D vec3d1 = new Vec3D((double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D);
@@ -367,7 +368,8 @@ public class EntityEnderman extends EntityMonster { @@ -386,7 +387,8 @@ public class EntityEnderman extends EntityMonster {
int j = MathHelper.floor(this.a.locY + random.nextDouble() * 2.0D); int j = MathHelper.floor(this.a.locY() + random.nextDouble() * 2.0D);
int k = MathHelper.floor(this.a.locZ - 1.0D + random.nextDouble() * 2.0D); int k = MathHelper.floor(this.a.locZ() - 1.0D + random.nextDouble() * 2.0D);
BlockPosition blockposition = new BlockPosition(i, j, k); BlockPosition blockposition = new BlockPosition(i, j, k);
- IBlockData iblockdata = world.getType(blockposition); - IBlockData iblockdata = world.getType(blockposition);
+ IBlockData iblockdata = world.getTypeIfLoaded(blockposition); // Paper + IBlockData iblockdata = world.getTypeIfLoaded(blockposition); // Paper
@ -29,5 +29,5 @@ index 2d29da8560..a94ed1ae08 100644
IBlockData iblockdata1 = world.getType(blockposition1); IBlockData iblockdata1 = world.getType(blockposition1);
IBlockData iblockdata2 = Block.getValidBlockForPosition(getEnderman().getCarried(), getEnderman().world, blockposition); // Paper - Fix MC-124320 IBlockData iblockdata2 = Block.getValidBlockForPosition(getEnderman().getCarried(), getEnderman().world, blockposition); // Paper - Fix MC-124320
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From fbf880a67801f0006d7f2a5b73b0703723cee401 Mon Sep 17 00:00:00 2001 From b4e64a666d6bf724ad14dd41c6a2dd510080066d Mon Sep 17 00:00:00 2001
From: Zach Brown <zach@zachbr.io> From: Zach Brown <zach@zachbr.io>
Date: Wed, 2 Jan 2019 00:35:43 -0600 Date: Wed, 2 Jan 2019 00:35:43 -0600
Subject: [PATCH] Add APIs to replace OfflinePlayer#getLastPlayed Subject: [PATCH] Add APIs to replace OfflinePlayer#getLastPlayed
@ -16,7 +16,7 @@ intent to remove) and replace it with two new methods, clearly named and
documented as to their purpose. documented as to their purpose.
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index d3886a6e04..2d4021784f 100644 index f41fd576d..1665a302a 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -75,6 +75,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -75,6 +75,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -28,7 +28,7 @@ index d3886a6e04..2d4021784f 100644
public boolean queueHealthUpdatePacket = false; public boolean queueHealthUpdatePacket = false;
public net.minecraft.server.PacketPlayOutUpdateHealth queuedHealthUpdatePacket; public net.minecraft.server.PacketPlayOutUpdateHealth queuedHealthUpdatePacket;
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 049d702cb9..52aa83f51f 100644 index e46436623..659ce2181 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java --- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -94,6 +94,7 @@ public abstract class PlayerList { @@ -94,6 +94,7 @@ public abstract class PlayerList {
@ -38,9 +38,9 @@ index 049d702cb9..52aa83f51f 100644
+ entityplayer.loginTime = System.currentTimeMillis(); // Paper + entityplayer.loginTime = System.currentTimeMillis(); // Paper
GameProfile gameprofile = entityplayer.getProfile(); GameProfile gameprofile = entityplayer.getProfile();
UserCache usercache = this.server.getUserCache(); UserCache usercache = this.server.getUserCache();
GameProfile gameprofile1 = usercache.a(gameprofile.getId()); GameProfile gameprofile1 = usercache.getProfile(gameprofile.getId());
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
index c1ef1c950d..3824180ee5 100644 index c1ef1c950..3824180ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -256,6 +256,61 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -256,6 +256,61 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
@ -106,10 +106,10 @@ index c1ef1c950d..3824180ee5 100644
public Location getBedSpawnLocation() { public Location getBedSpawnLocation() {
NBTTagCompound data = getData(); NBTTagCompound data = getData();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3d60e98749..ea4e569e5a 100644 index ad70bd5ba..04fc8e233 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -140,6 +140,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -139,6 +139,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus;
private String resourcePackHash; private String resourcePackHash;
private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit
@ -117,7 +117,7 @@ index 3d60e98749..ea4e569e5a 100644
// Paper end // Paper end
public CraftPlayer(CraftServer server, EntityPlayer entity) { public CraftPlayer(CraftServer server, EntityPlayer entity) {
@@ -1373,6 +1374,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1357,6 +1358,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed; this.firstPlayed = firstPlayed;
} }
@ -136,7 +136,7 @@ index 3d60e98749..ea4e569e5a 100644
public void readExtraData(NBTTagCompound nbttagcompound) { public void readExtraData(NBTTagCompound nbttagcompound) {
hasPlayedBefore = true; hasPlayedBefore = true;
if (nbttagcompound.hasKey("bukkit")) { if (nbttagcompound.hasKey("bukkit")) {
@@ -1395,6 +1408,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1379,6 +1392,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
public void setExtraData(NBTTagCompound nbttagcompound) { public void setExtraData(NBTTagCompound nbttagcompound) {
@ -145,7 +145,7 @@ index 3d60e98749..ea4e569e5a 100644
if (!nbttagcompound.hasKey("bukkit")) { if (!nbttagcompound.hasKey("bukkit")) {
nbttagcompound.set("bukkit", new NBTTagCompound()); nbttagcompound.set("bukkit", new NBTTagCompound());
} }
@@ -1409,6 +1424,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1393,6 +1408,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
data.setLong("firstPlayed", getFirstPlayed()); data.setLong("firstPlayed", getFirstPlayed());
data.setLong("lastPlayed", System.currentTimeMillis()); data.setLong("lastPlayed", System.currentTimeMillis());
data.setString("lastKnownName", handle.getName()); data.setString("lastKnownName", handle.getName());
@ -163,5 +163,5 @@ index 3d60e98749..ea4e569e5a 100644
@Override @Override
-- --
2.22.0 2.17.1

View file

@ -1,4 +1,4 @@
From 44ae12a7d53c10c379fa90acf6bca14230a83b4a Mon Sep 17 00:00:00 2001 From 0838a4fbce101df7c999ae363a80966f4254b181 Mon Sep 17 00:00:00 2001
From: Michael Himing <mhiming@gmail.com> From: Michael Himing <mhiming@gmail.com>
Date: Sun, 16 Dec 2018 13:07:33 +1100 Date: Sun, 16 Dec 2018 13:07:33 +1100
Subject: [PATCH] Fix PlayerEditBookEvent Subject: [PATCH] Fix PlayerEditBookEvent
@ -10,10 +10,10 @@ it impossible to properly cancel the event or modify the book meta
cancelled writing cancelled writing
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 04b3791f36..4a1565f4f7 100644 index e5db2de26..c3feccbd6 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -863,9 +863,11 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -871,9 +871,11 @@ public class PlayerConnection implements PacketListenerPlayIn {
itemstack2.a("pages", (NBTBase) nbttaglist); itemstack2.a("pages", (NBTBase) nbttaglist);
this.player.a(packetplayinbedit.d(), CraftEventFactory.handleEditBookEvent(player, enumitemslot, itemstack1, itemstack2)); // CraftBukkit this.player.a(packetplayinbedit.d(), CraftEventFactory.handleEditBookEvent(player, enumitemslot, itemstack1, itemstack2)); // CraftBukkit
} else { } else {
@ -29,5 +29,5 @@ index 04b3791f36..4a1565f4f7 100644
} }
-- --
2.22.0 2.17.1

View file

@ -1,16 +1,16 @@
From 106f0064d5e764347eee78651e53800010b5359c Mon Sep 17 00:00:00 2001 From 30cdc7bfec8a09f2ea963c30f8bb5eb46456e1a7 Mon Sep 17 00:00:00 2001
From: connorhartley <vectrixu+gh@gmail.com> From: connorhartley <vectrixu+gh@gmail.com>
Date: Mon, 7 Jan 2019 14:43:48 -0600 Date: Mon, 7 Jan 2019 14:43:48 -0600
Subject: [PATCH] Workaround for vehicle tracking issue on disconnect Subject: [PATCH] Workaround for vehicle tracking issue on disconnect
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 3897411e7..21b02aeca 100644 index 1665a302a..cc9e69651 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1292,6 +1292,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -1261,6 +1261,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
public void n() { public void n() {
this.ct = true; this.cq = true;
this.ejectPassengers(); this.ejectPassengers();
+ +
+ // Paper start - Workaround an issue where the vehicle doesn't track the passenger disconnection dismount. + // Paper start - Workaround an issue where the vehicle doesn't track the passenger disconnection dismount.
@ -20,8 +20,8 @@ index 3897411e7..21b02aeca 100644
+ // Paper end + // Paper end
+ +
if (this.isSleeping()) { if (this.isSleeping()) {
this.wakeup(true, false, false); this.wakeup(true, false);
} }
-- --
2.23.0 2.17.1

View file

@ -1,4 +1,4 @@
From cc9dd8d543e2fe21fb8323e6e61f5a69511c9717 Mon Sep 17 00:00:00 2001 From 111d5782c3a945f09b0deeaba4f2bc486ef688ea Mon Sep 17 00:00:00 2001
From: Zach Brown <zach@zachbr.io> From: Zach Brown <zach@zachbr.io>
Date: Thu, 31 Jan 2019 16:33:36 -0500 Date: Thu, 31 Jan 2019 16:33:36 -0500
Subject: [PATCH] Fire BlockPistonRetractEvent for all empty pistons Subject: [PATCH] Fire BlockPistonRetractEvent for all empty pistons
@ -24,10 +24,10 @@ Instead we opt to remove the check entirely so that the event fires for
all piston types. all piston types.
diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java
index e883c7ac98..de804348f3 100644 index 1170a2810..b29525c40 100644
--- a/src/main/java/net/minecraft/server/BlockPiston.java --- a/src/main/java/net/minecraft/server/BlockPiston.java
+++ b/src/main/java/net/minecraft/server/BlockPiston.java +++ b/src/main/java/net/minecraft/server/BlockPiston.java
@@ -121,7 +121,7 @@ public class BlockPiston extends BlockDirectional { @@ -122,7 +122,7 @@ public class BlockPiston extends BlockDirectional {
} }
// CraftBukkit start // CraftBukkit start
@ -36,7 +36,7 @@ index e883c7ac98..de804348f3 100644
org.bukkit.block.Block block = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); org.bukkit.block.Block block = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
BlockPistonRetractEvent event = new BlockPistonRetractEvent(block, ImmutableList.<org.bukkit.block.Block>of(), CraftBlock.notchToBlockFace(enumdirection)); BlockPistonRetractEvent event = new BlockPistonRetractEvent(block, ImmutableList.<org.bukkit.block.Block>of(), CraftBlock.notchToBlockFace(enumdirection));
world.getServer().getPluginManager().callEvent(event); world.getServer().getPluginManager().callEvent(event);
@@ -129,7 +129,7 @@ public class BlockPiston extends BlockDirectional { @@ -130,7 +130,7 @@ public class BlockPiston extends BlockDirectional {
if (event.isCancelled()) { if (event.isCancelled()) {
return; return;
} }
@ -44,7 +44,7 @@ index e883c7ac98..de804348f3 100644
+ //} // Paper + //} // Paper
// PAIL: checkME - what happened to setTypeAndData? // PAIL: checkME - what happened to setTypeAndData?
// CraftBukkit end // CraftBukkit end
world.playBlockAction(blockposition, this, b0, enumdirection.a()); world.playBlockAction(blockposition, this, b0, enumdirection.b());
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From 58a6589c6b293c796a0b9f5ae7840bda4912a497 Mon Sep 17 00:00:00 2001 From 830cd5873ebed9e73f0216f8fedf7d2bd04224e4 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach@zachbr.io> From: Zach Brown <zach@zachbr.io>
Date: Mon, 4 Feb 2019 23:33:24 -0500 Date: Mon, 4 Feb 2019 23:33:24 -0500
Subject: [PATCH] Block Entity#remove from being called on Players Subject: [PATCH] Block Entity#remove from being called on Players
@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to
be unintentional in the few cases we've seen so far. be unintentional in the few cases we've seen so far.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index ea4e569e5a..15c874fc82 100644 index 04fc8e233..4b847ddd8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1974,6 +1974,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1958,6 +1958,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetCooldown() { public void resetCooldown() {
getHandle().resetCooldown(); getHandle().resetCooldown();
} }
@ -28,9 +28,9 @@ index ea4e569e5a..15c874fc82 100644
+ super.remove(); + super.remove();
+ } + }
+ } + }
//Paper end // Paper end
// Spigot start // Spigot start
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From 5cf46619cee7f54e790731dc27455a63ed09046a Mon Sep 17 00:00:00 2001 From 5520641b69e980691db06799793a50b52fd497ca Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 6 Feb 2019 00:20:33 -0500 Date: Wed, 6 Feb 2019 00:20:33 -0500
Subject: [PATCH] BlockDestroyEvent Subject: [PATCH] BlockDestroyEvent
@ -11,10 +11,10 @@ floating in the air.
This can replace many uses of BlockPhysicsEvent This can replace many uses of BlockPhysicsEvent
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 ef561cd95b..dad0c893fd 100644 index e8f83627c..61a3ddc4d 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
@@ -524,8 +524,20 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -456,8 +456,20 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return false; return false;
} else { } else {
Fluid fluid = this.getFluid(blockposition); Fluid fluid = this.getFluid(blockposition);
@ -37,5 +37,5 @@ index ef561cd95b..dad0c893fd 100644
TileEntity tileentity = iblockdata.getBlock().isTileEntity() ? this.getTileEntity(blockposition) : null; TileEntity tileentity = iblockdata.getBlock().isTileEntity() ? this.getTileEntity(blockposition) : null;
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From b5b1f6e3dc91f247f2ad51aaeb653c27366f0644 Mon Sep 17 00:00:00 2001 From 307884933b37b55fe6d6817fc76c784338ae9fc6 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Fri, 18 Jan 2019 00:08:15 -0500 Date: Fri, 18 Jan 2019 00:08:15 -0500
Subject: [PATCH] Fix Custom Shapeless Custom Crafting Recipes Subject: [PATCH] Fix Custom Shapeless Custom Crafting Recipes
@ -10,7 +10,7 @@ This made the Bukkit RecipeChoice API not work for Shapeless.
This reimplements vanilla logic using the same test logic as Shaped This reimplements vanilla logic using the same test logic as Shaped
diff --git a/src/main/java/net/minecraft/server/ShapelessRecipes.java b/src/main/java/net/minecraft/server/ShapelessRecipes.java diff --git a/src/main/java/net/minecraft/server/ShapelessRecipes.java b/src/main/java/net/minecraft/server/ShapelessRecipes.java
index 070fc1e3ec..691e697d68 100644 index fe03a35cc..fb481e658 100644
--- a/src/main/java/net/minecraft/server/ShapelessRecipes.java --- a/src/main/java/net/minecraft/server/ShapelessRecipes.java
+++ b/src/main/java/net/minecraft/server/ShapelessRecipes.java +++ b/src/main/java/net/minecraft/server/ShapelessRecipes.java
@@ -63,16 +63,46 @@ public class ShapelessRecipes implements RecipeCrafting { @@ -63,16 +63,46 @@ public class ShapelessRecipes implements RecipeCrafting {
@ -64,5 +64,5 @@ index 070fc1e3ec..691e697d68 100644
public ItemStack a(InventoryCrafting inventorycrafting) { public ItemStack a(InventoryCrafting inventorycrafting) {
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From beebdba19e6511374001cd8844b683177acca066 Mon Sep 17 00:00:00 2001 From 69e589820919b6e3f2c4d15ac01e7809e34d2542 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Thu, 28 Feb 2019 00:15:28 -0500 Date: Thu, 28 Feb 2019 00:15:28 -0500
Subject: [PATCH] Fix sign edit memory leak Subject: [PATCH] Fix sign edit memory leak
@ -6,10 +6,10 @@ Subject: [PATCH] Fix sign edit memory leak
when a player edits a sign, a reference to their Entity is never cleand up. when a player edits a sign, a reference to their Entity is never cleand up.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 4a1565f4f7..6030766099 100644 index c3feccbd6..c54e1c9a0 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2535,7 +2535,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -2545,7 +2545,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
TileEntitySign tileentitysign = (TileEntitySign) tileentity; TileEntitySign tileentitysign = (TileEntitySign) tileentity;
@ -19,10 +19,10 @@ index 4a1565f4f7..6030766099 100644
this.sendPacket(tileentity.getUpdatePacket()); // CraftBukkit this.sendPacket(tileentity.getUpdatePacket()); // CraftBukkit
return; return;
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
index 1b01792730..c7aa3b350a 100644 index 4c2273497..f051f2d3c 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java --- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -17,6 +17,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -14,6 +14,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
// Paper start - Strip invalid unicode from signs on load // Paper start - Strip invalid unicode from signs on load
private static final boolean keepInvalidUnicode = Boolean.getBoolean("Paper.keepInvalidUnicode"); // Allow people to keep their bad unicode if they really want it private static final boolean keepInvalidUnicode = Boolean.getBoolean("Paper.keepInvalidUnicode"); // Allow people to keep their bad unicode if they really want it
private boolean privateUnicodeRemoved = false; private boolean privateUnicodeRemoved = false;
@ -30,18 +30,18 @@ index 1b01792730..c7aa3b350a 100644
// Paper end // Paper end
public TileEntitySign() { public TileEntitySign() {
@@ -141,7 +142,10 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -138,7 +139,10 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
} }
public void a(EntityHuman entityhuman) { public void a(EntityHuman entityhuman) {
- this.j = entityhuman; - this.c = entityhuman;
+ // Paper start + // Paper start
+ //this.g = entityhuman; + //this.c = entityhuman;
+ signEditor = entityhuman != null ? entityhuman.getUniqueID() : null; + signEditor = entityhuman != null ? entityhuman.getUniqueID() : null;
+ // Paper end + // Paper end
} }
public EntityHuman f() { public EntityHuman f() {
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From a1a2b52dc73803c37e1cdfc526200f9dc242593e Mon Sep 17 00:00:00 2001 From 885df137b3ddc82c61dd104a09c06484a77ee036 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 27 Feb 2019 22:18:40 -0500 Date: Wed, 27 Feb 2019 22:18:40 -0500
Subject: [PATCH] Limit Client Sign length more Subject: [PATCH] Limit Client Sign length more
@ -22,7 +22,7 @@ it only impacts data sent from the client.
Set -DPaper.maxSignLength=XX to change limit or -1 to disable Set -DPaper.maxSignLength=XX to change limit or -1 to disable
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 6030766099..b030269f0a 100644 index c54e1c9a0..bd2ee459f 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -103,6 +103,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -103,6 +103,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@ -33,7 +33,7 @@ index 6030766099..b030269f0a 100644
private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit
public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) { public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) {
@@ -2551,6 +2552,15 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -2561,6 +2562,15 @@ public class PlayerConnection implements PacketListenerPlayIn {
String[] lines = new String[4]; String[] lines = new String[4];
for (int i = 0; i < astring.length; ++i) { for (int i = 0; i < astring.length; ++i) {
@ -50,5 +50,5 @@ index 6030766099..b030269f0a 100644
} }
SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines); SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines);
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From 78e1b7306f6b982a5d69a09cde244cf3e28a9043 Mon Sep 17 00:00:00 2001 From 41f9d0be57621cbc16042166cd33d910b614614b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 2 Mar 2019 11:11:29 -0500 Date: Sat, 2 Mar 2019 11:11:29 -0500
Subject: [PATCH] Don't check ConvertSigns boolean every sign save Subject: [PATCH] Don't check ConvertSigns boolean every sign save
@ -7,10 +7,10 @@ property lookups arent super cheap. they synchronize, validate
and check security managers. and check security managers.
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
index c7aa3b350a..0a8d9b52dd 100644 index f051f2d3c..5eb86c434 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java --- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -18,6 +18,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -15,6 +15,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
private static final boolean keepInvalidUnicode = Boolean.getBoolean("Paper.keepInvalidUnicode"); // Allow people to keep their bad unicode if they really want it private static final boolean keepInvalidUnicode = Boolean.getBoolean("Paper.keepInvalidUnicode"); // Allow people to keep their bad unicode if they really want it
private boolean privateUnicodeRemoved = false; private boolean privateUnicodeRemoved = false;
public java.util.UUID signEditor; public java.util.UUID signEditor;
@ -18,7 +18,7 @@ index c7aa3b350a..0a8d9b52dd 100644
// Paper end // Paper end
public TileEntitySign() { public TileEntitySign() {
@@ -36,7 +37,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -33,7 +34,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
} }
// CraftBukkit start // CraftBukkit start
@ -28,5 +28,5 @@ index c7aa3b350a..0a8d9b52dd 100644
} }
// CraftBukkit end // CraftBukkit end
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From 331562f54c78c10872ec4960edd8b36dd7a6619b Mon Sep 17 00:00:00 2001 From 954930d0c2cb54bb03e013fcc8f71d96e686b435 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 2 Mar 2019 14:55:01 -0500 Date: Sat, 2 Mar 2019 14:55:01 -0500
Subject: [PATCH] Handle Excessive Signs in Chunks creating too large of Subject: [PATCH] Handle Excessive Signs in Chunks creating too large of
@ -11,7 +11,7 @@ Use -DPaper.excessiveSignsLimit=500 to configure that limit, or -1
to disable the limit and let your players be abused. to disable the limit and let your players be abused.
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index b1dededc15..e156804f7a 100644 index b1dededc1..e156804f7 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java --- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -212,6 +212,15 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> { @@ -212,6 +212,15 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -31,7 +31,7 @@ index b1dededc15..e156804f7a 100644
private void sendPacketQueue() { this.o(); } // Paper - OBFHELPER private void sendPacketQueue() { this.o(); } // Paper - OBFHELPER
diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java
index 2d8e6a2f4a..8d0965a053 100644 index 2d8e6a2f4..8d0965a05 100644
--- a/src/main/java/net/minecraft/server/Packet.java --- a/src/main/java/net/minecraft/server/Packet.java
+++ b/src/main/java/net/minecraft/server/Packet.java +++ b/src/main/java/net/minecraft/server/Packet.java
@@ -11,6 +11,7 @@ public interface Packet<T extends PacketListener> { @@ -11,6 +11,7 @@ public interface Packet<T extends PacketListener> {
@ -43,10 +43,10 @@ index 2d8e6a2f4a..8d0965a053 100644
return false; return false;
} }
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
index 58eccd9c63..ef71a1feb3 100644 index a0b87f89d..47710067a 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -20,6 +20,15 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> { @@ -23,6 +23,15 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
public PacketPlayOutMapChunk() {} public PacketPlayOutMapChunk() {}
@ -62,15 +62,15 @@ index 58eccd9c63..ef71a1feb3 100644
public PacketPlayOutMapChunk(Chunk chunk, int i) { public PacketPlayOutMapChunk(Chunk chunk, int i) {
ChunkCoordIntPair chunkcoordintpair = chunk.getPos(); ChunkCoordIntPair chunkcoordintpair = chunk.getPos();
@@ -42,6 +51,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> { @@ -49,6 +58,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
this.c = this.a(new PacketDataSerializer(this.i()), chunk, i); this.c = this.a(new PacketDataSerializer(this.j()), chunk, i);
this.f = Lists.newArrayList(); this.g = Lists.newArrayList();
iterator = chunk.getTileEntities().entrySet().iterator(); iterator = chunk.getTileEntities().entrySet().iterator();
+ int totalSigns = 0; // Paper + int totalSigns = 0; // Paper
while (iterator.hasNext()) { while (iterator.hasNext()) {
entry = (Entry) iterator.next(); entry = (Entry) iterator.next();
@@ -50,6 +60,14 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> { @@ -57,6 +67,14 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
int j = blockposition.getY() >> 4; int j = blockposition.getY() >> 4;
if (this.f() || (i & 1 << j) != 0) { if (this.f() || (i & 1 << j) != 0) {
@ -86,5 +86,5 @@ index 58eccd9c63..ef71a1feb3 100644
if (tileentity instanceof TileEntitySkull) { TileEntitySkull.sanitizeTileEntityUUID(nbttagcompound); } // Paper if (tileentity instanceof TileEntitySkull) { TileEntitySkull.sanitizeTileEntityUUID(nbttagcompound); } // Paper
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From f936e3036737be2b1248454ca5569fb2d32f4a2c Mon Sep 17 00:00:00 2001 From 35b6aeaf8f660351da0c23de6d030fed32b8ca97 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 2 Mar 2019 16:12:35 -0500 Date: Sat, 2 Mar 2019 16:12:35 -0500
Subject: [PATCH] MC-145260: Fix Whitelist On/Off inconsistency Subject: [PATCH] MC-145260: Fix Whitelist On/Off inconsistency
@ -11,7 +11,7 @@ everything to the Whitelist object.
https://github.com/PaperMC/Paper/issues/1880 https://github.com/PaperMC/Paper/issues/1880
diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java
index 8570e38f42..c97be42dd7 100644 index 8570e38f4..c97be42dd 100644
--- a/src/main/java/net/minecraft/server/JsonList.java --- a/src/main/java/net/minecraft/server/JsonList.java
+++ b/src/main/java/net/minecraft/server/JsonList.java +++ b/src/main/java/net/minecraft/server/JsonList.java
@@ -64,6 +64,7 @@ public class JsonList<K, V extends JsonListEntry<K>> { @@ -64,6 +64,7 @@ public class JsonList<K, V extends JsonListEntry<K>> {
@ -23,7 +23,7 @@ index 8570e38f42..c97be42dd7 100644
this.e = flag; this.e = flag;
} }
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 52aa83f51f..0da3f95f89 100644 index 659ce2181..62d807597 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java --- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -62,7 +62,7 @@ public abstract class PlayerList { @@ -62,7 +62,7 @@ public abstract class PlayerList {
@ -35,7 +35,7 @@ index 52aa83f51f..0da3f95f89 100644
protected final int maxPlayers; protected final int maxPlayers;
private int viewDistance; private int viewDistance;
private EnumGamemode t; private EnumGamemode t;
@@ -899,9 +899,9 @@ public abstract class PlayerList { @@ -900,9 +900,9 @@ public abstract class PlayerList {
} }
public boolean isWhitelisted(GameProfile gameprofile, org.bukkit.event.player.PlayerLoginEvent loginEvent) { public boolean isWhitelisted(GameProfile gameprofile, org.bukkit.event.player.PlayerLoginEvent loginEvent) {
boolean isOp = this.operators.d(gameprofile); boolean isOp = this.operators.d(gameprofile);
@ -47,7 +47,7 @@ index 52aa83f51f..0da3f95f89 100644
event.callEvent(); event.callEvent();
if (!event.isWhitelisted()) { if (!event.isWhitelisted()) {
if (loginEvent != null) { if (loginEvent != null) {
@@ -1030,11 +1030,11 @@ public abstract class PlayerList { @@ -1031,11 +1031,11 @@ public abstract class PlayerList {
} }
public boolean getHasWhitelist() { public boolean getHasWhitelist() {
@ -62,5 +62,5 @@ index 52aa83f51f..0da3f95f89 100644
public List<EntityPlayer> b(String s) { public List<EntityPlayer> b(String s) {
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From 8dbeb44fd71b383d5ce9432eb6cc52ebccecfe1e Mon Sep 17 00:00:00 2001 From d757d0f8136435c7603b9d6b3480b0a6196c95dd Mon Sep 17 00:00:00 2001
From: Zach Brown <zach@zachbr.io> From: Zach Brown <zach@zachbr.io>
Date: Mon, 4 Mar 2019 02:23:28 -0500 Date: Mon, 4 Mar 2019 02:23:28 -0500
Subject: [PATCH] Set Zombie last tick at start of drowning process Subject: [PATCH] Set Zombie last tick at start of drowning process
@ -6,17 +6,17 @@ Subject: [PATCH] Set Zombie last tick at start of drowning process
Fixes GH-1887 Fixes GH-1887
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index cdaa7f636..99b2e7815 100644 index 1c2c05ae3..7d882d9c7 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java --- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -169,6 +169,7 @@ public class EntityZombie extends EntityMonster { @@ -169,6 +169,7 @@ public class EntityZombie extends EntityMonster {
++this.bF; ++this.bC;
if (this.bF >= 600) { if (this.bC >= 600) {
this.startDrownedConversion(300); this.startDrownedConversion(300);
+ this.lastTick = MinecraftServer.currentTick; // Paper - Make sure this is set at start of process - GH-1887 + this.lastTick = MinecraftServer.currentTick; // Paper - Make sure this is set at start of process - GH-1887
} }
} else { } else {
this.bF = -1; this.bC = -1;
-- --
2.22.0 2.24.1

View file

@ -1,14 +1,14 @@
From 2247e4c12ed86bbd819042f1bfe93d01b4f1651a Mon Sep 17 00:00:00 2001 From eb331fa777642613a299d6f552419119f496b88b Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <mikroskeem@mikroskeem.eu> From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Date: Wed, 13 Mar 2019 20:08:09 +0200 Date: Wed, 13 Mar 2019 20:08:09 +0200
Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 0da3f95f89..65df0e7c8c 100644 index 62d807597..9d715d891 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java --- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1034,6 +1034,7 @@ public abstract class PlayerList { @@ -1035,6 +1035,7 @@ public abstract class PlayerList {
} }
public void setHasWhitelist(boolean flag) { public void setHasWhitelist(boolean flag) {
@ -17,5 +17,5 @@ index 0da3f95f89..65df0e7c8c 100644
} }
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From d6ac301c41ce6cf739582b3dc2d2c250de86f591 Mon Sep 17 00:00:00 2001 From 2739e42d97f124c9d29111cdb5a4f71fb7531336 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 22 Sep 2018 00:33:08 -0500 Date: Sat, 22 Sep 2018 00:33:08 -0500
Subject: [PATCH] Add LivingEntity#getTargetEntity Subject: [PATCH] Add LivingEntity#getTargetEntity
@ -46,30 +46,30 @@ index 4f60b931a..c950139c0 100644
double[] adouble = new double[]{1.0D}; double[] adouble = new double[]{1.0D};
double d0 = vec3d1.x - vec3d.x; double d0 = vec3d1.x - vec3d.x;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 75da08596..046e7e031 100644 index 0f2480521..2e8aedf5f 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1497,6 +1497,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -1475,6 +1475,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.c(f - 90.0F, f1); return this.c(f - 90.0F, f1);
} }
+ public final Vec3D getEyePosition(float partialTicks) { return j(partialTicks); } // Paper - OBFHELPER + public final Vec3D getEyePosition(float partialTicks) { return j(partialTicks); } // Paper - OBFHELPER
public Vec3D j(float f) { public final Vec3D j(float f) {
if (f == 1.0F) { if (f == 1.0F) {
return new Vec3D(this.locX, this.locY + (double) this.getHeadHeight(), this.locZ); return new Vec3D(this.locX(), this.getHeadY(), this.locZ());
@@ -2144,6 +2145,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -2126,6 +2127,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.getPassengers().size() < 1; return this.getPassengers().size() < 1;
} }
+ public final float getCollisionBorderSize() { return aS(); } // Paper - OBFHELPER + public final float getCollisionBorderSize() { return aV(); } // Paper - OBFHELPER
public float aS() { public float aV() {
return 0.0F; return 0.0F;
} }
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index d23968a7c..31d14b19b 100644 index 317321395..1b5acf77e 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java --- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -3229,6 +3229,37 @@ public abstract class EntityLiving extends Entity { @@ -3304,6 +3304,37 @@ public abstract class EntityLiving extends Entity {
return world.rayTrace(raytrace); return world.rayTrace(raytrace);
} }
@ -108,7 +108,7 @@ index d23968a7c..31d14b19b 100644
public int getShieldBlockingDelay() { public int getShieldBlockingDelay() {
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index 9bf191945..56488b78d 100644 index c1f462d9d..498f38109 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java --- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -18,6 +18,7 @@ public final class IEntitySelector { @@ -18,6 +18,7 @@ public final class IEntitySelector {
@ -158,5 +158,5 @@ index 6f4c6c589..b27fd44dc 100644
@Override @Override
-- --
2.22.1 2.24.1

View file

@ -1,4 +1,4 @@
From 346fc5c87003b5fafdddc35030c4b74e02beed34 Mon Sep 17 00:00:00 2001 From 8bf37391928514c6346d1f8bc0c7453fecce0746 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc> From: kashike <kashike@vq.lc>
Date: Wed, 20 Mar 2019 21:19:29 -0700 Date: Wed, 20 Mar 2019 21:19:29 -0700
Subject: [PATCH] Use proper max length when serialising BungeeCord text Subject: [PATCH] Use proper max length when serialising BungeeCord text
@ -6,7 +6,7 @@ Subject: [PATCH] Use proper max length when serialising BungeeCord text
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutChat.java b/src/main/java/net/minecraft/server/PacketPlayOutChat.java diff --git a/src/main/java/net/minecraft/server/PacketPlayOutChat.java b/src/main/java/net/minecraft/server/PacketPlayOutChat.java
index 0ab611564e..f7b2095bb7 100644 index 0ab611564..f7b2095bb 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutChat.java --- a/src/main/java/net/minecraft/server/PacketPlayOutChat.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutChat.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutChat.java
@@ -3,7 +3,7 @@ package net.minecraft.server; @@ -3,7 +3,7 @@ package net.minecraft.server;
@ -31,5 +31,5 @@ index 0ab611564e..f7b2095bb7 100644
// Paper end // Paper end
} else { } else {
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From 0231190c616327c55a18f288e22e0a0f383c5073 Mon Sep 17 00:00:00 2001 From b75ffe98136f18b12833b85396623dd3f66b421d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 24 Mar 2019 00:24:52 -0400 Date: Sun, 24 Mar 2019 00:24:52 -0400
Subject: [PATCH] Entity#getEntitySpawnReason Subject: [PATCH] Entity#getEntitySpawnReason
@ -10,18 +10,18 @@ persistenting Living Entity, SPAWNER for spawners,
or DEFAULT since data was not stored. or DEFAULT since data was not stored.
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 046e7e031c..f87514a200 100644 index 2e8aedf5f..96b0917a3 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -68,6 +68,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -72,6 +72,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} }
}; };
List<Entity> entitySlice = null; List<Entity> entitySlice = null;
+ public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason; + public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason;
// Paper end // Paper end
static boolean isLevelAtLeast(NBTTagCompound tag, int level) {
return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper
@@ -1642,6 +1643,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -1628,6 +1629,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
if (this.origin != null) { if (this.origin != null) {
nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ())); nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ()));
} }
@ -31,7 +31,7 @@ index 046e7e031c..f87514a200 100644
// Save entity's from mob spawner status // Save entity's from mob spawner status
if (spawnedViaMobSpawner) { if (spawnedViaMobSpawner) {
nbttagcompound.setBoolean("Paper.FromMobSpawner", true); nbttagcompound.setBoolean("Paper.FromMobSpawner", true);
@@ -1776,6 +1780,26 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -1754,6 +1758,26 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} }
spawnedViaMobSpawner = nbttagcompound.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status spawnedViaMobSpawner = nbttagcompound.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
@ -59,10 +59,10 @@ index 046e7e031c..f87514a200 100644
} catch (Throwable throwable) { } catch (Throwable throwable) {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 65df0e7c8c..abddc8895e 100644 index 9d715d891..49437f212 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java --- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -250,7 +250,7 @@ public abstract class PlayerList { @@ -251,7 +251,7 @@ public abstract class PlayerList {
// CraftBukkit start // CraftBukkit start
WorldServer finalWorldServer = worldserver; WorldServer finalWorldServer = worldserver;
Entity entity = EntityTypes.a(nbttagcompound1.getCompound("Entity"), finalWorldServer, (entity1) -> { Entity entity = EntityTypes.a(nbttagcompound1.getCompound("Entity"), finalWorldServer, (entity1) -> {
@ -72,10 +72,10 @@ index 65df0e7c8c..abddc8895e 100644
}); });
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index dbd357f1a3..628ad8b839 100644 index ecfcecfdc..63e7f2bce 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -978,6 +978,7 @@ public class WorldServer extends World { @@ -977,6 +977,7 @@ public class WorldServer extends World {
// CraftBukkit start // CraftBukkit start
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
@ -84,10 +84,10 @@ index dbd357f1a3..628ad8b839 100644
if (entity.valid) { if (entity.valid) {
MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 517e422180..31db42e9fb 100644 index 915ccb180..dfa15372b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1054,5 +1054,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -1051,5 +1051,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
public boolean fromMobSpawner() { public boolean fromMobSpawner() {
return getHandle().spawnedViaMobSpawner; return getHandle().spawnedViaMobSpawner;
} }
@ -99,5 +99,5 @@ index 517e422180..31db42e9fb 100644
// Paper end // Paper end
} }
-- --
2.22.1 2.24.1

View file

@ -1,14 +1,14 @@
From 3408da94a3a428e0304b92ff3cdbd81bfc5df56e Mon Sep 17 00:00:00 2001 From 077d7c29117573df85c77b5aa71d54f66ee94684 Mon Sep 17 00:00:00 2001
From: AgentTroll <woodyc40@gmail.com> From: AgentTroll <woodyc40@gmail.com>
Date: Fri, 22 Mar 2019 22:24:03 -0700 Date: Fri, 22 Mar 2019 22:24:03 -0700
Subject: [PATCH] Update entity Metadata for all tracked players Subject: [PATCH] Update entity Metadata for all tracked players
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index cd7e0299ac..460c687d3e 100644 index 3ff7a7b4a..3a88c9a67 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -379,6 +379,12 @@ public class EntityTrackerEntry { @@ -387,6 +387,12 @@ public class EntityTrackerEntry {
return PacketPlayOutEntity.a(this.xLoc, this.yLoc, this.zLoc); return PacketPlayOutEntity.a(this.xLoc, this.yLoc, this.zLoc);
} }
@ -22,10 +22,10 @@ index cd7e0299ac..460c687d3e 100644
this.f.accept(packet); this.f.accept(packet);
if (this.tracker instanceof EntityPlayer) { if (this.tracker instanceof EntityPlayer) {
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index b030269f0a..79054b4519 100644 index bd2ee459f..17eeecaf4 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1995,7 +1995,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -2005,7 +2005,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
if (event.isCancelled() || this.player.inventory.getItemInHand() == null || this.player.inventory.getItemInHand().getItem() != origItem) { if (event.isCancelled() || this.player.inventory.getItemInHand() == null || this.player.inventory.getItemInHand().getItem() != origItem) {
// Refresh the current entity metadata // Refresh the current entity metadata
@ -35,5 +35,5 @@ index b030269f0a..79054b4519 100644
if (event.isCancelled()) { if (event.isCancelled()) {
-- --
2.22.0 2.24.1

View file

@ -1,11 +1,11 @@
From 5f7d0017011a5ee2a1f0915926e5cc1b464d6abd Mon Sep 17 00:00:00 2001 From 6b8d1c804d7bcb659c31061330a031032d71c2a7 Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <mikroskeem@mikroskeem.eu> From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Date: Sun, 17 Mar 2019 21:46:56 +0200 Date: Sun, 17 Mar 2019 21:46:56 +0200
Subject: [PATCH] Fire event on GS4 query Subject: [PATCH] Fire event on GS4 query
diff --git a/src/main/java/net/minecraft/server/RemoteConnectionThread.java b/src/main/java/net/minecraft/server/RemoteConnectionThread.java diff --git a/src/main/java/net/minecraft/server/RemoteConnectionThread.java b/src/main/java/net/minecraft/server/RemoteConnectionThread.java
index 66bfbcf02b..d821ef9a75 100644 index 66bfbcf02..d821ef9a7 100644
--- a/src/main/java/net/minecraft/server/RemoteConnectionThread.java --- a/src/main/java/net/minecraft/server/RemoteConnectionThread.java
+++ b/src/main/java/net/minecraft/server/RemoteConnectionThread.java +++ b/src/main/java/net/minecraft/server/RemoteConnectionThread.java
@@ -15,7 +15,7 @@ public abstract class RemoteConnectionThread implements Runnable { @@ -15,7 +15,7 @@ public abstract class RemoteConnectionThread implements Runnable {
@ -26,7 +26,7 @@ index 66bfbcf02b..d821ef9a75 100644
return this.b.getPlayerCount(); return this.b.getPlayerCount();
} }
diff --git a/src/main/java/net/minecraft/server/RemoteStatusListener.java b/src/main/java/net/minecraft/server/RemoteStatusListener.java diff --git a/src/main/java/net/minecraft/server/RemoteStatusListener.java b/src/main/java/net/minecraft/server/RemoteStatusListener.java
index a556a71334..67e94a6f07 100644 index 16bb89af0..1b084f211 100644
--- a/src/main/java/net/minecraft/server/RemoteStatusListener.java --- a/src/main/java/net/minecraft/server/RemoteStatusListener.java
+++ b/src/main/java/net/minecraft/server/RemoteStatusListener.java +++ b/src/main/java/net/minecraft/server/RemoteStatusListener.java
@@ -21,19 +21,19 @@ public class RemoteStatusListener extends RemoteConnectionThread { @@ -21,19 +21,19 @@ public class RemoteStatusListener extends RemoteConnectionThread {
@ -184,7 +184,7 @@ index a556a71334..67e94a6f07 100644
} }
} }
diff --git a/src/main/java/net/minecraft/server/RemoteStatusReply.java b/src/main/java/net/minecraft/server/RemoteStatusReply.java diff --git a/src/main/java/net/minecraft/server/RemoteStatusReply.java b/src/main/java/net/minecraft/server/RemoteStatusReply.java
index 848b5c3f0e..73efea7e13 100644 index 848b5c3f0..73efea7e1 100644
--- a/src/main/java/net/minecraft/server/RemoteStatusReply.java --- a/src/main/java/net/minecraft/server/RemoteStatusReply.java
+++ b/src/main/java/net/minecraft/server/RemoteStatusReply.java +++ b/src/main/java/net/minecraft/server/RemoteStatusReply.java
@@ -18,15 +18,27 @@ public class RemoteStatusReply { @@ -18,15 +18,27 @@ public class RemoteStatusReply {
@ -216,5 +216,5 @@ index 848b5c3f0e..73efea7e13 100644
this.b.writeShort(Short.reverseBytes(short0)); this.b.writeShort(Short.reverseBytes(short0));
} }
-- --
2.22.0 2.24.1

View file

@ -1,14 +1,14 @@
From 7b7c6d55b413eeb9a74ac496314f5670f4b884cd Mon Sep 17 00:00:00 2001 From 80f6b71d88fd3e543e30dd3f8b5be133ae925d35 Mon Sep 17 00:00:00 2001
From: MisterVector <whizkid3000@hotmail.com> From: MisterVector <whizkid3000@hotmail.com>
Date: Fri, 26 Oct 2018 21:31:00 -0700 Date: Fri, 26 Oct 2018 21:31:00 -0700
Subject: [PATCH] Implement PlayerPostRespawnEvent Subject: [PATCH] Implement PlayerPostRespawnEvent
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index abddc8895e..a183bb450d 100644 index 49437f212..68e089a4b 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java --- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -637,9 +637,14 @@ public abstract class PlayerList { @@ -638,9 +638,14 @@ public abstract class PlayerList {
// this.a(entityplayer1, entityplayer, worldserver); // CraftBukkit - removed // this.a(entityplayer1, entityplayer, worldserver); // CraftBukkit - removed
@ -24,7 +24,7 @@ index abddc8895e..a183bb450d 100644
CraftWorld cworld = (CraftWorld) this.server.server.getWorld(entityplayer.spawnWorld); CraftWorld cworld = (CraftWorld) this.server.server.getWorld(entityplayer.spawnWorld);
if (cworld != null && blockposition != null) { if (cworld != null && blockposition != null) {
Optional<Vec3D> optional = EntityHuman.getBed(cworld.getHandle(), blockposition, flag1); Optional<Vec3D> optional = EntityHuman.getBed(cworld.getHandle(), blockposition, flag1);
@@ -672,6 +677,7 @@ public abstract class PlayerList { @@ -673,6 +678,7 @@ public abstract class PlayerList {
location = respawnEvent.getRespawnLocation(); location = respawnEvent.getRespawnLocation();
if (!flag) entityplayer.reset(); // SPIGOT-4785 if (!flag) entityplayer.reset(); // SPIGOT-4785
@ -32,7 +32,7 @@ index abddc8895e..a183bb450d 100644
} else { } else {
location.setWorld(server.getWorldServer(dimensionmanager).getWorld()); location.setWorld(server.getWorldServer(dimensionmanager).getWorld());
} }
@@ -733,6 +739,13 @@ public abstract class PlayerList { @@ -734,6 +740,13 @@ public abstract class PlayerList {
if (entityplayer.playerConnection.isDisconnected()) { if (entityplayer.playerConnection.isDisconnected()) {
this.savePlayerFile(entityplayer); this.savePlayerFile(entityplayer);
} }
@ -47,5 +47,5 @@ index abddc8895e..a183bb450d 100644
return entityplayer1; return entityplayer1;
} }
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From b4ca29ecbed23d7c2d09e89fa3e224678f4a141c Mon Sep 17 00:00:00 2001 From 69bf21627466c0f99fe7a6f3acb17c13a5926a5d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 24 Mar 2019 18:09:20 -0400 Date: Sun, 24 Mar 2019 18:09:20 -0400
Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items
@ -6,10 +6,10 @@ Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items
vanilla checks for == 0 vanilla checks for == 0
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index 6e026d34f0..2091698953 100644 index 5f46c7f86..a0d1e7fd2 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java --- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -59,6 +59,7 @@ public class EntityItem extends Entity { @@ -60,6 +60,7 @@ public class EntityItem extends Entity {
// CraftBukkit start - Use wall time for pickup and despawn timers // CraftBukkit start - Use wall time for pickup and despawn timers
int elapsedTicks = MinecraftServer.currentTick - this.lastTick; int elapsedTicks = MinecraftServer.currentTick - this.lastTick;
if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks; if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks;
@ -17,7 +17,7 @@ index 6e026d34f0..2091698953 100644
if (this.age != -32768) this.age += elapsedTicks; if (this.age != -32768) this.age += elapsedTicks;
this.lastTick = MinecraftServer.currentTick; this.lastTick = MinecraftServer.currentTick;
// CraftBukkit end // CraftBukkit end
@@ -145,6 +146,7 @@ public class EntityItem extends Entity { @@ -146,6 +147,7 @@ public class EntityItem extends Entity {
// CraftBukkit start - Use wall time for pickup and despawn timers // CraftBukkit start - Use wall time for pickup and despawn timers
int elapsedTicks = MinecraftServer.currentTick - this.lastTick; int elapsedTicks = MinecraftServer.currentTick - this.lastTick;
if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks; if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks;
@ -26,5 +26,5 @@ index 6e026d34f0..2091698953 100644
this.lastTick = MinecraftServer.currentTick; this.lastTick = MinecraftServer.currentTick;
// CraftBukkit end // CraftBukkit end
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From 3a20b44acacbc7b96b475d29da37133f72475b63 Mon Sep 17 00:00:00 2001 From dd55113d530d2bb27380c70856539f37a0c50f41 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 6 Oct 2018 20:54:23 -0500 Date: Sat, 6 Oct 2018 20:54:23 -0500
Subject: [PATCH] Implement getters and setters for EntityItem owner and Subject: [PATCH] Implement getters and setters for EntityItem owner and
@ -6,7 +6,7 @@ Subject: [PATCH] Implement getters and setters for EntityItem owner and
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index 3f552b5905..cb756b1ba0 100644 index 3f552b590..cb756b1ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -8,6 +8,11 @@ import org.bukkit.entity.EntityType; @@ -8,6 +8,11 @@ import org.bukkit.entity.EntityType;
@ -51,5 +51,5 @@ index 3f552b5905..cb756b1ba0 100644
@Override @Override
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From ff943edcb4161947dfae5545652ab4b9c2415a9a Mon Sep 17 00:00:00 2001 From 8274ef9fa1e61024cc18be25d3d0c7e549229617 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 27 Mar 2019 22:48:45 -0400 Date: Wed, 27 Mar 2019 22:48:45 -0400
Subject: [PATCH] Server Tick Events Subject: [PATCH] Server Tick Events
@ -6,10 +6,10 @@ Subject: [PATCH] Server Tick Events
Fires event at start and end of a server tick Fires event at start and end of a server tick
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a7b63ab421..24dccfb7a1 100644 index 8fc55d31a..c023848c7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1072,6 +1072,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1080,6 +1080,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Paper end // Paper end
this.slackActivityAccountant.tickStarted(); // Spigot this.slackActivityAccountant.tickStarted(); // Spigot
long i = SystemUtils.getMonotonicNanos(); long i = SystemUtils.getMonotonicNanos();
@ -17,7 +17,7 @@ index a7b63ab421..24dccfb7a1 100644
++this.ticks; ++this.ticks;
this.b(booleansupplier); this.b(booleansupplier);
@@ -1123,6 +1124,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1131,6 +1132,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.executeAll(); this.executeAll();
} }
// Paper end // Paper end
@ -30,5 +30,5 @@ index a7b63ab421..24dccfb7a1 100644
} }
-- --
2.22.1 2.24.1

View file

@ -1,4 +1,4 @@
From f7303a80c92c8bdc5705ebf7afcda3f5a802fc8a Mon Sep 17 00:00:00 2001 From f99fd489c3c0c983412fe5588269d8e2a8b58ecf Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 27 Mar 2019 23:01:33 -0400 Date: Wed, 27 Mar 2019 23:01:33 -0400
Subject: [PATCH] PlayerDeathEvent#getItemsToKeep Subject: [PATCH] PlayerDeathEvent#getItemsToKeep
@ -8,7 +8,7 @@ Exposes a mutable array on items a player should keep on death
Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4 Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index a191d6246..18695d9b5 100644 index cc9e69651..ca2398386 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -510,6 +510,46 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -510,6 +510,46 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -73,5 +73,5 @@ index a191d6246..18695d9b5 100644
this.setSpectatorTarget(this); // Remove spectated target this.setSpectatorTarget(this); // Remove spectated target
-- --
2.22.0 2.24.1

View file

@ -1,4 +1,4 @@
From 44377891791b199d2a2e184c905942fe07ae24a5 Mon Sep 17 00:00:00 2001 From bed92ef07ed1a7c0514c36dd12f20aaba86cbc66 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 6 Apr 2019 10:16:48 -0400 Date: Sat, 6 Apr 2019 10:16:48 -0400
Subject: [PATCH] Optimize Captured TileEntity Lookup Subject: [PATCH] Optimize Captured TileEntity Lookup
@ -10,10 +10,10 @@ Optimize to check if the captured list even has values in it, and also to
just do a get call since the value can never be null. just do a get call since the value can never be null.
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 dad0c893f..dd2a9c6e5 100644 index 61a3ddc4d..dfc695084 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
@@ -1082,12 +1082,13 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -1000,12 +1000,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return null; return null;
} else { } else {
// CraftBukkit start // CraftBukkit start
@ -29,7 +29,7 @@ index dad0c893f..dd2a9c6e5 100644
+ //TileEntity tileentity = null; // Paper - move up + //TileEntity tileentity = null; // Paper - move up
if (this.tickingTileEntities) { if (this.tickingTileEntities) {
tileentity = this.A(blockposition); tileentity = this.e(blockposition);
-- --
2.23.0 2.24.1

View file

@ -1,14 +1,14 @@
From 8cf24e97fb891543763665534d39638d6b324a0d Mon Sep 17 00:00:00 2001 From 67f62dfa1ad2c6ea8104461749bd2b43b94bb366 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com> From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Tue, 1 Jan 2019 02:22:01 -0800 Date: Tue, 1 Jan 2019 02:22:01 -0800
Subject: [PATCH] Add Heightmap API Subject: [PATCH] Add Heightmap API
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 dd2a9c6e59..e3b4e30e65 100644 index dfc695084..10bb06489 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
@@ -663,8 +663,8 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -577,8 +577,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
} }
} }
@ -20,10 +20,10 @@ index dd2a9c6e59..e3b4e30e65 100644
if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) { if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 78a2c47c5a..95fdc3bf64 100644 index 578fe8d19..12362d560 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -339,6 +339,29 @@ public class CraftWorld implements World { @@ -340,6 +340,29 @@ public class CraftWorld implements World {
return world.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING, new BlockPosition(x, 0, z)).getY(); return world.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING, new BlockPosition(x, 0, z)).getY();
} }
@ -54,5 +54,5 @@ index 78a2c47c5a..95fdc3bf64 100644
public Location getSpawnLocation() { public Location getSpawnLocation() {
BlockPosition spawn = world.getSpawn(); BlockPosition spawn = world.getSpawn();
-- --
2.23.0 2.24.1

View file

@ -1,14 +1,14 @@
From e44fa7d596b9d2d5a3f39a0d377d0f9606248d9c Mon Sep 17 00:00:00 2001 From 30d0d58e6914e05dbcb03e73d6d87c8848013bfc Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com> From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 19 Apr 2019 12:41:13 -0500 Date: Fri, 19 Apr 2019 12:41:13 -0500
Subject: [PATCH] Mob Spawner API Enhancements Subject: [PATCH] Mob Spawner API Enhancements
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
index 079099e30..b05f6c2f2 100644 index 90ca1ee14..b179893a1 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -46,6 +46,7 @@ public abstract class MobSpawnerAbstract { @@ -47,6 +47,7 @@ public abstract class MobSpawnerAbstract {
this.mobs.clear(); // CraftBukkit - SPIGOT-3496, MC-92282 this.mobs.clear(); // CraftBukkit - SPIGOT-3496, MC-92282
} }
@ -103,5 +103,5 @@ index 5c4c3c70c..e78e3804b 100644
+ // Paper end + // Paper end
} }
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From 169c744e147e554e58feafd2c9ccb990eb99e5fa Mon Sep 17 00:00:00 2001 From d5f010e8360f67f7b54f41e19be07f238fee2896 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach@zachbr.io> From: Zach Brown <zach@zachbr.io>
Date: Mon, 6 May 2019 01:29:25 -0400 Date: Mon, 6 May 2019 01:29:25 -0400
Subject: [PATCH] Per-Player View Distance API placeholders Subject: [PATCH] Per-Player View Distance API placeholders
@ -7,10 +7,10 @@ I hope to look at this more in-depth soon. It appears doable.
However this should not block the update. However this should not block the update.
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index c2f35f89d..c8c74f2b3 100644 index 3df8e30ec..9acdd6e56 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -570,9 +570,9 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -579,9 +579,9 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
// CraftBukkit start - Use relative location for far away sounds // CraftBukkit start - Use relative location for far away sounds
// this.world.b(1028, new BlockPosition(this), 0); // this.world.b(1028, new BlockPosition(this), 0);
// Paper start // Paper start
@ -20,10 +20,10 @@ index c2f35f89d..c8c74f2b3 100644
- final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch - final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch
+ //final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch + //final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch
// Paper end // Paper end
double deltaX = this.locX - player.locX; double deltaX = this.locX() - player.locX();
double deltaZ = this.locZ - player.locZ; double deltaZ = this.locZ() - player.locZ();
diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java
index 18151acd5..8b3052b11 100644 index 2e95069c1..8977c3516 100644
--- a/src/main/java/net/minecraft/server/EntityWither.java --- a/src/main/java/net/minecraft/server/EntityWither.java
+++ b/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java
@@ -208,9 +208,9 @@ public class EntityWither extends EntityMonster implements IRangedEntity { @@ -208,9 +208,9 @@ public class EntityWither extends EntityMonster implements IRangedEntity {
@ -36,13 +36,13 @@ index 18151acd5..8b3052b11 100644
- final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch - final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch
+ //final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch + //final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch
// Paper end // Paper end
double deltaX = this.locX - player.locX; double deltaX = this.locX() - player.locX();
double deltaZ = this.locZ - player.locZ; double deltaZ = this.locZ() - player.locZ();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 9fa55ef6f..e920545df 100644 index 4b847ddd8..049ebf4c4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1983,6 +1983,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1967,6 +1967,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
super.remove(); super.remove();
} }
} }
@ -56,9 +56,9 @@ index 9fa55ef6f..e920545df 100644
+ public void setViewDistance(int viewDistance) { + public void setViewDistance(int viewDistance) {
+ throw new NotImplementedException("Per-Player View Distance APIs need further understanding to properly implement"); // TODO + throw new NotImplementedException("Per-Player View Distance APIs need further understanding to properly implement"); // TODO
+ } + }
//Paper end // Paper end
// Spigot start // Spigot start
-- --
2.23.0 2.24.1

View file

@ -1,14 +1,14 @@
From 77e3bff66143458b16f6ddfb0510d254faecf0c4 Mon Sep 17 00:00:00 2001 From 84cd561af5130ce02ebfdbe04339b9e1765fe28d Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Fri, 10 May 2019 18:38:19 +0100 Date: Fri, 10 May 2019 18:38:19 +0100
Subject: [PATCH] Fix CB call to changed postToMainThread method Subject: [PATCH] Fix CB call to changed postToMainThread method
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 37b97438c..4a16d6c14 100644 index 17eeecaf4..8c54022e0 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -283,7 +283,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -286,7 +286,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
this.networkManager.getClass(); this.networkManager.getClass();
// CraftBukkit - Don't wait // CraftBukkit - Don't wait
@ -18,5 +18,5 @@ index 37b97438c..4a16d6c14 100644
@Override @Override
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From 0af4cd795675fc8e5128e0648464aab87edf887c Mon Sep 17 00:00:00 2001 From 81e5cb6c7eadf2b99c00fca4c658e92efb7ca794 Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv> From: Phoenix616 <mail@moep.tv>
Date: Sat, 27 Apr 2019 20:00:43 +0100 Date: Sat, 27 Apr 2019 20:00:43 +0100
Subject: [PATCH] Fix sounds when item frames are modified (MC-123450) Subject: [PATCH] Fix sounds when item frames are modified (MC-123450)
@ -6,10 +6,10 @@ Subject: [PATCH] Fix sounds when item frames are modified (MC-123450)
This also fixes the adding sound playing when the item frame direction is changed. This also fixes the adding sound playing when the item frame direction is changed.
diff --git a/src/main/java/net/minecraft/server/EntityItemFrame.java b/src/main/java/net/minecraft/server/EntityItemFrame.java diff --git a/src/main/java/net/minecraft/server/EntityItemFrame.java b/src/main/java/net/minecraft/server/EntityItemFrame.java
index 6f6837ec4..b078435c6 100644 index 9b1e07452..f8a2f32f1 100644
--- a/src/main/java/net/minecraft/server/EntityItemFrame.java --- a/src/main/java/net/minecraft/server/EntityItemFrame.java
+++ b/src/main/java/net/minecraft/server/EntityItemFrame.java +++ b/src/main/java/net/minecraft/server/EntityItemFrame.java
@@ -226,7 +226,7 @@ public class EntityItemFrame extends EntityHanging { @@ -224,7 +224,7 @@ public class EntityItemFrame extends EntityHanging {
} }
this.getDataWatcher().set(EntityItemFrame.ITEM, itemstack); this.getDataWatcher().set(EntityItemFrame.ITEM, itemstack);
@ -32,5 +32,5 @@ index 799036f26..9ad180d94 100644
this.entity = frame; this.entity = frame;
} }
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From 046a05122f1c0f770d9264ec32064c9631b3f9bf Mon Sep 17 00:00:00 2001 From 80988fcf00fd1246ec08ce046e879c533490e166 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com> From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Mon, 13 May 2019 21:10:59 -0700 Date: Mon, 13 May 2019 21:10:59 -0700
Subject: [PATCH] Fix CraftServer#isPrimaryThread and MinecraftServer Subject: [PATCH] Fix CraftServer#isPrimaryThread and MinecraftServer
@ -16,10 +16,10 @@ handling that should have been handled synchronously will be handled
synchronously when the server gets shut down. synchronously when the server gets shut down.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 24dccfb7a1..ee02001700 100644 index c023848c7..443e727dc 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2171,7 +2171,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -2200,7 +2200,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// CraftBukkit start // CraftBukkit start
@Override @Override
public boolean isMainThread() { public boolean isMainThread() {
@ -29,10 +29,10 @@ index 24dccfb7a1..ee02001700 100644
@Deprecated @Deprecated
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b89486beb1..7a8ab7d401 100644 index 58b343259..18b76ed0f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1664,7 +1664,7 @@ public final class CraftServer implements Server { @@ -1667,7 +1667,7 @@ public final class CraftServer implements Server {
@Override @Override
public boolean isPrimaryThread() { public boolean isPrimaryThread() {
@ -42,5 +42,5 @@ index b89486beb1..7a8ab7d401 100644
@Override @Override
-- --
2.22.1 2.24.1

View file

@ -1,4 +1,4 @@
From 42147b7cc99cfae2e2f4ba937be928a59b63f0b5 Mon Sep 17 00:00:00 2001 From 81e442b2df9ec4a2067421826002e569cb0f0ddd Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Fri, 28 Sep 2018 21:49:53 -0400 Date: Fri, 28 Sep 2018 21:49:53 -0400
Subject: [PATCH] Fix issues with entity loss due to unloaded chunks Subject: [PATCH] Fix issues with entity loss due to unloaded chunks
@ -19,27 +19,27 @@ This change ensures the chunks are always loaded when entities are
added to the world, or a valid entity moves between chunks. added to the world, or a valid entity moves between chunks.
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 628ad8b839..cc2c139904 100644 index 63e7f2bce..0138738b3 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -675,7 +675,7 @@ public class WorldServer extends World { @@ -684,7 +684,7 @@ public class WorldServer extends World {
this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY); this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY);
} }
- if (!entity.bU() && !this.isChunkLoaded(i, k)) { - if (!entity.cc() && !this.isChunkLoaded(i, k)) {
+ if (!entity.valid && !entity.bU() && !this.isChunkLoaded(i, k)) { // Paper - always load chunks to register valid entities location + if (!entity.valid && !entity.cc() && !this.isChunkLoaded(i, k)) { // Paper - always load chunks to register valid entities location
entity.inChunk = false; entity.inChunk = false;
} else { } else {
this.getChunkAt(i, k).a(entity); this.getChunkAt(i, k).a(entity);
@@ -1010,7 +1010,7 @@ public class WorldServer extends World { @@ -1009,7 +1009,7 @@ public class WorldServer extends World {
return false; return false;
} }
// CraftBukkit end // CraftBukkit end
- IChunkAccess ichunkaccess = this.getChunkAt(MathHelper.floor(entity.locX / 16.0D), MathHelper.floor(entity.locZ / 16.0D), ChunkStatus.FULL, entity.attachedToPlayer); - IChunkAccess ichunkaccess = this.getChunkAt(MathHelper.floor(entity.locX() / 16.0D), MathHelper.floor(entity.locZ() / 16.0D), ChunkStatus.FULL, entity.attachedToPlayer);
+ IChunkAccess ichunkaccess = this.getChunkAt(MathHelper.floor(entity.locX / 16.0D), MathHelper.floor(entity.locZ / 16.0D), ChunkStatus.FULL, true); // Paper - always load chunks for entity adds + IChunkAccess ichunkaccess = this.getChunkAt(MathHelper.floor(entity.locX() / 16.0D), MathHelper.floor(entity.locZ() / 16.0D), ChunkStatus.FULL, true); // Paper - always load chunks for entity adds
if (!(ichunkaccess instanceof Chunk)) { if (!(ichunkaccess instanceof Chunk)) {
return false; return false;
-- --
2.22.1 2.24.1

View file

@ -1,4 +1,4 @@
From 8b9d55b7935238a4142c03140a818bbdfc72dc5e Mon Sep 17 00:00:00 2001 From 6e44f48dc3266fee79360c7400a2f371543c7de8 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 21 Jul 2018 14:27:34 -0400 Date: Sat, 21 Jul 2018 14:27:34 -0400
Subject: [PATCH] Duplicate UUID Resolve Option Subject: [PATCH] Duplicate UUID Resolve Option
@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA
It is recommended you regenerate the entities, as these were legit entities, and deserve your love. It is recommended you regenerate the entities, as these were legit entities, and deserve your love.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index cf9470057..2cf5ef8b7 100644 index 3b1289099..14fa5fdb7 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -449,4 +449,43 @@ public class PaperWorldConfig { @@ -449,4 +449,43 @@ public class PaperWorldConfig {
@ -81,31 +81,31 @@ index cf9470057..2cf5ef8b7 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 09e010e67..ee8f80174 100644 index c7c600b80..64c327669 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -397,6 +397,7 @@ public class Chunk implements IChunkAccess { @@ -391,6 +391,7 @@ public class Chunk implements IChunkAccess {
if (i != this.loc.x || j != this.loc.z) { if (i != this.loc.x || j != this.loc.z) {
Chunk.LOGGER.warn("Wrong location! ({}, {}) should be ({}, {}), {}", i, j, this.loc.x, this.loc.z, entity); Chunk.LOGGER.warn("Wrong location! ({}, {}) should be ({}, {}), {}", i, j, this.loc.x, this.loc.z, entity);
entity.dead = true; entity.dead = true;
+ return; // Paper + return; // Paper
} }
int k = MathHelper.floor(entity.locY / 16.0D); int k = MathHelper.floor(entity.locY() / 16.0D);
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index f87514a20..55c73ffca 100644 index 96b0917a3..f0d1a5b14 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2728,6 +2728,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -2735,6 +2735,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}); });
} }
+ public void setUUID(UUID uuid) { a(uuid); } // Paper - OBFHELPER + public void setUUID(UUID uuid) { a(uuid); } // Paper - OBFHELPER
public void a(UUID uuid) { public void a(UUID uuid) {
this.uniqueID = uuid; this.uniqueID = uuid;
this.ap = this.uniqueID.toString(); this.am = this.uniqueID.toString();
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index db938da25..82b7d328a 100644 index a2b09597f..5fd001170 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
@ -116,11 +116,12 @@ index db938da25..82b7d328a 100644
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.ComparisonChain; // Paper import com.google.common.collect.ComparisonChain; // Paper
@@ -22,13 +23,16 @@ import java.io.File; @@ -22,14 +23,17 @@ import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.Writer; import java.io.Writer;
import java.util.ArrayList; import java.util.ArrayList;
+import java.util.HashMap; // Paper +import java.util.HashMap; // Paper
import java.util.Collection;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
+import java.util.Map; // Paper +import java.util.Map; // Paper
@ -133,7 +134,7 @@ index db938da25..82b7d328a 100644
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionException; import java.util.concurrent.CompletionException;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
@@ -593,19 +597,55 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -594,19 +598,55 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
for (int j = 0; j < i; ++j) { for (int j = 0; j < i; ++j) {
List<Entity> entityslice = aentityslice[j]; // Spigot List<Entity> entityslice = aentityslice[j]; // Spigot
@ -200,7 +201,7 @@ index db938da25..82b7d328a 100644
if (list == null) { if (list == null) {
list = Lists.newArrayList(new Entity[]{entity}); list = Lists.newArrayList(new Entity[]{entity});
} else { } else {
@@ -613,6 +653,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -614,6 +654,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
} }
} }
} }
@ -209,19 +210,19 @@ index db938da25..82b7d328a 100644
if (list != null) { if (list != null) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index cc2c13990..29bb795f7 100644 index 0138738b3..d59eee27a 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -2,6 +2,8 @@ package net.minecraft.server; @@ -3,6 +3,8 @@ package net.minecraft.server;
import com.google.common.annotations.VisibleForTesting;
import co.aikar.timings.TimingHistory; import co.aikar.timings.TimingHistory; // Paper
import co.aikar.timings.Timings; import co.aikar.timings.Timings; // Paper
+ +
+import com.destroystokyo.paper.PaperWorldConfig; +import com.destroystokyo.paper.PaperWorldConfig; // Paper
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Queues; import com.google.common.collect.Queues;
@@ -1037,8 +1039,23 @@ public class WorldServer extends World { @@ -1036,8 +1038,23 @@ public class WorldServer extends World {
if (entity1 == null) { if (entity1 == null) {
return false; return false;
} else { } else {
@ -247,7 +248,7 @@ index cc2c13990..29bb795f7 100644
return true; return true;
} }
} }
@@ -1177,7 +1194,7 @@ public class WorldServer extends World { @@ -1176,7 +1193,7 @@ public class WorldServer extends World {
} }
Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity); Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity);
@ -257,5 +258,5 @@ index cc2c13990..29bb795f7 100644
logger.error("Overwrote an existing entity " + old + " with " + entity); logger.error("Overwrote an existing entity " + old + " with " + entity);
if (DEBUG_ENTITIES) { if (DEBUG_ENTITIES) {
-- --
2.24.0 2.24.1

View file

@ -1,4 +1,4 @@
From f84670030019a4d9d6287a8dbdcc63e25d7f50f0 Mon Sep 17 00:00:00 2001 From 5c3534a9d83d87e197cb35ab9b6bd5c6ba667e2d Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Tue, 21 May 2019 02:34:04 +0100 Date: Tue, 21 May 2019 02:34:04 +0100
Subject: [PATCH] improve CraftWorld#isChunkLoaded Subject: [PATCH] improve CraftWorld#isChunkLoaded
@ -9,10 +9,10 @@ waiting for the execution queue to get to our request; We can just query
the chunk status and get a response now, vs having to wait the chunk status and get a response now, vs having to wait
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 95fdc3bf64..f2a68ec360 100644 index 12362d560..29c14c707 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -403,14 +403,13 @@ public class CraftWorld implements World { @@ -404,14 +404,13 @@ public class CraftWorld implements World {
@Override @Override
public boolean isChunkLoaded(int x, int z) { public boolean isChunkLoaded(int x, int z) {
@ -24,11 +24,11 @@ index 95fdc3bf64..f2a68ec360 100644
@Override @Override
public boolean isChunkGenerated(int x, int z) { public boolean isChunkGenerated(int x, int z) {
try { try {
- return isChunkLoaded(x, z) || world.getChunkProvider().playerChunkMap.chunkExists(new ChunkCoordIntPair(x, z)); - return isChunkLoaded(x, z) || world.getChunkProvider().playerChunkMap.read(new ChunkCoordIntPair(x, z)) != null;
+ return world.getChunkProvider().getChunkAtIfCachedImmediately(x, z) != null || world.getChunkProvider().playerChunkMap.chunkExists(new ChunkCoordIntPair(x, z)); // Paper + return world.getChunkProvider().getChunkAtIfCachedImmediately(x, z) != null || world.getChunkProvider().playerChunkMap.read(new ChunkCoordIntPair(x, z)) != null; // Paper (TODO check if the first part can be removed)
} catch (IOException ex) { } catch (IOException ex) {
throw new RuntimeException(ex); throw new RuntimeException(ex);
} }
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From 56cea870900e4546d9979bc37bf98f70f31af32f Mon Sep 17 00:00:00 2001 From ee1545f6f3c072ea6581746932140afd43ddb8d5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 13 Sep 2014 23:14:43 -0400 Date: Sat, 13 Sep 2014 23:14:43 -0400
Subject: [PATCH] Configurable Keep Spawn Loaded range per world Subject: [PATCH] Configurable Keep Spawn Loaded range per world
@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world
This lets you disable it for some worlds and lower it for others. This lets you disable it for some worlds and lower it for others.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index acc84eec1..9ff115294 100644 index 14fa5fdb7..332f20ce8 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -488,4 +488,10 @@ public class PaperWorldConfig { @@ -488,4 +488,10 @@ public class PaperWorldConfig {
@ -21,10 +21,10 @@ index acc84eec1..9ff115294 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ee0200170..a6f112bd0 100644 index 443e727dc..0a7648381 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -577,6 +577,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -585,6 +585,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.forceTicks = true; this.forceTicks = true;
// CraftBukkit end // CraftBukkit end
@ -39,7 +39,7 @@ index ee0200170..a6f112bd0 100644
MinecraftServer.LOGGER.info("Preparing start region for dimension '{}'/{}", worldserver.getWorldData().getName(), DimensionManager.a(worldserver.worldProvider.getDimensionManager().getType())); // CraftBukkit MinecraftServer.LOGGER.info("Preparing start region for dimension '{}'/{}", worldserver.getWorldData().getName(), DimensionManager.a(worldserver.worldProvider.getDimensionManager().getType())); // CraftBukkit
BlockPosition blockposition = worldserver.getSpawn(); BlockPosition blockposition = worldserver.getSpawn();
@@ -585,14 +593,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -593,14 +601,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
chunkproviderserver.getLightEngine().a(500); chunkproviderserver.getLightEngine().a(500);
this.nextTick = SystemUtils.getMonotonicMillis(); this.nextTick = SystemUtils.getMonotonicMillis();
@ -114,10 +114,10 @@ index 3868572ae..ae77805f7 100644
@Override @Override
public void a(ChunkCoordIntPair chunkcoordintpair) { public void a(ChunkCoordIntPair chunkcoordintpair) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 29bb795f7..3acea575d 100644 index d59eee27a..c28c0431a 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1559,13 +1559,85 @@ public class WorldServer extends World { @@ -1557,13 +1557,85 @@ public class WorldServer extends World {
return ((PersistentIdCounts) this.getMinecraftServer().getWorldServer(DimensionManager.OVERWORLD).getWorldPersistentData().a(PersistentIdCounts::new, "idcounts")).a(); return ((PersistentIdCounts) this.getMinecraftServer().getWorldServer(DimensionManager.OVERWORLD).getWorldPersistentData().a(PersistentIdCounts::new, "idcounts")).a();
} }
@ -207,10 +207,10 @@ index 29bb795f7..3acea575d 100644
public LongSet getForceLoadedChunks() { public LongSet getForceLoadedChunks() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f2a68ec36..e42bd2638 100644 index 29c14c707..b1ae19be7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1872,15 +1872,21 @@ public class CraftWorld implements World { @@ -1882,15 +1882,21 @@ public class CraftWorld implements World {
@Override @Override
public void setKeepSpawnInMemory(boolean keepLoaded) { public void setKeepSpawnInMemory(boolean keepLoaded) {
@ -237,5 +237,5 @@ index f2a68ec36..e42bd2638 100644
@Override @Override
-- --
2.23.0 2.24.1

View file

@ -1,14 +1,14 @@
From 7e0cc05d027bb79c8a9e1e3fbe644421570e3bd5 Mon Sep 17 00:00:00 2001 From 49c037cf9446052db43e1254b2f02850c5d5f9ef Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Fri, 24 May 2019 07:53:16 +0100 Date: Fri, 24 May 2019 07:53:16 +0100
Subject: [PATCH] Fix some generation concurrency issues 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 e3b4e30e6..10c149fae 100644 index 10bb06489..9ad76ab32 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
@@ -101,6 +101,23 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -100,6 +100,23 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
private int tileTickPosition; private int tileTickPosition;
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
public java.util.ArrayDeque<BlockRedstoneTorch.RedstoneUpdateInfo> redstoneUpdateInfos; // Paper - Move from Map in BlockRedstoneTorch to here public java.util.ArrayDeque<BlockRedstoneTorch.RedstoneUpdateInfo> redstoneUpdateInfos; // Paper - Move from Map in BlockRedstoneTorch to here
@ -33,7 +33,7 @@ index e3b4e30e6..10c149fae 100644
public CraftWorld getWorld() { public CraftWorld getWorld() {
return this.world; return this.world;
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 ddf726867..c2188ceef 100644 index b34a0683a..e002ed53f 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
@@ -10,10 +10,12 @@ import javax.annotation.Nullable; @@ -10,10 +10,12 @@ import javax.annotation.Nullable;
@ -42,20 +42,20 @@ index ddf726867..c2188ceef 100644
+ /* // Paper start - no shared state + /* // Paper start - no shared state
private boolean a; private boolean a;
private ChunkCoordIntPair[] aS; private ChunkCoordIntPair[] aq;
private final List<StructureStart> aT = Lists.newArrayList(); private final List<StructureStart> ar = Lists.newArrayList();
private long aU; private long as;
+ */ + */
public WorldGenStronghold(Function<Dynamic<?>, ? extends WorldGenFeatureEmptyConfiguration> function) { public WorldGenStronghold(Function<Dynamic<?>, ? extends WorldGenFeatureEmptyConfiguration> function) {
super(function); super(function);
@@ -21,16 +23,22 @@ public class WorldGenStronghold extends StructureGenerator<WorldGenFeatureEmptyC @@ -21,16 +23,22 @@ public class WorldGenStronghold extends StructureGenerator<WorldGenFeatureEmptyC
@Override @Override
public boolean a(ChunkGenerator<?> chunkgenerator, Random random, int i, int j) { public boolean a(BiomeManager biomemanager, ChunkGenerator<?> chunkgenerator, Random random, int i, int j, BiomeBase biomebase) {
+ // Paper start + // Paper start
+ /* + /*
if (this.aU != chunkgenerator.getSeed()) { if (this.as != chunkgenerator.getSeed()) {
this.d(); this.d();
} }
+ */ + */
@ -71,7 +71,7 @@ index ddf726867..c2188ceef 100644
+ }} + }}
+ // Paper end + // Paper end
- ChunkCoordIntPair[] achunkcoordintpair = this.aS; - ChunkCoordIntPair[] achunkcoordintpair = this.aq;
+ ChunkCoordIntPair[] achunkcoordintpair = world.strongholdCoords; // Paper + ChunkCoordIntPair[] achunkcoordintpair = world.strongholdCoords; // Paper
int k = achunkcoordintpair.length; int k = achunkcoordintpair.length;
@ -82,9 +82,9 @@ index ddf726867..c2188ceef 100644
private void d() { private void d() {
+ /* // Paper + /* // Paper
this.a = false; this.a = false;
this.aS = null; this.aq = null;
this.aT.clear(); this.ar.clear();
+ */ // Paper + */ // Paper
} }
@Override @Override
@ -101,7 +101,7 @@ index ddf726867..c2188ceef 100644
} else { } else {
+ // Paper start - no shared state + // Paper start - no shared state
+ /* + /*
if (this.aU != world.getSeed()) { if (this.as != world.getSeed()) {
this.d(); this.d();
} }
+ */ + */
@ -120,7 +120,7 @@ index ddf726867..c2188ceef 100644
BlockPosition blockposition1 = null; BlockPosition blockposition1 = null;
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(); BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition();
double d0 = Double.MAX_VALUE; double d0 = Double.MAX_VALUE;
- ChunkCoordIntPair[] achunkcoordintpair = this.aS; - ChunkCoordIntPair[] achunkcoordintpair = this.aq;
+ ChunkCoordIntPair[] achunkcoordintpair = world.strongholdCoords; // Paper + ChunkCoordIntPair[] achunkcoordintpair = world.strongholdCoords; // Paper
int j = achunkcoordintpair.length; int j = achunkcoordintpair.length;
@ -129,8 +129,8 @@ index ddf726867..c2188ceef 100644
} }
private void a(ChunkGenerator<?> chunkgenerator) { private void a(ChunkGenerator<?> chunkgenerator) {
- this.aU = chunkgenerator.getSeed(); - this.as = chunkgenerator.getSeed();
+ //this.aU = chunkgenerator.getSeed(); // Paper + //this.as = chunkgenerator.getSeed(); // Paper
List<BiomeBase> list = Lists.newArrayList(); List<BiomeBase> list = Lists.newArrayList();
Iterator iterator = IRegistry.BIOME.iterator(); Iterator iterator = IRegistry.BIOME.iterator();
@ -138,17 +138,17 @@ index ddf726867..c2188ceef 100644
int j = chunkgenerator.getSettings().f(); int j = chunkgenerator.getSettings().f();
int k = chunkgenerator.getSettings().g(); int k = chunkgenerator.getSettings().g();
- this.aS = new ChunkCoordIntPair[j]; - this.aq = new ChunkCoordIntPair[j];
+ ChunkCoordIntPair[] strongholdCoords = chunkgenerator.getWorld().strongholdCoords = new ChunkCoordIntPair[j]; // Paper + ChunkCoordIntPair[] strongholdCoords = chunkgenerator.getWorld().strongholdCoords = new ChunkCoordIntPair[j]; // Paper
int l = 0; int l = 0;
- Iterator iterator1 = this.aT.iterator(); - Iterator iterator1 = this.ar.iterator();
+ Iterator iterator1 = chunkgenerator.getWorld().strongholdStuctures.iterator(); // Paper + Iterator iterator1 = chunkgenerator.getWorld().strongholdStuctures.iterator(); // Paper
while (iterator1.hasNext()) { while (iterator1.hasNext()) {
StructureStart structurestart = (StructureStart) iterator1.next(); StructureStart structurestart = (StructureStart) iterator1.next();
- if (l < this.aS.length) { - if (l < this.aq.length) {
- this.aS[l++] = new ChunkCoordIntPair(structurestart.f(), structurestart.g()); - this.aq[l++] = new ChunkCoordIntPair(structurestart.f(), structurestart.g());
+ if (l < strongholdCoords.length) { // Paper + if (l < strongholdCoords.length) { // Paper
+ strongholdCoords[l++] = new ChunkCoordIntPair(structurestart.f(), structurestart.g()); // Paper + strongholdCoords[l++] = new ChunkCoordIntPair(structurestart.f(), structurestart.g()); // Paper
} }
@ -158,12 +158,12 @@ index ddf726867..c2188ceef 100644
double d0 = random.nextDouble() * 3.141592653589793D * 2.0D; double d0 = random.nextDouble() * 3.141592653589793D * 2.0D;
int i1 = l; int i1 = l;
- if (l < this.aS.length) { - if (l < this.aq.length) {
+ if (l < strongholdCoords.length) { // Paper + if (l < strongholdCoords.length) { // Paper
int j1 = 0; int j1 = 0;
int k1 = 0; int k1 = 0;
- for (int l1 = 0; l1 < this.aS.length; ++l1) { - for (int l1 = 0; l1 < this.aq.length; ++l1) {
+ for (int l1 = 0; l1 < strongholdCoords.length; ++l1) { // Paper + for (int l1 = 0; l1 < strongholdCoords.length; ++l1) { // Paper
double d1 = (double) (4 * i + i * k1 * 6) + (random.nextDouble() - 0.5D) * (double) i * 2.5D; double d1 = (double) (4 * i + i * k1 * 6) + (random.nextDouble() - 0.5D) * (double) i * 2.5D;
int i2 = (int) Math.round(Math.cos(d0) * d1); int i2 = (int) Math.round(Math.cos(d0) * d1);
@ -172,7 +172,7 @@ index ddf726867..c2188ceef 100644
} }
if (l1 >= i1) { if (l1 >= i1) {
- this.aS[l1] = new ChunkCoordIntPair(i2, j2); - this.aq[l1] = new ChunkCoordIntPair(i2, j2);
+ strongholdCoords[l1] = new ChunkCoordIntPair(i2, j2); // Paper + strongholdCoords[l1] = new ChunkCoordIntPair(i2, j2); // Paper
} }
@ -181,8 +181,8 @@ index ddf726867..c2188ceef 100644
++k1; ++k1;
j1 = 0; j1 = 0;
k += 2 * k / (k1 + 1); k += 2 * k / (k1 + 1);
- k = Math.min(k, this.aS.length - l1); - k = Math.min(k, this.aq.length - l1);
+ k = Math.min(k, strongholdCoords.length - l1); + k = Math.min(k, strongholdCoords.length - l1); // Paper
d0 += random.nextDouble() * 3.141592653589793D * 2.0D; d0 += random.nextDouble() * 3.141592653589793D * 2.0D;
} }
} }
@ -190,11 +190,11 @@ index ddf726867..c2188ceef 100644
this.a(chunkgenerator.getSeaLevel(), this.d, 10); this.a(chunkgenerator.getSeaLevel(), this.d, 10);
} while (this.b.isEmpty() || worldgenstrongholdpieces_worldgenstrongholdstart.b == null); } while (this.b.isEmpty() || worldgenstrongholdpieces_worldgenstrongholdstart.b == null);
- ((WorldGenStronghold) this.k()).aT.add(this); - ((WorldGenStronghold) this.l()).ar.add(this);
+ chunkgenerator.getWorld().strongholdStuctures.add(this); // Paper - this worries me, this is never cleared, even in vanilla (world seed never changes "world", and that appears to be the only relevant world) + chunkgenerator.getWorld().strongholdStuctures.add(this); // Paper - this worries me, this is never cleared, even in vanilla (world seed never changes "world", and that appears to be the only relevant world)
} }
} }
} }
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From 829f83cc7a910c4c2b7669b98d26324284495d20 Mon Sep 17 00:00:00 2001 From 6e461a1d9d95e3f023050c86cf602b587c5ab9f5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com> From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Mon, 27 May 2019 17:35:39 -0500 Date: Mon, 27 May 2019 17:35:39 -0500
Subject: [PATCH] MC-114618 - Fix EntityAreaEffectCloud from going negative Subject: [PATCH] MC-114618 - Fix EntityAreaEffectCloud from going negative
@ -6,7 +6,7 @@ Subject: [PATCH] MC-114618 - Fix EntityAreaEffectCloud from going negative
diff --git a/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java b/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java diff --git a/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java b/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java
index 3a8e10533..fe527aba5 100644 index e8f3e55fd..44289c230 100644
--- a/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java --- a/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java
+++ b/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java +++ b/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java
@@ -175,6 +175,12 @@ public class EntityAreaEffectCloud extends Entity { @@ -175,6 +175,12 @@ public class EntityAreaEffectCloud extends Entity {
@ -23,5 +23,5 @@ index 3a8e10533..fe527aba5 100644
if (this.world.isClientSide) { if (this.world.isClientSide) {
ParticleParam particleparam = this.getParticle(); ParticleParam particleparam = this.getParticle();
-- --
2.23.0 2.24.1

View file

@ -1,14 +1,14 @@
From f740ce691e50b45b0fb0b729ce92c5e1ead81226 Mon Sep 17 00:00:00 2001 From b138edb74998577db55d22d2f38ebd72a698fda2 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Wed, 29 May 2019 04:01:22 +0100 Date: Wed, 29 May 2019 04:01:22 +0100
Subject: [PATCH] ChunkMapDistance CME Subject: [PATCH] ChunkMapDistance CME
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
index 101eb58ac..63a688725 100644 index a35f0e18b..8c1945687 100644
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java --- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java +++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
@@ -36,7 +36,7 @@ public abstract class ChunkMapDistance { @@ -33,7 +33,7 @@ public abstract class ChunkMapDistance {
private final ChunkMapDistance.a e = new ChunkMapDistance.a(); private final ChunkMapDistance.a e = new ChunkMapDistance.a();
private final ChunkMapDistance.b f = new ChunkMapDistance.b(8); private final ChunkMapDistance.b f = new ChunkMapDistance.b(8);
private final ChunkMapDistance.c g = new ChunkMapDistance.c(33); private final ChunkMapDistance.c g = new ChunkMapDistance.c(33);
@ -17,7 +17,7 @@ index 101eb58ac..63a688725 100644
private final ChunkTaskQueueSorter i; private final ChunkTaskQueueSorter i;
private final Mailbox<ChunkTaskQueueSorter.a<Runnable>> j; private final Mailbox<ChunkTaskQueueSorter.a<Runnable>> j;
private final Mailbox<ChunkTaskQueueSorter.b> k; private final Mailbox<ChunkTaskQueueSorter.b> k;
@@ -99,26 +99,12 @@ public abstract class ChunkMapDistance { @@ -94,26 +94,12 @@ public abstract class ChunkMapDistance {
; ;
} }
@ -50,5 +50,5 @@ index 101eb58ac..63a688725 100644
} else { } else {
if (!this.l.isEmpty()) { if (!this.l.isEmpty()) {
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From c2bb45f28211e458441b8898073e13cc9cf3cb52 Mon Sep 17 00:00:00 2001 From fe324f134505b5c854c8ad4e6be09292e86586ff Mon Sep 17 00:00:00 2001
From: simpleauthority <jacob@algorithmjunkie.com> From: simpleauthority <jacob@algorithmjunkie.com>
Date: Tue, 28 May 2019 03:48:51 -0700 Date: Tue, 28 May 2019 03:48:51 -0700
Subject: [PATCH] Implement CraftBlockSoundGroup Subject: [PATCH] Implement CraftBlockSoundGroup
@ -49,10 +49,10 @@ index 000000000..99f99330d
+ } + }
+} +}
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 9fd1b4915..21f734a73 100644 index 8fb0b5af0..276f207a8 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
@@ -271,6 +271,7 @@ public class IBlockData extends BlockDataAbstract<Block, IBlockData> implements @@ -275,6 +275,7 @@ public class IBlockData extends BlockDataAbstract<Block, IBlockData> implements
return this.getBlock().isTicking(this); return this.getBlock().isTicking(this);
} }
@ -61,45 +61,45 @@ index 9fd1b4915..21f734a73 100644
return this.getBlock().getStepSound(this); return this.getBlock().getStepSound(this);
} }
diff --git a/src/main/java/net/minecraft/server/SoundEffectType.java b/src/main/java/net/minecraft/server/SoundEffectType.java diff --git a/src/main/java/net/minecraft/server/SoundEffectType.java b/src/main/java/net/minecraft/server/SoundEffectType.java
index 5460d409b..ccd5b0529 100644 index b774d2d8d..0184bf3fc 100644
--- a/src/main/java/net/minecraft/server/SoundEffectType.java --- a/src/main/java/net/minecraft/server/SoundEffectType.java
+++ b/src/main/java/net/minecraft/server/SoundEffectType.java +++ b/src/main/java/net/minecraft/server/SoundEffectType.java
@@ -26,10 +26,10 @@ public class SoundEffectType { @@ -27,10 +27,10 @@ public class SoundEffectType {
public static final SoundEffectType v = new SoundEffectType(1.0F, 1.0F, SoundEffects.BLOCK_LANTERN_BREAK, SoundEffects.BLOCK_LANTERN_STEP, SoundEffects.BLOCK_LANTERN_PLACE, SoundEffects.BLOCK_LANTERN_HIT, SoundEffects.BLOCK_LANTERN_FALL); public static final SoundEffectType w = new SoundEffectType(1.0F, 1.0F, SoundEffects.BLOCK_LANTERN_BREAK, SoundEffects.BLOCK_LANTERN_STEP, SoundEffects.BLOCK_LANTERN_PLACE, SoundEffects.BLOCK_LANTERN_HIT, SoundEffects.BLOCK_LANTERN_FALL);
public final float w;
public final float x; public final float x;
- private final SoundEffect y; public final float y;
+ private final SoundEffect y; public final SoundEffect getBreakSound() { return this.y; } // Paper - OBFHELPER - private final SoundEffect z;
private final SoundEffect z; + private final SoundEffect z; public final SoundEffect getBreakSound() { return this.z; } // Paper - OBFHELPER
private final SoundEffect A; private final SoundEffect A;
- private final SoundEffect B; private final SoundEffect B;
+ private final SoundEffect B; public final SoundEffect getHitSound() { return this.B; } // Paper - OBFHELPER - private final SoundEffect C;
private final SoundEffect C; + private final SoundEffect C; public final SoundEffect getHitSound() { return this.B; } // Paper - OBFHELPER
private final SoundEffect D;
public SoundEffectType(float f, float f1, SoundEffect soundeffect, SoundEffect soundeffect1, SoundEffect soundeffect2, SoundEffect soundeffect3, SoundEffect soundeffect4) { public SoundEffectType(float f, float f1, SoundEffect soundeffect, SoundEffect soundeffect1, SoundEffect soundeffect2, SoundEffect soundeffect3, SoundEffect soundeffect4) {
@@ -50,14 +50,17 @@ public class SoundEffectType { @@ -51,14 +51,17 @@ public class SoundEffectType {
return this.x; return this.y;
} }
+ public final SoundEffect getStepSound() { return this.d(); } // Paper - OBFHELPER + public final SoundEffect getStepSound() { return this.d(); } // Paper - OBFHELPER
public SoundEffect d() { public SoundEffect d() {
return this.z; return this.A;
} }
+ public final SoundEffect getPlaceSound() { return this.e(); } // Paper - OBFHELPER + public final SoundEffect getPlaceSound() { return this.e(); } // Paper - OBFHELPER
public SoundEffect e() { public SoundEffect e() {
return this.A; return this.B;
} }
+ public final SoundEffect getFallSound() { return this.g(); } // Paper - OBFHELPER + public final SoundEffect getFallSound() { return this.g(); } // Paper - OBFHELPER
public SoundEffect g() { public SoundEffect g() {
return this.C; return this.D;
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
index da3c50c70..d9749adb7 100644 index 887ade5e8..aef8dd169 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -694,4 +694,11 @@ public class CraftBlock implements Block { @@ -696,4 +696,11 @@ public class CraftBlock implements Block {
AxisAlignedBB aabb = shape.getBoundingBox(); AxisAlignedBB aabb = shape.getBoundingBox();
return new BoundingBox(getX() + aabb.minX, getY() + aabb.minY, getZ() + aabb.minZ, getX() + aabb.maxX, getY() + aabb.maxY, getZ() + aabb.maxZ); return new BoundingBox(getX() + aabb.minX, getY() + aabb.minY, getZ() + aabb.minZ, getX() + aabb.maxX, getY() + aabb.maxY, getZ() + aabb.maxZ);
} }
@ -112,5 +112,5 @@ index da3c50c70..d9749adb7 100644
+ // Paper end + // Paper end
} }
-- --
2.24.0 2.24.1

View file

@ -1,4 +1,4 @@
From 088a41c5187b453e76e79602312b89ae1bcfac13 Mon Sep 17 00:00:00 2001 From 1126822c11025916fb4dc7d2d43da654baa53c60 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com> From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sat, 1 Jun 2019 13:00:55 -0700 Date: Sat, 1 Jun 2019 13:00:55 -0700
Subject: [PATCH] Chunk debug command Subject: [PATCH] Chunk debug command
@ -185,7 +185,7 @@ index d704fc79c..09efbf725 100644
* Ported from MinecraftForge - author: LexManos <LexManos@gmail.com> - License: LGPLv2.1 * Ported from MinecraftForge - author: LexManos <LexManos@gmail.com> - License: LGPLv2.1
*/ */
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 0ce2d6d0f..162700313 100644 index 038b7b68d..9b2bafdbd 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -22,7 +22,7 @@ import org.apache.logging.log4j.Logger; @@ -22,7 +22,7 @@ import org.apache.logging.log4j.Logger;
@ -399,7 +399,7 @@ index ec3732193..23d1935dd 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index 7407c1a56..14a176d61 100644 index 3c6fe0596..43d9a5634 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java --- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -26,7 +26,7 @@ public class PlayerChunk { @@ -26,7 +26,7 @@ public class PlayerChunk {
@ -412,10 +412,10 @@ index 7407c1a56..14a176d61 100644
private int dirtyCount; private int dirtyCount;
private int r; private int r;
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 67d011745..493770bf6 100644 index 5fd001170..827831aab 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -57,7 +57,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -58,7 +58,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
public final Long2ObjectLinkedOpenHashMap<PlayerChunk> updatingChunks = new Long2ObjectLinkedOpenHashMap(); public final Long2ObjectLinkedOpenHashMap<PlayerChunk> updatingChunks = new Long2ObjectLinkedOpenHashMap();
public volatile Long2ObjectLinkedOpenHashMap<PlayerChunk> visibleChunks; public volatile Long2ObjectLinkedOpenHashMap<PlayerChunk> visibleChunks;
private final Long2ObjectLinkedOpenHashMap<PlayerChunk> pendingUnload; private final Long2ObjectLinkedOpenHashMap<PlayerChunk> pendingUnload;
@ -424,17 +424,17 @@ index 67d011745..493770bf6 100644
public final WorldServer world; public final WorldServer world;
private final LightEngineThreaded lightEngine; private final LightEngineThreaded lightEngine;
private final IAsyncTaskHandler<Runnable> executor; private final IAsyncTaskHandler<Runnable> executor;
@@ -70,7 +70,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -71,7 +71,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
private final Mailbox<ChunkTaskQueueSorter.a<Runnable>> mailboxWorldGen; private final Mailbox<ChunkTaskQueueSorter.a<Runnable>> mailboxWorldGen;
private final Mailbox<ChunkTaskQueueSorter.a<Runnable>> mailboxMain; private final Mailbox<ChunkTaskQueueSorter.a<Runnable>> mailboxMain;
public final WorldLoadListener worldLoadListener; public final WorldLoadListener worldLoadListener;
- public final PlayerChunkMap.a chunkDistanceManager; - public final PlayerChunkMap.a chunkDistanceManager;
+ public final PlayerChunkMap.a chunkDistanceManager; public final PlayerChunkMap.a getChunkMapDistanceManager() { return this.chunkDistanceManager; } // Paper - OBFHELPER + public final PlayerChunkMap.a chunkDistanceManager; public final PlayerChunkMap.a getChunkMapDistanceManager() { return this.chunkDistanceManager; } // Paper - OBFHELPER
private final AtomicInteger v; private final AtomicInteger u;
private final DefinedStructureManager definedStructureManager; private final DefinedStructureManager definedStructureManager;
private final File x; private final File w;
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 0430ca535..badbe6c19 100644 index 77bb6b092..7a8397815 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
@@ -6,8 +6,8 @@ public final class Ticket<T> implements Comparable<Ticket<?>> { @@ -6,8 +6,8 @@ public final class Ticket<T> implements Comparable<Ticket<?>> {
@ -442,13 +442,13 @@ index 0430ca535..badbe6c19 100644
private final TicketType<T> a; private final TicketType<T> a;
private final int b; private final int b;
- public final T identifier; - public final T identifier;
- private final long d; - private long d;
+ public final T identifier; public final T getObjectReason() { return this.identifier; } // Paper - OBFHELPER + public final T identifier; public final T getObjectReason() { return this.identifier; } // Paper - OBFHELPER
+ private final long d; public final long getCreationTick() { return this.d; } // Paper - OBFHELPER + private long d; public final long getCreationTick() { return this.d; } // Paper - OBFHELPER
protected Ticket(TicketType<T> tickettype, int i, T t0, long j) { protected Ticket(TicketType<T> tickettype, int i, T t0) {
this.a = tickettype; this.a = tickettype;
@@ -52,6 +52,7 @@ public final class Ticket<T> implements Comparable<Ticket<?>> { @@ -51,6 +51,7 @@ public final class Ticket<T> implements Comparable<Ticket<?>> {
return this.a; return this.a;
} }
@ -457,5 +457,5 @@ index 0430ca535..badbe6c19 100644
return this.b; return this.b;
} }
-- --
2.23.0 2.24.1

View file

@ -1,11 +1,11 @@
From 789d6e1227d70f686850dd8e954de4106a9cc709 Mon Sep 17 00:00:00 2001 From 36505b571ac2b7a8b2353960f29c818d5e880384 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 9 Jun 2019 03:53:22 +0100 Date: Sun, 9 Jun 2019 03:53:22 +0100
Subject: [PATCH] incremental chunk saving Subject: [PATCH] incremental chunk saving
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 9ff115294..e98b1f243 100644 index 332f20ce8..f5ed0a698 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -494,4 +494,19 @@ public class PaperWorldConfig { @@ -494,4 +494,19 @@ public class PaperWorldConfig {
@ -29,7 +29,7 @@ index 9ff115294..e98b1f243 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index ee8f80174..2003522d9 100644 index 64c327669..14ec31f0a 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -42,7 +42,7 @@ public class Chunk implements IChunkAccess { @@ -42,7 +42,7 @@ public class Chunk implements IChunkAccess {
@ -39,10 +39,10 @@ index ee8f80174..2003522d9 100644
- private long lastSaved; - private long lastSaved;
+ public long lastSaved; // Paper + public long lastSaved; // Paper
private volatile boolean s; private volatile boolean s;
private long t; private long inhabitedTime;
@Nullable @Nullable
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 02dfd91c5..8689e0f9f 100644 index 9b2bafdbd..f138b112f 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -335,6 +335,15 @@ public class ChunkProviderServer extends IChunkProvider { @@ -335,6 +335,15 @@ public class ChunkProviderServer extends IChunkProvider {
@ -62,10 +62,10 @@ index 02dfd91c5..8689e0f9f 100644
public void close() throws IOException { public void close() throws IOException {
// CraftBukkit start // CraftBukkit start
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a6f112bd0..5238a1a7c 100644 index 0a7648381..8e15aba7f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -165,6 +165,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -168,6 +168,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public static int currentTick = 0; // Paper - Further improve tick loop public static int currentTick = 0; // Paper - Further improve tick loop
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>(); public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod; public int autosavePeriod;
@ -73,7 +73,7 @@ index a6f112bd0..5238a1a7c 100644
public File bukkitDataPackFolder; public File bukkitDataPackFolder;
public CommandDispatcher vanillaCommandDispatcher; public CommandDispatcher vanillaCommandDispatcher;
private boolean forceTicks; private boolean forceTicks;
@@ -1108,14 +1109,28 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1116,14 +1117,28 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.serverPing.b().a(agameprofile); this.serverPing.b().a(agameprofile);
} }
@ -108,10 +108,10 @@ index a6f112bd0..5238a1a7c 100644
this.methodProfiler.enter("snooper"); this.methodProfiler.enter("snooper");
if (((DedicatedServer) this).getDedicatedServerProperties().snooperEnabled && !this.snooper.d() && this.ticks > 100) { // Spigot if (((DedicatedServer) this).getDedicatedServerProperties().snooperEnabled && !this.snooper.d() && this.ticks > 100) { // Spigot
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 493770bf6..2be6fa0f0 100644 index 827831aab..4379434f6 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -297,6 +297,36 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -298,6 +298,36 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
super.close(); super.close();
} }
@ -149,11 +149,11 @@ index 493770bf6..2be6fa0f0 100644
if (flag) { if (flag) {
List<PlayerChunk> list = (List) this.visibleChunks.values().stream().filter(PlayerChunk::hasBeenLoaded).peek(PlayerChunk::m).collect(Collectors.toList()); List<PlayerChunk> list = (List) this.visibleChunks.values().stream().filter(PlayerChunk::hasBeenLoaded).peek(PlayerChunk::m).collect(Collectors.toList());
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 3acea575d..7c5349b17 100644 index c28c0431a..0fd3cb54b 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -791,11 +791,44 @@ public class WorldServer extends World { @@ -791,11 +791,44 @@ public class WorldServer extends World {
return this.worldProvider.d(); return this.worldProvider.c();
} }
+ // Paper start - derived from below + // Paper start - derived from below
@ -199,5 +199,5 @@ index 3acea575d..7c5349b17 100644
if (iprogressupdate != null) { if (iprogressupdate != null) {
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0])); iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
-- --
2.23.0 2.24.1

View file

@ -1,11 +1,11 @@
From a911f20edaee814e98234f9f00ab408520f5fa70 Mon Sep 17 00:00:00 2001 From d10bee4a09233c43f6d1f101d41dc95f26b8de53 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Mon, 10 Jun 2019 09:36:40 +0100 Date: Mon, 10 Jun 2019 09:36:40 +0100
Subject: [PATCH] Catch exceptions from dispenser entity spawns Subject: [PATCH] Catch exceptions from dispenser entity spawns
diff --git a/src/main/java/net/minecraft/server/IDispenseBehavior.java b/src/main/java/net/minecraft/server/IDispenseBehavior.java diff --git a/src/main/java/net/minecraft/server/IDispenseBehavior.java b/src/main/java/net/minecraft/server/IDispenseBehavior.java
index 976c72208..fe3d9d5fa 100644 index 8c4a8b4ba..83877d672 100644
--- a/src/main/java/net/minecraft/server/IDispenseBehavior.java --- a/src/main/java/net/minecraft/server/IDispenseBehavior.java
+++ b/src/main/java/net/minecraft/server/IDispenseBehavior.java +++ b/src/main/java/net/minecraft/server/IDispenseBehavior.java
@@ -163,7 +163,14 @@ public interface IDispenseBehavior { @@ -163,7 +163,14 @@ public interface IDispenseBehavior {
@ -24,5 +24,5 @@ index 976c72208..fe3d9d5fa 100644
// CraftBukkit end // CraftBukkit end
return itemstack; return itemstack;
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From 95a4a73b24ce202917135f029e05fdbea3566a74 Mon Sep 17 00:00:00 2001 From 07551ce735f8c62bc07a180b666ea6ad9368e404 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com> From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sat, 15 Jun 2019 10:28:25 -0700 Date: Sat, 15 Jun 2019 10:28:25 -0700
Subject: [PATCH] Show blockstate location if we failed to read it Subject: [PATCH] Show blockstate location if we failed to read it
@ -33,5 +33,5 @@ index f6401e2cd..3e22d558e 100644
public final boolean snapshotDisabled; // Paper public final boolean snapshotDisabled; // Paper
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From 62aa6178ba9d9f06db5d13ef1d6382cd8b16b5c6 Mon Sep 17 00:00:00 2001 From 6b453ebf22ad7ede563e5cd0560b097e264d115b Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com> From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Fri, 21 Jun 2019 14:42:48 -0700 Date: Fri, 21 Jun 2019 14:42:48 -0700
Subject: [PATCH] Log other thread in DataPaletteBlock lock failure Subject: [PATCH] Log other thread in DataPaletteBlock lock failure
@ -22,7 +22,7 @@ index 000000000..a3b174618
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
index a3bb2e877..1e2bca1e0 100644 index d5f5a5187..2c1d1b1a5 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -22,14 +22,17 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> { @@ -22,14 +22,17 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
@ -47,5 +47,5 @@ index a3bb2e877..1e2bca1e0 100644
crashreportsystemdetails.a("Thread dumps", (Object) s); crashreportsystemdetails.a("Thread dumps", (Object) s);
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From ed1c70806a105bbdab1a54def039ed2e4f4307b4 Mon Sep 17 00:00:00 2001 From dc460bf237dd914ca9485c60ffde346f290fa9fc Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com> From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sat, 22 Jun 2019 04:20:47 -0700 Date: Sat, 22 Jun 2019 04:20:47 -0700
Subject: [PATCH] Use ChunkStatus cache when saving protochunks Subject: [PATCH] Use ChunkStatus cache when saving protochunks
@ -7,10 +7,10 @@ The cache should contain the chunk status when saving. If not it
will load it. will load it.
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index eb49e9021..b04657356 100644 index 4379434f6..93729eea2 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -774,8 +774,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -775,8 +775,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
NBTTagCompound nbttagcompound; NBTTagCompound nbttagcompound;
if (chunkstatus.getType() != ChunkStatus.Type.LEVELCHUNK) { if (chunkstatus.getType() != ChunkStatus.Type.LEVELCHUNK) {
@ -24,5 +24,5 @@ index eb49e9021..b04657356 100644
} }
-- --
2.24.0 2.24.1

View file

@ -1,11 +1,11 @@
From a226c1b147367c8bd55c5f0e9327ac1ee156837c Mon Sep 17 00:00:00 2001 From 9dd828c0ae7071fcab9994e1c2e8c35c2b46b132 Mon Sep 17 00:00:00 2001
From: stonar96 <minecraft.stonar96@gmail.com> From: stonar96 <minecraft.stonar96@gmail.com>
Date: Mon, 20 Aug 2018 03:03:58 +0200 Date: Mon, 20 Aug 2018 03:03:58 +0200
Subject: [PATCH] Anti-Xray Subject: [PATCH] Anti-Xray
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 55b78f54c..cfc4156bc 100644 index f5ed0a698..363676348 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -1,7 +1,11 @@ @@ -1,7 +1,11 @@
@ -1181,7 +1181,7 @@ index 000000000..37093419c
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 2003522d9..d604f96c1 100644 index 14ec31f0a..863a2222f 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -315,7 +315,7 @@ public class Chunk implements IChunkAccess { @@ -315,7 +315,7 @@ public class Chunk implements IChunkAccess {
@ -1194,10 +1194,10 @@ index 2003522d9..d604f96c1 100644
} }
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 73f93e494..a02807411 100644 index 6371f2f5b..17cacafe7 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -74,7 +74,7 @@ public class ChunkRegionLoader { @@ -57,7 +57,7 @@ public class ChunkRegionLoader {
byte b0 = nbttagcompound2.getByte("Y"); byte b0 = nbttagcompound2.getByte("Y");
if (nbttagcompound2.hasKeyOfType("Palette", 9) && nbttagcompound2.hasKeyOfType("BlockStates", 12)) { if (nbttagcompound2.hasKeyOfType("Palette", 9) && nbttagcompound2.hasKeyOfType("BlockStates", 12)) {
@ -1206,17 +1206,17 @@ index 73f93e494..a02807411 100644
chunksection.getBlocks().a(nbttagcompound2.getList("Palette", 10), nbttagcompound2.getLongArray("BlockStates")); chunksection.getBlocks().a(nbttagcompound2.getList("Palette", 10), nbttagcompound2.getLongArray("BlockStates"));
chunksection.recalcBlockCounts(); chunksection.recalcBlockCounts();
@@ -132,7 +132,7 @@ public class ChunkRegionLoader { @@ -115,7 +115,7 @@ public class ChunkRegionLoader {
loadEntities(nbttagcompound1, chunk); loadEntities(nbttagcompound1, chunk);
}); });
} else { } else {
- ProtoChunk protochunk = new ProtoChunk(chunkcoordintpair, chunkconverter, achunksection, protochunkticklist, protochunkticklist1); - ProtoChunk protochunk = new ProtoChunk(chunkcoordintpair, chunkconverter, achunksection, protochunkticklist, protochunkticklist1);
+ ProtoChunk protochunk = new ProtoChunk(chunkcoordintpair, chunkconverter, achunksection, protochunkticklist, protochunkticklist1, worldserver); // Paper - Anti-Xray + ProtoChunk protochunk = new ProtoChunk(chunkcoordintpair, chunkconverter, achunksection, protochunkticklist, protochunkticklist1, worldserver); // Paper - Anti-Xray
protochunk.a(biomestorage);
object = protochunk; object = protochunk;
protochunk.a(abiomebase);
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
index ca2bf8b77..584b3e639 100644 index 0d5deee36..4526527ac 100644
--- a/src/main/java/net/minecraft/server/ChunkSection.java --- a/src/main/java/net/minecraft/server/ChunkSection.java
+++ b/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java
@@ -6,21 +6,31 @@ public class ChunkSection { @@ -6,21 +6,31 @@ public class ChunkSection {
@ -1227,7 +1227,7 @@ index ca2bf8b77..584b3e639 100644
+ short nonEmptyBlockCount; // Paper - private -> package-private + short nonEmptyBlockCount; // Paper - private -> package-private
private short tickingBlockCount; private short tickingBlockCount;
private short e; private short e;
final DataPaletteBlock<IBlockData> blockIds; // Paper - package final DataPaletteBlock<IBlockData> blockIds;
public ChunkSection(int i) { public ChunkSection(int i) {
- this(i, (short) 0, (short) 0, (short) 0); - this(i, (short) 0, (short) 0, (short) 0);
@ -1255,7 +1255,7 @@ index ca2bf8b77..584b3e639 100644
public IBlockData getType(int i, int j, int k) { public IBlockData getType(int i, int j, int k) {
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
index 1e2bca1e0..8fba1e2f3 100644 index 2c1d1b1a5..44aed6727 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -3,6 +3,7 @@ package net.minecraft.server; @@ -3,6 +3,7 @@ package net.minecraft.server;
@ -1440,7 +1440,7 @@ index e156804f7..96a785af2 100644
public void a() { public void a() {
this.o(); this.o();
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
index ef71a1feb..483317608 100644 index 47710067a..654474341 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
@ -1450,10 +1450,10 @@ index ef71a1feb..483317608 100644
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled; import io.netty.buffer.Unpooled;
@@ -17,8 +18,11 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> { @@ -20,8 +21,11 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
private byte[] e; private byte[] getData() { return this.e; } // Paper - OBFHELPER private byte[] f; private byte[] getData() { return this.f; } // Paper - OBFHELPER
private List<NBTTagCompound> f; private List<NBTTagCompound> g;
private boolean g; private boolean h;
+ private volatile boolean ready; // Paper - Async-Anti-Xray - Ready flag for the network manager + private volatile boolean ready; // Paper - Async-Anti-Xray - Ready flag for the network manager
- public PacketPlayOutMapChunk() {} - public PacketPlayOutMapChunk() {}
@ -1463,7 +1463,7 @@ index ef71a1feb..483317608 100644
// Paper start // Paper start
private final java.util.List<Packet> extraPackets = new java.util.ArrayList<>(); private final java.util.List<Packet> extraPackets = new java.util.ArrayList<>();
@@ -30,6 +34,12 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> { @@ -33,6 +37,12 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
} }
// Paper end // Paper end
public PacketPlayOutMapChunk(Chunk chunk, int i) { public PacketPlayOutMapChunk(Chunk chunk, int i) {
@ -1476,41 +1476,37 @@ index ef71a1feb..483317608 100644
ChunkCoordIntPair chunkcoordintpair = chunk.getPos(); ChunkCoordIntPair chunkcoordintpair = chunk.getPos();
this.a = chunkcoordintpair.x; this.a = chunkcoordintpair.x;
@@ -48,7 +58,12 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> { @@ -55,7 +65,12 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
} }
this.e = new byte[this.a(chunk, i)]; this.f = new byte[this.a(chunk, i)];
- this.c = this.a(new PacketDataSerializer(this.i()), chunk, i); - this.c = this.a(new PacketDataSerializer(this.j()), chunk, i);
+ // Paper start - Anti-Xray - Add chunk packet info + // Paper start - Anti-Xray - Add chunk packet info
+ if (chunkPacketInfo != null) { + if (chunkPacketInfo != null) {
+ chunkPacketInfo.setData(this.getData()); + chunkPacketInfo.setData(this.getData());
+ } + }
+ // Paper end + // Paper end
+ this.c = this.writeChunk(new PacketDataSerializer(this.i()), chunk, i, chunkPacketInfo); // Paper - Anti-Xray - Add chunk packet info + this.c = this.writeChunk(new PacketDataSerializer(this.j()), chunk, i, chunkPacketInfo); // Paper - Anti-Xray - Add chunk packet info
this.f = Lists.newArrayList(); this.g = Lists.newArrayList();
iterator = chunk.getTileEntities().entrySet().iterator(); iterator = chunk.getTileEntities().entrySet().iterator();
int totalSigns = 0; // Paper int totalSigns = 0; // Paper
@@ -74,9 +89,19 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> { @@ -82,7 +97,15 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
this.f.add(nbttagcompound);
} }
} }
+ chunk.world.chunkPacketBlockController.modifyBlocks(this, chunkPacketInfo, forceLoad, null); // Paper - Anti-Xray - Modify blocks
+ }
+ // Paper start - Async-Anti-Xray - Getter and Setter for the ready flag + // Paper start - Async-Anti-Xray - Getter and Setter for the ready flag
+ public boolean isReady() { + public boolean isReady() {
+ return this.ready; + return this.ready;
} + }
+
+ public void setReady(boolean ready) { + public void setReady(boolean ready) {
+ this.ready = ready; + this.ready = ready;
+ } }
+ // Paper end + // Paper end
+
@Override @Override
public void a(PacketDataSerializer packetdataserializer) throws IOException { public void a(PacketDataSerializer packetdataserializer) throws IOException {
this.a = packetdataserializer.readInt(); @@ -150,6 +173,11 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
@@ -135,6 +160,11 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
public int writeChunk(PacketDataSerializer packetDataSerializer, Chunk chunk, int chunkSectionSelector) { return this.a(packetDataSerializer, chunk, chunkSectionSelector); } // Paper - OBFHELPER public int writeChunk(PacketDataSerializer packetDataSerializer, Chunk chunk, int chunkSectionSelector) { return this.a(packetDataSerializer, chunk, chunkSectionSelector); } // Paper - OBFHELPER
public int a(PacketDataSerializer packetdataserializer, Chunk chunk, int i) { public int a(PacketDataSerializer packetdataserializer, Chunk chunk, int i) {
@ -1522,7 +1518,7 @@ index ef71a1feb..483317608 100644
int j = 0; int j = 0;
ChunkSection[] achunksection = chunk.getSections(); ChunkSection[] achunksection = chunk.getSections();
int k = 0; int k = 0;
@@ -146,7 +176,8 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> { @@ -159,9 +187,12 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
if (chunksection != Chunk.a && (!this.f() || !chunksection.c()) && (i & 1 << k) != 0) { if (chunksection != Chunk.a && (!this.f() || !chunksection.c()) && (i & 1 << k) != 0) {
j |= 1 << k; j |= 1 << k;
@ -1531,12 +1527,16 @@ index ef71a1feb..483317608 100644
+ chunksection.getBlocks().writeDataPaletteBlock(packetdataserializer, chunkPacketInfo, k); // Paper - Anti-Xray - Add chunk packet info + chunksection.getBlocks().writeDataPaletteBlock(packetdataserializer, chunkPacketInfo, k); // Paper - Anti-Xray - Add chunk packet info
} }
} }
+ chunk.world.chunkPacketBlockController.modifyBlocks(this, chunkPacketInfo, forceLoad, null); // Paper - Anti-Xray - Modify blocks
+ }
return j;
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index 98590e233..af934ef8b 100644 index 43d9a5634..615d27863 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java --- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -176,6 +176,11 @@ public class PlayerChunk { @@ -163,6 +163,11 @@ public class PlayerChunk {
World world = chunk.getWorld(); World world = chunk.getWorld();
if (this.dirtyCount == 64) { if (this.dirtyCount == 64) {
@ -1548,7 +1548,7 @@ index 98590e233..af934ef8b 100644
this.s = -1; this.s = -1;
} }
@@ -208,7 +213,7 @@ public class PlayerChunk { @@ -195,7 +200,7 @@ public class PlayerChunk {
this.a(world, blockposition); this.a(world, blockposition);
} }
} else if (this.dirtyCount == 64) { } else if (this.dirtyCount == 64) {
@ -1558,10 +1558,10 @@ index 98590e233..af934ef8b 100644
this.a(new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, chunk), false); this.a(new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, chunk), false);
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index b04657356..a5df9fee6 100644 index 93729eea2..fc6436c4f 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -539,7 +539,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -540,7 +540,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
PlayerChunkMap.LOGGER.error("Couldn't load chunk {}", chunkcoordintpair, exception); PlayerChunkMap.LOGGER.error("Couldn't load chunk {}", chunkcoordintpair, exception);
} }
@ -1570,7 +1570,7 @@ index b04657356..a5df9fee6 100644
}, this.executor); }, this.executor);
} }
@@ -1247,7 +1247,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -1201,7 +1201,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
private void a(EntityPlayer entityplayer, Packet<?>[] apacket, Chunk chunk) { private void a(EntityPlayer entityplayer, Packet<?>[] apacket, Chunk chunk) {
if (apacket[0] == null) { if (apacket[0] == null) {
@ -1580,10 +1580,10 @@ index b04657356..a5df9fee6 100644
} }
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index a36aba015..f04fc366f 100644 index 18ff6dd68..8720dd120 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -253,6 +253,8 @@ public class PlayerInteractManager { @@ -264,6 +264,8 @@ public class PlayerInteractManager {
} }
} }
@ -1591,12 +1591,12 @@ index a36aba015..f04fc366f 100644
+ this.world.chunkPacketBlockController.onPlayerLeftClickBlock(this, blockposition, enumdirection); // Paper - Anti-Xray + this.world.chunkPacketBlockController.onPlayerLeftClickBlock(this, blockposition, enumdirection); // Paper - Anti-Xray
} }
public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype) { public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype, String s) {
diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java
index 6bdd7dda0..7bad12eb0 100644 index 39339fa27..f376e2106 100644
--- a/src/main/java/net/minecraft/server/ProtoChunk.java --- a/src/main/java/net/minecraft/server/ProtoChunk.java
+++ b/src/main/java/net/minecraft/server/ProtoChunk.java +++ b/src/main/java/net/minecraft/server/ProtoChunk.java
@@ -44,16 +44,28 @@ public class ProtoChunk implements IChunkAccess { @@ -45,16 +45,28 @@ public class ProtoChunk implements IChunkAccess {
private long s; private long s;
private final Map<WorldGenStage.Features, BitSet> t; private final Map<WorldGenStage.Features, BitSet> t;
private volatile boolean u; private volatile boolean u;
@ -1626,7 +1626,7 @@ index 6bdd7dda0..7bad12eb0 100644
this.f = Maps.newEnumMap(HeightMap.Type.class); this.f = Maps.newEnumMap(HeightMap.Type.class);
this.g = ChunkStatus.EMPTY; this.g = ChunkStatus.EMPTY;
this.h = Maps.newHashMap(); this.h = Maps.newHashMap();
@@ -206,7 +218,7 @@ public class ProtoChunk implements IChunkAccess { @@ -207,7 +219,7 @@ public class ProtoChunk implements IChunkAccess {
public ChunkSection a(int i) { public ChunkSection a(int i) {
if (this.j[i] == Chunk.a) { if (this.j[i] == Chunk.a) {
@ -1636,7 +1636,7 @@ index 6bdd7dda0..7bad12eb0 100644
return this.j[i]; return this.j[i];
diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java
index 157ca6a7e..9c114d2d3 100644 index a905a29e7..335b64435 100644
--- a/src/main/java/net/minecraft/server/TicketType.java --- a/src/main/java/net/minecraft/server/TicketType.java
+++ b/src/main/java/net/minecraft/server/TicketType.java +++ b/src/main/java/net/minecraft/server/TicketType.java
@@ -21,6 +21,7 @@ public class TicketType<T> { @@ -21,6 +21,7 @@ public class TicketType<T> {
@ -1648,7 +1648,7 @@ index 157ca6a7e..9c114d2d3 100644
public static <T> TicketType<T> a(String s, Comparator<T> comparator) { public static <T> TicketType<T> a(String s, Comparator<T> comparator) {
return new TicketType<>(s, comparator, 0L); return new TicketType<>(s, comparator, 0L);
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 3f71ca9e4..e31ffdb0d 100644 index 9ad76ab32..39725335d 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
@@ -2,6 +2,8 @@ package net.minecraft.server; @@ -2,6 +2,8 @@ package net.minecraft.server;
@ -1660,7 +1660,7 @@ index 3f71ca9e4..e31ffdb0d 100644
import com.destroystokyo.paper.event.server.ServerExceptionEvent; import com.destroystokyo.paper.event.server.ServerExceptionEvent;
import com.destroystokyo.paper.exception.ServerInternalException; import com.destroystokyo.paper.exception.ServerInternalException;
import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects;
@@ -93,6 +95,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -92,6 +94,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
@ -1668,7 +1668,7 @@ index 3f71ca9e4..e31ffdb0d 100644
public final co.aikar.timings.WorldTimingsHandler timings; // Paper public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPosition lastPhysicsProblem; // Spigot public static BlockPosition lastPhysicsProblem; // Spigot
@@ -134,6 +137,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -133,6 +136,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
protected World(WorldData worlddata, DimensionManager dimensionmanager, BiFunction<World, WorldProvider, IChunkProvider> bifunction, GameProfilerFiller gameprofilerfiller, boolean flag, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) { protected World(WorldData worlddata, DimensionManager dimensionmanager, BiFunction<World, WorldProvider, IChunkProvider> bifunction, GameProfilerFiller gameprofilerfiller, boolean flag, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(worlddata.getName(), this.spigotConfig); // Paper this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(worlddata.getName(), this.spigotConfig); // Paper
@ -1676,7 +1676,7 @@ index 3f71ca9e4..e31ffdb0d 100644
this.generator = gen; this.generator = gen;
this.world = new CraftWorld((WorldServer) this, gen, env); this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
@@ -414,6 +418,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -346,6 +350,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
// CraftBukkit end // CraftBukkit end
IBlockData iblockdata1 = chunk.setType(blockposition, iblockdata, (i & 64) != 0, (i & 1024) == 0); // CraftBukkit custom NO_PLACE flag IBlockData iblockdata1 = chunk.setType(blockposition, iblockdata, (i & 64) != 0, (i & 1024) == 0); // CraftBukkit custom NO_PLACE flag
@ -1710,5 +1710,5 @@ index 7772d5900..4570ed999 100644
return section; return section;
} }
-- --
2.24.0 2.24.1

View file

@ -1,4 +1,4 @@
From 7dff966d78ac7e89c7b4ecfe65bdfc6fca5e4584 Mon Sep 17 00:00:00 2001 From 960288ec426082f000ad1defb38518f42a70a6a0 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 24 Mar 2019 01:01:32 -0400 Date: Sun, 24 Mar 2019 01:01:32 -0400
Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob
@ -17,7 +17,7 @@ This should fully solve all of the issues around it so that only natural
influences natural spawns. influences natural spawns.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index e9d1b47ad..59671c5c3 100644 index 363676348..0a7e6fff1 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -514,6 +514,16 @@ public class PaperWorldConfig { @@ -514,6 +514,16 @@ public class PaperWorldConfig {
@ -38,10 +38,10 @@ index e9d1b47ad..59671c5c3 100644
public boolean asynchronous; public boolean asynchronous;
public EngineMode engineMode; public EngineMode engineMode;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 7c5349b17..0761f705b 100644 index 0fd3cb54b..a5cce8f4e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -934,6 +934,13 @@ public class WorldServer extends World { @@ -933,6 +933,13 @@ public class WorldServer extends World {
EnumCreatureType enumcreaturetype = entity.getEntityType().e(); EnumCreatureType enumcreaturetype = entity.getEntityType().e();
if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) { if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) {
@ -56,5 +56,5 @@ index 7c5349b17..0761f705b 100644
} }
} }
-- --
2.23.0 2.24.1

View file

@ -1,4 +1,4 @@
From 6343919aa4c2103ca7f080a2c485ad1fcb300119 Mon Sep 17 00:00:00 2001 From 291a6e7746ad8a74727c820e144e634197bcd63d Mon Sep 17 00:00:00 2001
From: Lucavon <lucavonlp@gmail.com> From: Lucavon <lucavonlp@gmail.com>
Date: Tue, 23 Jul 2019 20:29:20 -0500 Date: Tue, 23 Jul 2019 20:29:20 -0500
Subject: [PATCH] Configurable projectile relative velocity Subject: [PATCH] Configurable projectile relative velocity
@ -25,7 +25,7 @@ P3) Solutions for 1) and especially 2) might not be future-proof, while this
server-internal fix makes this change future-proof. server-internal fix makes this change future-proof.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 59671c5c3..56ca65819 100644 index 0a7e6fff1..097b623fd 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -562,4 +562,9 @@ public class PaperWorldConfig { @@ -562,4 +562,9 @@ public class PaperWorldConfig {
@ -39,7 +39,7 @@ index 59671c5c3..56ca65819 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index a9575d310..5f3e1ccb4 100644 index 0c3664758..288259e49 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java --- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -85,7 +85,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { @@ -85,7 +85,7 @@ public abstract class EntityArrow extends Entity implements IProjectile {
@ -52,7 +52,7 @@ index a9575d310..5f3e1ccb4 100644
@Override @Override
diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java
index 18d28a151..bd4ca73f6 100644 index 6c091b680..f5c8074dc 100644
--- a/src/main/java/net/minecraft/server/EntityProjectile.java --- a/src/main/java/net/minecraft/server/EntityProjectile.java
+++ b/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java
@@ -43,7 +43,7 @@ public abstract class EntityProjectile extends Entity implements IProjectile { @@ -43,7 +43,7 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
@ -65,5 +65,5 @@ index 18d28a151..bd4ca73f6 100644
@Override @Override
-- --
2.23.0 2.24.1

View file

@ -1,22 +1,22 @@
From b117edd7ceca8c12db41bab25d92b3f5ad64d3ec Mon Sep 17 00:00:00 2001 From e645f66b705efad107d9836e81944d476077750b Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 28 Jul 2019 00:51:11 +0100 Date: Sun, 28 Jul 2019 00:51:11 +0100
Subject: [PATCH] Mark entities as being ticked when notifying navigation Subject: [PATCH] Mark entities as being ticked when notifying navigation
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 0761f705be..5df9b0ffda 100644 index a5cce8f4e..8ea9b34a1 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1371,6 +1371,7 @@ public class WorldServer extends World { @@ -1370,6 +1370,7 @@ public class WorldServer extends World {
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition); VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) { if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) {
+ boolean wasTicking = this.tickingEntities; this.tickingEntities = true; // Paper + boolean wasTicking = this.tickingEntities; this.tickingEntities = true; // Paper
Iterator iterator = this.H.iterator(); Iterator iterator = this.navigators.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1381,6 +1382,7 @@ public class WorldServer extends World { @@ -1380,6 +1381,7 @@ public class WorldServer extends World {
} }
} }
@ -25,5 +25,5 @@ index 0761f705be..5df9b0ffda 100644
} }
-- --
2.22.1 2.24.1

View file

@ -1,11 +1,11 @@
From 5523a5eb1fe8396a208694a2650d268ec0a8e999 Mon Sep 17 00:00:00 2001 From a4df21cb5dc107cff27108049b3a49e2af89bc65 Mon Sep 17 00:00:00 2001
From: kickash32 <kickash32@gmail.com> From: kickash32 <kickash32@gmail.com>
Date: Tue, 30 Jul 2019 03:17:16 +0500 Date: Tue, 30 Jul 2019 03:17:16 +0500
Subject: [PATCH] offset item frame ticking Subject: [PATCH] offset item frame ticking
diff --git a/src/main/java/net/minecraft/server/EntityHanging.java b/src/main/java/net/minecraft/server/EntityHanging.java diff --git a/src/main/java/net/minecraft/server/EntityHanging.java b/src/main/java/net/minecraft/server/EntityHanging.java
index 3b282a18a..2b4a849f4 100644 index e9cde9c6e..04864a36e 100644
--- a/src/main/java/net/minecraft/server/EntityHanging.java --- a/src/main/java/net/minecraft/server/EntityHanging.java
+++ b/src/main/java/net/minecraft/server/EntityHanging.java +++ b/src/main/java/net/minecraft/server/EntityHanging.java
@@ -15,7 +15,7 @@ public abstract class EntityHanging extends Entity { @@ -15,7 +15,7 @@ public abstract class EntityHanging extends Entity {
@ -18,5 +18,5 @@ index 3b282a18a..2b4a849f4 100644
protected EnumDirection direction; protected EnumDirection direction;
-- --
2.23.0 2.24.1

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