So, I'm not getting an error anymore, but I still can't get it to work.
This is my player respawn event
@SubscribeEvent
public void onPlayerRespawn(PlayerRespawnEvent event)
{
if(event.player.dimension==0)
{
event.player.travelToDimension(;
}
}
and this is how im creating the handler
MinecraftForge.EVENT_BUS.register(new MyEventHandler());
and yet I still can't get the onPlayerRespawn event to actually run.
This is my entity constructing class
@SubscribeEvent
public void onEntityConstructing(EntityConstructing event)
{
if(event.entity instanceof EntityPlayer && ExtendedPlayer.get((EntityPlayer) event.entity)==null)
{
ExtendedPlayer.register((EntityPlayer) event.entity);
}
if(event.entity instanceof EntityPlayer && event.entity.getExtendedProperties(ExtendedPlayer.DIM)==null)
{
event.entity.registerExtendedProperties(ExtendedPlayer.DIM, new ExtendedPlayer((EntityPlayer) event.entity));
}
}
and this is my IEEP class
public class ExtendedPlayer implements IExtendedEntityProperties{
public final static String DIM = "dimension";
private final EntityPlayer player;
private int currDim;
public ExtendedPlayer(EntityPlayer player)
{
this.player=player;
currDim = player.dimension;
}
public static final void register(EntityPlayer player)
{
player.registerExtendedProperties(ExtendedPlayer.DIM, new ExtendedPlayer(player));
}
public static final ExtendedPlayer get(EntityPlayer player)
{
return (ExtendedPlayer) player.getExtendedProperties(DIM);
}
@Override
public void saveNBTData(NBTTagCompound compound) {
NBTTagCompound properties = new NBTTagCompound();
properties.setInteger("Current Dimension", currDim);
compound.setTag(DIM, properties);
}
@Override
public void loadNBTData(NBTTagCompound compound) {
NBTTagCompound properties = (NBTTagCompound) compound.getTag(DIM);
this.currDim = properties.getInteger("Current Dimension");
}
@Override
public void init(Entity entity, World world) {
}
}