mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-29 11:42:55 +01:00
74f507f4e3
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: e461dcfe #555: Item - add getters/setters for owner/thrower CraftBukkit Changes: 055870c4 #758: Item - add getters/setters for owner/thrower
101 lines
3.6 KiB
Diff
101 lines
3.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Spottedleaf <spottedleaf@spottedleaf.dev>
|
|
Date: Mon, 6 Jul 2020 20:46:50 -0700
|
|
Subject: [PATCH] Improve inlinig for some hot IBlockData methods
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java
|
|
index 505d40278d4472e0015a53af8e93bd81e5f09ac3..5131d2172d3cbd8a7254a6dd52e061888a17fb38 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockBase.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockBase.java
|
|
@@ -338,7 +338,14 @@ public abstract class BlockBase {
|
|
}
|
|
// Paper end
|
|
|
|
+ // Paper start
|
|
+ protected boolean isTicking;
|
|
+ protected Fluid fluid;
|
|
+ // Paper end
|
|
+
|
|
public void a() {
|
|
+ this.fluid = this.getBlock().d(this.p()); // Paper - moved from getFluid()
|
|
+ this.isTicking = this.getBlock().isTicking(this.p()); // Paper - moved from isTicking()
|
|
if (!this.getBlock().o()) {
|
|
this.a = new BlockBase.BlockData.Cache(this.p());
|
|
}
|
|
@@ -377,19 +384,19 @@ public abstract class BlockBase {
|
|
return this.getBlock().d(this.p(), iblockaccess, blockposition);
|
|
}
|
|
|
|
- public boolean d() {
|
|
+ public final boolean d() { // Paper
|
|
return this.a == null || this.a.c;
|
|
}
|
|
|
|
- public boolean e() {
|
|
+ public final boolean e() { // Paper
|
|
return this.e;
|
|
}
|
|
|
|
- public int f() {
|
|
+ public final int f() { // Paper
|
|
return this.b;
|
|
}
|
|
|
|
- public boolean isAir() {
|
|
+ public final boolean isAir() { // Paper
|
|
return this.f;
|
|
}
|
|
|
|
@@ -455,7 +462,7 @@ public abstract class BlockBase {
|
|
}
|
|
}
|
|
|
|
- public boolean l() {
|
|
+ public final boolean l() { // Paper
|
|
return this.k;
|
|
}
|
|
|
|
@@ -627,12 +634,12 @@ public abstract class BlockBase {
|
|
return this.getBlock().a(block);
|
|
}
|
|
|
|
- public Fluid getFluid() {
|
|
- return this.getBlock().d(this.p());
|
|
+ public final Fluid getFluid() { // Paper
|
|
+ return this.fluid; // Paper - moved into init
|
|
}
|
|
|
|
- public boolean isTicking() {
|
|
- return this.getBlock().isTicking(this.p());
|
|
+ public final boolean isTicking() { // Paper
|
|
+ return this.isTicking; // Paper - moved into init
|
|
}
|
|
|
|
public SoundEffectType getStepSound() {
|
|
diff --git a/src/main/java/net/minecraft/server/Fluid.java b/src/main/java/net/minecraft/server/Fluid.java
|
|
index 05fa52c0b12f159788ec3f2b769753b6bd29578c..ff2fb72f710dd5aa5126b1550c5ff11087d7e63e 100644
|
|
--- a/src/main/java/net/minecraft/server/Fluid.java
|
|
+++ b/src/main/java/net/minecraft/server/Fluid.java
|
|
@@ -9,8 +9,12 @@ public final class Fluid extends IBlockDataHolder<FluidType, Fluid> {
|
|
|
|
public static final Codec<Fluid> a = a((Codec) IRegistry.FLUID, FluidType::h).stable();
|
|
|
|
+ // Paper start
|
|
+ protected final boolean isEmpty;
|
|
+ // Paper end
|
|
public Fluid(FluidType fluidtype, ImmutableMap<IBlockState<?>, Comparable<?>> immutablemap, MapCodec<Fluid> mapcodec) {
|
|
super(fluidtype, immutablemap, mapcodec);
|
|
+ this.isEmpty = fluidtype.b(); // Paper - moved from isEmpty()
|
|
}
|
|
|
|
public FluidType getType() {
|
|
@@ -22,7 +26,7 @@ public final class Fluid extends IBlockDataHolder<FluidType, Fluid> {
|
|
}
|
|
|
|
public boolean isEmpty() {
|
|
- return this.getType().b();
|
|
+ return this.isEmpty; // Paper - moved into constructor
|
|
}
|
|
|
|
public float getHeight(IBlockAccess iblockaccess, BlockPosition blockposition) {
|