Updated the Demon Aura hud by allowing it to actually see the Aura in the chunk - refresh rate is 50 ticks.

This commit is contained in:
WayofTime 2016-07-10 15:27:26 -04:00
parent 0ac2b78803
commit 98ed17fe21
9 changed files with 144 additions and 8 deletions

View file

@ -1,13 +1,13 @@
package WayofTime.bloodmagic.network;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.util.ChatUtil;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.relauncher.Side;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.util.ChatUtil;
public class BloodMagicPacketHandler
{
@ -21,6 +21,7 @@ public class BloodMagicPacketHandler
INSTANCE.registerMessage(PlayerFallDistancePacketProcessor.class, PlayerFallDistancePacketProcessor.class, 3, Side.SERVER);
INSTANCE.registerMessage(SigilHoldingPacketProcessor.class, SigilHoldingPacketProcessor.class, 4, Side.SERVER);
INSTANCE.registerMessage(KeyProcessor.class, KeyProcessor.class, 5, Side.SERVER);
INSTANCE.registerMessage(DemonAuraPacketProcessor.class, DemonAuraPacketProcessor.class, 6, Side.CLIENT);
}
public static void sendToAllAround(IMessage message, TileEntity te, int range)

View file

@ -0,0 +1,70 @@
package WayofTime.bloodmagic.network;
import io.netty.buffer.ByteBuf;
import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.PacketBuffer;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.api.soul.DemonWillHolder;
import WayofTime.bloodmagic.proxy.ClientProxy;
public class DemonAuraPacketProcessor implements IMessage, IMessageHandler<DemonAuraPacketProcessor, IMessage>
{
public DemonWillHolder currentWill = new DemonWillHolder();
public DemonAuraPacketProcessor()
{
}
public DemonAuraPacketProcessor(DemonWillHolder holder)
{
this.currentWill = holder;
}
@Override
public void fromBytes(ByteBuf buffer)
{
PacketBuffer buff = new PacketBuffer(buffer);
try
{
NBTTagCompound tag = buff.readNBTTagCompoundFromBuffer();
currentWill.readFromNBT(tag, "Aura");
} catch (IOException e)
{
e.printStackTrace();
}
}
@Override
public void toBytes(ByteBuf buffer)
{
PacketBuffer buff = new PacketBuffer(buffer);
NBTTagCompound tag = new NBTTagCompound();
currentWill.writeToNBT(tag, "Aura");
buff.writeNBTTagCompoundToBuffer(tag);
}
@Override
public IMessage onMessage(DemonAuraPacketProcessor message, MessageContext ctx)
{
if (ctx.side == Side.CLIENT)
{
message.onMessageFromServer();
}
return null;
}
@SideOnly(Side.CLIENT)
public void onMessageFromServer()
{
ClientProxy.currentAura = currentWill;
}
}