mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-12-01 15:13:24 +01:00
2a75e955a3
Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: c64958508 fix: wrong return in javadocs for bookmeta (#5579) 3dbb8926e Fix PotionSplashEvent for water splash potions (#5697) b759d006e Adds per-world spawn limits (#4837) 81de619d3 Updated Upstream (CraftBukkit) (#5786) 5e3604f1b Better fix for invulnerable crystals and improve Origin API (#5761) d5fe9c817 Updated Upstream (CraftBukkit) (#5784) d20e5b195 Fix timings sometimes incorrectly marking commands (#5783) Tuinity Changes: df76b3c Updated Upstream (Paper) Airplane Changes: a13c511 Simple item block collision toggle 3cd9d1c Updated Upstream (Tuinity) Empirecraft Changes: c7ef1a7a Updated Paper
59 lines
2.2 KiB
Diff
59 lines
2.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: JellySquid <jellysquid+atwork@protonmail.com>
|
|
Date: Sun, 24 Jan 2021 22:55:55 +0100
|
|
Subject: [PATCH] lithium entity
|
|
|
|
Co-authored-by: Hugo Planque <hookwood01@gmail.com>
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
|
index 02f7a588f883c0ed8b5daef6839e385b4ce1334b..81ad2ad6494f4808c4d240342a5d1d2971fa52ca 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
|
@@ -276,6 +276,9 @@ public abstract class EntityLiving extends Entity {
|
|
this.bg = this.a(new Dynamic(dynamicopsnbt, dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), dynamicopsnbt.emptyMap()))));
|
|
}
|
|
|
|
+ private IBlockData lastStateAtFeet = null;
|
|
+
|
|
+ private long lastPos = Long.MIN_VALUE;
|
|
public BehaviorController<?> getBehaviorController() {
|
|
return this.bg;
|
|
}
|
|
@@ -350,6 +353,10 @@ public abstract class EntityLiving extends Entity {
|
|
|
|
@Override
|
|
public void entityBaseTick() {
|
|
+ // Yatopia start - port lithium
|
|
+ this.lastStateAtFeet = null;
|
|
+ this.lastPos = Long.MIN_VALUE;
|
|
+ // Yatopia end
|
|
this.ar = this.as;
|
|
if (this.justCreated) {
|
|
this.getBedPosition().ifPresent(this::a);
|
|
@@ -1767,7 +1774,24 @@ public abstract class EntityLiving extends Entity {
|
|
// Airplane end
|
|
|
|
public IBlockData ds() {
|
|
- return this.world.getBlockStateIfLoaded(this.getChunkCoordinates()); // Yatopia
|
|
+ // Yatopia start - port lithium
|
|
+ int x = MathHelper.floor(this.locX());
|
|
+ int y = MathHelper.floor(this.locY());
|
|
+ int z = MathHelper.floor(this.locZ());
|
|
+
|
|
+ long pos = getChunkCoordinates().asLong();
|
|
+
|
|
+ if (this.lastPos == pos) {
|
|
+ return this.lastStateAtFeet;
|
|
+ }
|
|
+
|
|
+ IBlockData state = this.world.getBlockStateIfLoaded(this.getChunkCoordinates());
|
|
+
|
|
+ this.lastPos = pos;
|
|
+ this.lastStateAtFeet = state;
|
|
+
|
|
+ return state;
|
|
+ // Yatopia end
|
|
}
|
|
|
|
private boolean c(BlockPosition blockposition, IBlockData iblockdata) {
|