@Subscribe public void modConstruction(FMLConstructionEvent evt) { FMLLog.info("Registering Forge Packet Handler"); try { FMLNetworkHandler.instance().registerNetworkMod(new ForgeNetworkHandler(this)); FMLLog.info("Succeeded registering Forge Packet Handler"); } catch (Exception e) { FMLLog.log(Level.SEVERE, e, "Failed to register packet handler for Forge"); } }
@Subscribe public void modConstruction(FMLConstructionEvent evt) { NetworkRegistry.INSTANCE.register(this, this.getClass(), "*", evt.getASMHarvestedData()); ForgeNetworkHandler.registerChannel(this, evt.getSide()); }
public static void transferPlayerToDimension(EntityPlayerMP player, int dim, ServerConfigurationManager manager, Environment environ) { int oldDim = player.dimension; WorldServer worldserver = manager.getServerInstance().worldServerForDimension(player.dimension); player.dimension = dim; WorldServer worldserver1 = manager.getServerInstance().worldServerForDimension(player.dimension); // Cauldron dont crash the client, let 'em know there's a new dimension in town if (DimensionManager.isBukkitDimension(dim)) { FMLEmbeddedChannel serverChannel = ForgeNetworkHandler.getServerChannel(); serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER); serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(player); serverChannel.writeOutbound(new ForgeMessage.DimensionRegisterMessage(dim, environ.getId())); } // Cauldron end player.playerNetServerHandler.sendPacket(new S07PacketRespawn(dim, worldserver1.difficultySetting, worldserver1.getWorldInfo() .getTerrainType(), player.theItemInWorldManager.getGameType())); player.playerNetServerHandler.sendPacket(new S1FPacketSetExperience(player.experience, player.experienceTotal, player.experienceLevel)); worldserver.removePlayerEntityDangerously(player); if (player.riddenByEntity != null) { player.riddenByEntity.mountEntity(null); } if (player.ridingEntity != null) { player.mountEntity(null); } player.isDead = false; transferEntityToWorld(player, worldserver, worldserver1); manager.func_72375_a(player, worldserver); player.playerNetServerHandler.setPlayerLocation(player.posX, player.posY, player.posZ, player.rotationYaw, player.rotationPitch); player.theItemInWorldManager.setWorld(worldserver1); manager.updateTimeAndWeatherForPlayer(player, worldserver1); manager.syncPlayerInventory(player); Iterator<PotionEffect> iterator = player.getActivePotionEffects().iterator(); while (iterator.hasNext()) { PotionEffect potioneffect = iterator.next(); player.playerNetServerHandler.sendPacket(new S1DPacketEntityEffect(player.getEntityId(), potioneffect)); } FMLCommonHandler.instance().firePlayerChangedDimensionEvent(player, oldDim, dim); }