Defer loading of TileEntityImbuementAltar#lastUser until after the world is set
This commit is contained in:
@@ -30,6 +30,7 @@ import org.apache.commons.lang3.ArrayUtils;
|
|||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class TileEntityImbuementAltar extends TileEntity implements ITickable {
|
public class TileEntityImbuementAltar extends TileEntity implements ITickable {
|
||||||
|
|
||||||
@@ -39,6 +40,8 @@ public class TileEntityImbuementAltar extends TileEntity implements ITickable {
|
|||||||
private int imbuementTimer;
|
private int imbuementTimer;
|
||||||
private Element displayElement;
|
private Element displayElement;
|
||||||
private EntityPlayer lastUser;
|
private EntityPlayer lastUser;
|
||||||
|
/** For loading purposes only. This does not get updated once loaded! */
|
||||||
|
private UUID lastUserUUID;
|
||||||
|
|
||||||
public TileEntityImbuementAltar(){
|
public TileEntityImbuementAltar(){
|
||||||
stack = ItemStack.EMPTY;
|
stack = ItemStack.EMPTY;
|
||||||
@@ -73,6 +76,8 @@ public class TileEntityImbuementAltar extends TileEntity implements ITickable {
|
|||||||
@Override
|
@Override
|
||||||
public void update(){
|
public void update(){
|
||||||
|
|
||||||
|
if(lastUserUUID != null && lastUser == null) lastUser = world.getPlayerEntityByUUID(lastUserUUID);
|
||||||
|
|
||||||
if(imbuementTimer > 0){
|
if(imbuementTimer > 0){
|
||||||
|
|
||||||
if(imbuementTimer == 1){ // Has to be done here because of syncing
|
if(imbuementTimer == 1){ // Has to be done here because of syncing
|
||||||
@@ -229,7 +234,7 @@ public class TileEntityImbuementAltar extends TileEntity implements ITickable {
|
|||||||
NBTTagCompound itemTag = nbt.getCompoundTag("item");
|
NBTTagCompound itemTag = nbt.getCompoundTag("item");
|
||||||
this.stack = new ItemStack(itemTag);
|
this.stack = new ItemStack(itemTag);
|
||||||
this.imbuementTimer = nbt.getInteger("imbuementTimer");
|
this.imbuementTimer = nbt.getInteger("imbuementTimer");
|
||||||
this.lastUser = world.getPlayerEntityByUUID(nbt.getUniqueId("lastUser"));
|
this.lastUserUUID = nbt.getUniqueId("lastUser");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user