diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileBloodTank.java b/src/main/java/WayofTime/bloodmagic/tile/TileBloodTank.java index 94bf346d..7274ddc4 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileBloodTank.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileBloodTank.java @@ -6,6 +6,8 @@ import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraftforge.fluids.*; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class TileBloodTank extends TileEntity implements IFluidHandler { @@ -81,6 +83,7 @@ public class TileBloodTank extends TileEntity implements IFluidHandler } @Override + @SideOnly(Side.CLIENT) public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { super.onDataPacket(net, pkt); @@ -92,4 +95,10 @@ public class TileBloodTank extends TileEntity implements IFluidHandler { return writeToNBT(new NBTTagCompound()); } + + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } } diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrystal.java b/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrystal.java index ce7af24d..150b72d7 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrystal.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrystal.java @@ -19,6 +19,8 @@ import WayofTime.bloodmagic.api.soul.DemonWillHolder; import WayofTime.bloodmagic.api.soul.EnumDemonWillType; import WayofTime.bloodmagic.block.BlockDemonCrystal; import WayofTime.bloodmagic.demonAura.WorldDemonWillHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class TileDemonCrystal extends TileEntity implements ITickable { @@ -214,6 +216,7 @@ public class TileDemonCrystal extends TileEntity implements ITickable } @Override + @SideOnly(Side.CLIENT) public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { super.onDataPacket(net, pkt); @@ -226,4 +229,10 @@ public class TileDemonCrystal extends TileEntity implements ITickable { return writeToNBT(new NBTTagCompound()); } + + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } } \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrystallizer.java b/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrystallizer.java index 9b0a49df..448841ed 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrystallizer.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrystallizer.java @@ -5,11 +5,17 @@ import WayofTime.bloodmagic.api.soul.EnumDemonWillType; import WayofTime.bloodmagic.api.soul.IDemonWillConduit; import WayofTime.bloodmagic.demonAura.WorldDemonWillHandler; import WayofTime.bloodmagic.registry.ModBlocks; +import net.minecraft.block.state.IBlockState; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.ITickable; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class TileDemonCrystallizer extends TileEntity implements ITickable, IDemonWillConduit { @@ -169,4 +175,38 @@ public class TileDemonCrystallizer extends TileEntity implements ITickable, IDem { return holder.getWill(type); } + + @Override + public SPacketUpdateTileEntity getUpdatePacket() + { + NBTTagCompound nbt = new NBTTagCompound(); + writeToNBT(nbt); + return new SPacketUpdateTileEntity(getPos(), -999, nbt); + } + + @Override + @SideOnly(Side.CLIENT) + public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) + { + super.onDataPacket(net, pkt); + readFromNBT(pkt.getNbtCompound()); + } + + @Override + public NBTTagCompound getUpdateTag() + { + return writeToNBT(new NBTTagCompound()); + } + + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } + + @Override + public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newState) + { + return oldState.getBlock() != newState.getBlock(); + } } \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileDemonPylon.java b/src/main/java/WayofTime/bloodmagic/tile/TileDemonPylon.java index f6efdf86..6b0537ca 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileDemonPylon.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileDemonPylon.java @@ -4,11 +4,17 @@ import WayofTime.bloodmagic.api.soul.DemonWillHolder; import WayofTime.bloodmagic.api.soul.EnumDemonWillType; import WayofTime.bloodmagic.api.soul.IDemonWillConduit; import WayofTime.bloodmagic.demonAura.WorldDemonWillHandler; +import net.minecraft.block.state.IBlockState; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.ITickable; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class TileDemonPylon extends TileEntity implements ITickable, IDemonWillConduit { @@ -128,4 +134,38 @@ public class TileDemonPylon extends TileEntity implements ITickable, IDemonWillC { return holder.getWill(type); } + + @Override + public SPacketUpdateTileEntity getUpdatePacket() + { + NBTTagCompound nbt = new NBTTagCompound(); + writeToNBT(nbt); + return new SPacketUpdateTileEntity(getPos(), -999, nbt); + } + + @Override + @SideOnly(Side.CLIENT) + public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) + { + super.onDataPacket(net, pkt); + readFromNBT(pkt.getNbtCompound()); + } + + @Override + public NBTTagCompound getUpdateTag() + { + return writeToNBT(new NBTTagCompound()); + } + + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } + + @Override + public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newState) + { + return oldState.getBlock() != newState.getBlock(); + } } \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileDimensionalPortal.java b/src/main/java/WayofTime/bloodmagic/tile/TileDimensionalPortal.java index b86f68b7..d6c36a97 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileDimensionalPortal.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileDimensionalPortal.java @@ -2,9 +2,15 @@ package WayofTime.bloodmagic.tile; import WayofTime.bloodmagic.ritual.RitualPortal; import com.google.common.base.Strings; +import net.minecraft.block.state.IBlockState; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class TileDimensionalPortal extends TileEntity { @@ -52,4 +58,38 @@ public class TileDimensionalPortal extends TileEntity this.masterStoneY = blockPos.getY(); this.masterStoneZ = blockPos.getZ(); } + + @Override + public SPacketUpdateTileEntity getUpdatePacket() + { + NBTTagCompound nbt = new NBTTagCompound(); + writeToNBT(nbt); + return new SPacketUpdateTileEntity(getPos(), -999, nbt); + } + + @Override + @SideOnly(Side.CLIENT) + public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) + { + super.onDataPacket(net, pkt); + readFromNBT(pkt.getNbtCompound()); + } + + @Override + public NBTTagCompound getUpdateTag() + { + return writeToNBT(new NBTTagCompound()); + } + + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } + + @Override + public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newState) + { + return oldState.getBlock() != newState.getBlock(); + } } diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileImperfectRitualStone.java b/src/main/java/WayofTime/bloodmagic/tile/TileImperfectRitualStone.java index abe98a73..aa8b0f5f 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileImperfectRitualStone.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileImperfectRitualStone.java @@ -14,6 +14,8 @@ import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; @NoArgsConstructor public class TileImperfectRitualStone extends TileEntity implements IImperfectRitualStone @@ -27,6 +29,7 @@ public class TileImperfectRitualStone extends TileEntity implements IImperfectRi } @Override + @SideOnly(Side.CLIENT) public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) { super.onDataPacket(net, packet); @@ -39,6 +42,12 @@ public class TileImperfectRitualStone extends TileEntity implements IImperfectRi return writeToNBT(new NBTTagCompound()); } + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } + // IImperfectRitualStone @Override diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileInventory.java b/src/main/java/WayofTime/bloodmagic/tile/TileInventory.java index b2728397..55d7070c 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileInventory.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileInventory.java @@ -17,6 +17,8 @@ import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.wrapper.InvWrapper; @@ -102,6 +104,7 @@ public class TileInventory extends TileEntity implements IInventory } @Override + @SideOnly(Side.CLIENT) public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { super.onDataPacket(net, pkt); @@ -114,6 +117,12 @@ public class TileInventory extends TileEntity implements IInventory return writeToNBT(new NBTTagCompound()); } + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } + @Override public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newState) { diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileMasterRitualStone.java b/src/main/java/WayofTime/bloodmagic/tile/TileMasterRitualStone.java index f94e1e64..e562a9d7 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileMasterRitualStone.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileMasterRitualStone.java @@ -35,6 +35,8 @@ import WayofTime.bloodmagic.registry.ModItems; import WayofTime.bloodmagic.util.ChatUtil; import com.google.common.base.Strings; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; @Getter @NoArgsConstructor @@ -186,10 +188,12 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt this.owner = crystalOwner; this.currentRitual = ritual; + getWorld().notifyBlockUpdate(getPos(), getWorld().getBlockState(getPos()), getWorld().getBlockState(getPos()), 3); return true; } } + getWorld().notifyBlockUpdate(getPos(), getWorld().getBlockState(getPos()), getWorld().getBlockState(getPos()), 3); return true; } } @@ -238,6 +242,7 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt this.active = false; this.activeTime = 0; } + getWorld().notifyBlockUpdate(getPos(), getWorld().getBlockState(getPos()), getWorld().getBlockState(getPos()), 3); } } @@ -304,6 +309,7 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt } @Override + @SideOnly(Side.CLIENT) public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) { super.onDataPacket(net, packet); @@ -316,6 +322,12 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt return writeToNBT(new NBTTagCompound()); } + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } + @Override public World getWorldObj() { diff --git a/src/main/java/WayofTime/bloodmagic/tile/TilePhantomBlock.java b/src/main/java/WayofTime/bloodmagic/tile/TilePhantomBlock.java index ae1d2c18..424133c0 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TilePhantomBlock.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TilePhantomBlock.java @@ -11,6 +11,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ITickable; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; @NoArgsConstructor public class TilePhantomBlock extends TileEntity implements ITickable @@ -58,6 +60,7 @@ public class TilePhantomBlock extends TileEntity implements ITickable } @Override + @SideOnly(Side.CLIENT) public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { super.onDataPacket(net, pkt); @@ -70,6 +73,12 @@ public class TilePhantomBlock extends TileEntity implements ITickable return writeToNBT(new NBTTagCompound()); } + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } + @Override public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newState) { diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileSpectralBlock.java b/src/main/java/WayofTime/bloodmagic/tile/TileSpectralBlock.java index 06e6aef9..c3cedee6 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileSpectralBlock.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileSpectralBlock.java @@ -14,6 +14,8 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.ForgeRegistries; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class TileSpectralBlock extends TileEntity implements ITickable { @@ -53,6 +55,7 @@ public class TileSpectralBlock extends TileEntity implements ITickable } @Override + @SideOnly(Side.CLIENT) public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { super.onDataPacket(net, pkt); @@ -65,6 +68,12 @@ public class TileSpectralBlock extends TileEntity implements ITickable return writeToNBT(new NBTTagCompound()); } + @Override + public void handleUpdateTag(NBTTagCompound tag) + { + readFromNBT(tag); + } + @Override public void update() {