import com.irtimaled.bbor.forge.messages.*;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.network.NetHandlerPlayServer;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.DimensionType;
import net.minecraftforge.event.world.ChunkEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.PlayerEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
+import net.minecraftforge.fml.common.network.FMLNetworkEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.relauncher.Side;
public Map<EntityPlayerMP, DimensionType> playerDimensions = new ConcurrentHashMap<EntityPlayerMP, DimensionType>();
private Map<EntityPlayerMP, Set<BoundingBox>> playerBoundingBoxesCache = new HashMap<EntityPlayerMP, Set<BoundingBox>>();
+ public HashSet<EntityPlayerMP> registeredPlayers = new HashSet<EntityPlayerMP>();
protected CommonProxy getProxy() {
if (commonProxy == null)
return commonProxy;
}
+ @SubscribeEvent
+ public void packetRegistrationEvent(FMLNetworkEvent.CustomPacketRegistrationEvent event) {
+ if (event.getOperation().equals("REGISTER") &&
+ event.getRegistrations().contains("bbor") &&
+ event.getHandler() instanceof NetHandlerPlayServer) {
+ registeredPlayers.add(((NetHandlerPlayServer) event.getHandler()).player);
+ }
+ }
+
protected SimpleNetworkWrapper network;
private CommonProxy commonProxy;
}
protected boolean isRemotePlayer(EntityPlayer player) {
- return true;
+ return registeredPlayers.contains(player);
}
@SubscribeEvent
if (playerDimensions.containsKey(evt.player)) {
playerDimensions.remove(evt.player);
playerBoundingBoxesCache.remove(evt.player);
+ registeredPlayers.remove(evt.player);
}
}