Java 类net.minecraftforge.fml.common.network.simpleimpl.IMessage 实例源码

项目:Never-Enough-Currency    文件:MessageSyncAdd.java   
@Override
public IMessage handleServerMessage(EntityPlayer player, MessageSyncAdd message, MessageContext ctx) {
    if ((player != null) && (message != null) && (ctx != null)) {
        EntityLivingBase en = (EntityLivingBase) player.getEntityWorld().getEntityByID(message.entityId);
        if (en != null) {
            if (player.getEntityId() == en.getEntityId() && en.getEntityWorld() != null && en.hasCapability(Currency.ACCOUNT_DATA, null)) {
                AccountCapability entityData = en.getCapability(Currency.ACCOUNT_DATA, null);
                for (ItemStack stack : CurrencyUtils.itemMoneyAmount(message.amount)) {
                    if (stack != null && stack != ItemStack.EMPTY && en instanceof EntityPlayer) {
                        EntityPlayer pl = (EntityPlayer) en;
                        pl.inventory.addItemStackToInventory(stack);
                    }
                }
            }
        }
    }
    return null;
}
项目:Loot-Slash-Conquer    文件:PacketClassGui.java   
@Override
public IMessage onMessage(final PacketClassGui message, final MessageContext ctx) 
{           
    IThreadListener mainThread = Minecraft.getMinecraft();
    mainThread.addScheduledTask(new Runnable()
    {
        @Override
        public void run() 
        {
            EntityPlayer player = Minecraft.getMinecraft().player;
            PlayerInformation playerInfo = (PlayerInformation) player.getCapability(CapabilityPlayerInformation.PLAYER_INFORMATION, null);

            if (playerInfo != null && playerInfo.getPlayerClass() == 0)
            {
                player.openGui(LootSlashConquer.instance, GuiHandler.CLASS_SELECTION, player.getEntityWorld(), player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ());
            }
        }
    });

    return null;
}
项目:Loot-Slash-Conquer    文件:PacketUpdateChunkLevel.java   
@Override
public IMessage onMessage(final PacketUpdateChunkLevel message, final MessageContext ctx) 
{           
    IThreadListener mainThread = Minecraft.getMinecraft();
    mainThread.addScheduledTask(new Runnable()
    {
        @Override
        public void run() 
        {
            World world = Minecraft.getMinecraft().world;
            ChunkPos chunkPos = new ChunkPos(message.chunkX, message.chunkZ);

            IChunkLevelHolder chunkLevelHolder = CapabilityChunkLevel.getChunkLevelHolder(world);

            if (chunkLevelHolder.getChunkLevel(chunkPos) != null) return;

            IChunkLevel chunkLevel = new ChunkLevel(world, chunkPos, message.level);
            chunkLevelHolder.setChunkLevel(chunkPos, chunkLevel);
        }
    });

    return null;
}
项目:CraftingParadiseMod    文件:HandlerWorldCraft.java   
@Override
public IMessage onMessage(final MessageWorldCraft message, final MessageContext ctx)
{
    if(ctx.side != Side.SERVER)
    {
        System.err.println("MessageWorldCraft received on wrong side:" + ctx.side);
        return null;
    }

    final EntityPlayerMP sendingPlayer = ctx.getServerHandler().player;
    if(sendingPlayer == null)
    {
        System.err.println("MessageWorldCraft received with null player.");
        return null;
    }

    final WorldServer playerWorldServer = sendingPlayer.getServerWorld();
    playerWorldServer.addScheduledTask(() -> processMessage(message, ctx, playerWorldServer));
    return null;
}
项目:LagGoggles    文件:TeleportRequestHandler.java   
@Override
public IMessage onMessage(TeleportRequest message, MessageContext ctx) {
    EntityPlayerMP player = ctx.getServerHandler().player;
    if(Perms.isOP(player) == false){
        Main.LOGGER.info(player.getName() + " tried to teleport, but was denied to do so!");
        return null;
    }
    new RunInServerThread(new Runnable() {
        @Override
        public void run() {
            Entity e = FMLCommonHandler.instance().getMinecraftServerInstance().getEntityFromUuid(message.uuid);
            if(e == null){
                player.sendMessage(new TextComponentString(TextFormatting.RED + "Woops! This tile entity no longer exists!"));
                return;
            }
            Teleport.teleportPlayer(player, e.dimension, e.posX, e.posY, e.posZ);
        }
    });
    return null;
}
项目:FirstAid    文件:MessageReceiveConfiguration.java   
@Override
@SideOnly(Side.CLIENT)
public IMessage onMessage(MessageReceiveConfiguration message, MessageContext ctx) {
    FirstAid.activeHealingConfig = message.healingCfg;
    FirstAid.activeDamageConfig = message.damageCfg;
    FirstAid.scaleMaxHealth = message.scaleMaxHealth;
    AbstractPlayerDamageModel damageModel = PlayerDamageModel.create();
    damageModel.deserializeNBT(message.playerDamageModel);
    Minecraft mc = Minecraft.getMinecraft();

    FirstAid.playerMaxHealth = FirstAid.activeDamageConfig.maxHealthHead + FirstAid.activeDamageConfig.maxHealthLeftArm
            + FirstAid.activeDamageConfig.maxHealthLeftLeg + FirstAid.activeDamageConfig.maxHealthLeftFoot
            + FirstAid.activeDamageConfig.maxHealthBody + FirstAid.activeDamageConfig.maxHealthRightArm
            + FirstAid.activeDamageConfig.maxHealthRightLeg + FirstAid.activeDamageConfig.maxHealthRightFoot;

    FirstAid.logger.info("Received configuration");
    mc.addScheduledTask(() -> {
        PlayerDataManager.capList.put(mc.player, damageModel);
        if (damageModel.hasTutorial)
            PlayerDataManager.tutorialDone.add(mc.player.getName());
        else
            mc.player.sendMessage(new TextComponentString("[First Aid] " + I18n.format("firstaid.tutorial.hint", ClientProxy.showWounds.getDisplayName())));
    });
    return null;
}
项目:Halloween    文件:JumpkinRotationMessage.java   
@Override
public IMessage onMessage(final JumpkinRotationMessage message, MessageContext ctx)
{
    Minecraft minecraft = Minecraft.getMinecraft();
    final WorldClient world = minecraft.world;

    minecraft.addScheduledTask(new Runnable()
    {
        @Override
        public void run()
        {
            EntityJumpkin entity = (EntityJumpkin)world.getEntityByID(message.entityId);
            entity.rotationYaw = message.rotationYaw;
            entity.rotationPitch = message.rotationPitch;
        }
    });
    return null;
}
项目:genera    文件:MessageGlassJarUpdateStats.java   
@Override
public IMessage onMessage(MessageGlassJarUpdateStats message, MessageContext ctx) {
    ItemStack stack = message.stack;
    BlockPos pos = message.pos;
    WorldClient world = Minecraft.getMinecraft().world;
    if (world.isBlockLoaded(pos) &&
            world.getBlockState(pos).getBlock().hasTileEntity(world.getBlockState(pos))) {
        TileEntity te = world.getTileEntity(pos);
        if (te instanceof TileFaerieHome) {
            IItemHandler handler = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null);
            if (handler != null) {
                handler.insertItem(0, stack, false);
            }
        }
    }
    return null;
}
项目:Bewitchment    文件:EnergyMessage.java   
@Override
public IMessage onMessage(EnergyMessage message, MessageContext ctx) {
    Minecraft.getMinecraft().addScheduledTask(() -> {
        final EntityPlayer entityTarget = Minecraft.getMinecraft().world.getPlayerEntityByUUID(message.target);

        if (entityTarget != null) {
            final Optional<IEnergy> optData = EnergyHandler.getEnergy(entityTarget);
            if (optData.isPresent()) {
                final IEnergy data = optData.get();
                data.set(message.energy.get());
                data.setMax(message.energy.getMax());
                data.setRegen(message.energy.getRegenTime(), message.energy.getRegenBurst());
                data.setUses(message.energy.getUses());
                data.setType(message.energy.getType());
            }
        }
    });
    return null;
}
项目:Proyecto-DASI    文件:ObservationFromServer.java   
/** IMPORTANT: Call this from the onMessage method in the subclass. */
public IMessage processMessage(final ObservationRequestMessage message, final MessageContext ctx)
{
    IThreadListener mainThread = (WorldServer)ctx.getServerHandler().playerEntity.worldObj;
    mainThread.addScheduledTask(new Runnable() {
        @Override
        public void run() {
            EntityPlayerMP player = ctx.getServerHandler().playerEntity;
            JsonObject json = new JsonObject();
            buildJson(json, player, message, ctx);
            // Send this message back again now we've filled in the json stats.
            Map<String, String> returnData = new HashMap<String, String>();
            returnData.put("json", json.toString());
            message.addReturnData(returnData);
            MalmoMod.network.sendTo(new MalmoMod.MalmoMessage(MalmoMessageType.SERVER_OBSERVATIONSREADY, message.id, returnData), player);
        }
    });
    return null; // no response in this case
}
项目:Infernum    文件:MessageSoulDrainFX.java   
@SideOnly(Side.CLIENT)
@Override
public IMessage onMessage(final MessageSoulDrainFX message, final MessageContext ctx) {
    World world = Minecraft.getMinecraft().world;
    if (world.isRemote) {
        for (double i = 0; i < 8; i++) {
            double xCoord = message.posX + (rand.nextDouble() - 0.5);
            double yCoord = message.posY + (rand.nextDouble() - 0.5);
            double zCoord = message.posZ + (rand.nextDouble() - 0.5);
            world.spawnParticle(EnumParticleTypes.CRIT, true, xCoord, yCoord, zCoord, (rand.nextDouble() - 0.5),
                    (rand.nextDouble() - 0.5), (rand.nextDouble() - 0.5));
        }
        ParticleUtils.spawnParticleBeam(world, EnumParticleTypes.CRIT, message.posX, message.posY, message.posZ,
                message.castX, message.castY, message.castZ, 0.2);
    }
    return null;
}
项目:PurificatiMagicae    文件:SPacketUnlock.java   
@Override
public IMessage onMessage(SPacketUnlock message, MessageContext ctx)
{
    ctx.getServerHandler().player.getServerWorld().addScheduledTask(() ->
    {
        boolean result = false;
        TileEntity te = ctx.getServerHandler().player.world.getTileEntity(message.pos);
        if(te != null && te instanceof TileCodeStorage)
        {
            TileCodeStorage storage = (TileCodeStorage) te;
            result = storage.tryUnlock(message.code);
        }
        NetworkManager.sendTo(new CPacketUnlockResponse(result), ctx.getServerHandler().player);
    });
    return null;
}
项目:Randores2    文件:RandoresDataNeededQueryHandler.java   
@Override
@SideOnly(Side.CLIENT)
public IMessage onMessage(RandoresDataNeededQuery message, MessageContext ctx) {
    Minecraft.getMinecraft().addScheduledTask(() -> {
        Randores.debug("Received data needed query from server: " + message.getId());
        World world = Minecraft.getMinecraft().world;
        RandoresWorldData data = RandoresWorldData.getSimply(world);
        if(!data.isLoaded() || !data.getId().equals(message.getId())) {
            RandoresNetworking.INSTANCE.sendToServer(new RandoresDataRequest().setId(message.getId()));
            Randores.debug("Sent request for data; an update is required");
        } else {
            Randores.debug("Update not required.");
        }
    });
    return null;
}
项目:Mods    文件:TF2NetworkWrapper.java   
public void sendTo(IMessage message, EntityPlayerMP player)
{
    if(useUdp && discriminators.containsKey(message.getClass())) {
        InetSocketAddress address=TF2weapons.udpServer.outboundTargets.get(player.getCapability(TF2weapons.PLAYER_CAP, null).udpServerId);
        if (address != null) {
        ByteBuf buffer = Unpooled.buffer();
        buffer.writeShort(0);
        buffer.writeByte(discriminators.get(message.getClass()));
        message.toBytes(buffer);
        DatagramPacket packet = new DatagramPacket(buffer, address);
        TF2weapons.udpServer.channel.writeAndFlush(packet);
        }
    }
    else {
        super.sendTo(message, player);
    }
}
项目:Randores2    文件:RandoresDataRequestHandler.java   
@Override
public IMessage onMessage(RandoresDataRequest message, MessageContext ctx) {
    EntityPlayerMP player = ctx.getServerHandler().player;
    player.getServerWorld().addScheduledTask(() -> {
        RandoresNetworking.INSTANCE.sendTo(new RandoresClearDataCacheRequest().setDoClear(true), player);
        World world = player.world;
        RandoresWorldData data = RandoresWorldData.getSimply(world);
        if (data.getId().equals(message.getId())) {
            Kind kind = data.getKind();
            RandoresNetworking.INSTANCE.sendTo(new RandoresBeginDataTransferRequest().setId(data.getId()), player);
            data.getPluginSeeds().forEach((plugin, seed) -> {
                RandoresNetworking.INSTANCE.sendTo(new RandoresUpdatePluginSeedRequest().setPlugin(plugin).setSeed(seed), player);
            });
            if (kind == Kind.SEEDED) {
                RandoresNetworking.INSTANCE.sendTo(new RandoresDefineBySeedRequest().setSeed(data.getSeed()), player);
            } else if (kind == Kind.CUSTOM) {
                data.getCache().stream().map(def -> new RandoresDefineByDataRequest().setDefinition(def)).forEach(req -> RandoresNetworking.INSTANCE.sendTo(req, player));
            }
            RandoresNetworking.INSTANCE.sendTo(new RandoresEndDataTransferRequest().setId(data.getId()), player);
        }

    });
    return null;
}
项目:Proyecto-DASI    文件:SimpleCraftCommandsImplementation.java   
@Override
public IMessage onMessage(CraftMessage message, MessageContext ctx)
{
    EntityPlayerMP player = ctx.getServerHandler().playerEntity;
    // Try crafting recipes first:
    List<IRecipe> matching_recipes = CraftingHelper.getRecipesForRequestedOutput(message.parameters);
    for (IRecipe recipe : matching_recipes)
    {
        if (CraftingHelper.attemptCrafting(player, recipe))
            return null;
    }
    // Now try furnace recipes:
    ItemStack input = CraftingHelper.getSmeltingRecipeForRequestedOutput(message.parameters);
    if (input != null)
    {
        if (CraftingHelper.attemptSmelting(player, input))
            return null;
    }
    return null;
}
项目:PurificatiMagicae    文件:CPacketUnlockResponse.java   
@Override
@SideOnly(Side.CLIENT)
public IMessage onMessage(CPacketUnlockResponse message, MessageContext ctx)
{
    Minecraft.getMinecraft().addScheduledTask(() ->
    {
        if(Minecraft.getMinecraft().currentScreen != null)
        {
            if (Minecraft.getMinecraft().currentScreen instanceof PXLGui)
            {
                for (Control c : ((PXLGui) Minecraft.getMinecraft().currentScreen).gui.controls)
                {
                    if (c instanceof GuiCodeStorageUnlock)
                    {
                        ((GuiCodeStorageUnlock) c).handleResponsePacket(message);
                    }
                }
            }
        }
    });
    return null;
}
项目:Mods    文件:TF2InitClientHandler.java   
@Override
public IMessage onMessage(TF2Message.InitClientMessage message, MessageContext ctx) {
    EntityPlayer player = ctx.getServerHandler().player;
    ((WorldServer)player.world).addScheduledTask(() -> {
        WeaponsCapability.get(player).sentryTargets = message.sentryTargets;
        WeaponsCapability.get(player).dispenserPlayer = message.dispenserPlayer;
        WeaponsCapability.get(player).teleporterPlayer = message.teleporterPlayer;
        WeaponsCapability.get(player).teleporterEntity = message.teleporterEntity;
    });
        // System.out.println("setting "+message.value);
        // TF2weapons.proxy.playReloadSound(player,stack);
    return null;
}
项目:Mods    文件:TF2GuiConfigHandler.java   
@Override
public IMessage onMessage(final GuiConfigMessage message, final MessageContext ctx) {

    TF2weapons.server.addScheduledTask(new Runnable() {

        @Override
        public void run() {

            Entity ent = ctx.getServerHandler().player.world.getEntityByID(message.entityid);
            if (ent != null && ent instanceof EntityBuilding
                    && ((EntityBuilding) ent).getOwner() == ctx.getServerHandler().player) {
                if (message.id == 127) {
                    ((EntityBuilding) ent).grab();
                    return;
                }

                if (ent instanceof EntityTeleporter) {
                    if (message.id == 0)
                        ((EntityTeleporter) ent).setID(MathHelper.clamp(message.value,0,EntityTeleporter.TP_PER_PLAYER-1));
                    else if (message.id == 1)
                        ((EntityTeleporter) ent).setExit(message.value == 1);
                } else if (ent instanceof EntitySentry)
                    if (message.id == 0)
                        ((EntitySentry) ent).setTargetInfo(message.value);
            }
        }
    });

    return null;
}
项目:MineCamera    文件:MessageFailLoadImage.java   
@Override
public IMessage onMessage(MessageFailLoadImage message, MessageContext ctx) {
    if (ctx.side == Side.CLIENT) {
        PictureFactory.fildToLoadPicture.put(message.imagename, message.type);
        if(PictureFactory.lodingPicture.contains(message.imagename))
        {
            PictureFactory.lodingPicture.remove(message.imagename);
        }
    }
    return null;
}
项目:MineCamera    文件:MessagePlayerViewRender.java   
@Override
public IMessage onMessage(MessagePlayerViewRender message, MessageContext ctx) {
    if (ctx.side == Side.SERVER) {
        if(ctx.getServerHandler().playerEntity!=null){
            ctx.getServerHandler().playerEntity.getEntityData().removeTag("renderViewCamera");
        }
    }
    return null;
}
项目:Game-Stages    文件:PacketRequestClientSync.java   
@Override
public IMessage handleMessage (MessageContext context) {

    final EntityPlayer player = context.getServerHandler().player;
    final IStageData info = PlayerDataHandler.getStageData(player);
    MinecraftForge.EVENT_BUS.post(new StageDataEvent.SyncRequested(player, info));
    GameStages.LOG.info("Syncing data for " + player.getName());
    return new PacketStageAll(info.getUnlockedStages());
}
项目:Mods    文件:TF2NetworkWrapper.java   
public <REQ extends IMessage, REPLY extends IMessage> void registerMessage(Class<? extends IMessageHandler<REQ, REPLY>> messageHandler, Class<REQ> requestMessageType, int discriminator, Side side, boolean useUdp)
  {
      try {
    registerMessage(messageHandler.newInstance(), requestMessageType, discriminator, side, useUdp);
} catch (Exception e) {

}
  }
项目:MineCamera    文件:MessagePictureBookInput.java   
@Override
public IMessage onMessage(MessagePictureBookInput message, MessageContext ctx) {
    if (ctx.side == Side.SERVER) {
        EntityPlayerMP player = ctx.getServerHandler().playerEntity;
        if (player != null && player.openContainer != null
                && player.openContainer instanceof ContainerPictureBook) {
            ContainerPictureBook contaner = (ContainerPictureBook) player.openContainer;
            if (contaner.getSlot(0).getHasStack() && contaner.getSlot(0).getStack().hasTagCompound()
                    && contaner.getSlot(0).getStack().getTagCompound().hasKey("pid")) {
                ItemStack itemStack = contaner.getSlot(0).getStack();
                String pid = itemStack.getTagCompound().getString("pid");
                if (contaner.getTotalPictureNum() <= 100) {
                    contaner.getListPid().add(pid);
                    contaner.setTotalPictureNum(contaner.getTotalPictureNum() + 1);
                    if (contaner.getTotalPictureNum() == 1) {
                        contaner.setIndex(0);
                    }
                } else {
                    player.addChatComponentMessage(new TextComponentTranslation("chat.picturebook.tomany"));
                    return null;
                }
            }
            contaner.getSlot(0).decrStackSize(64);
        }
    }
    return null;
}
项目:Proyecto-DASI    文件:MalmoMod.java   
@Override
public IMessage onMessage(final MalmoMessage message, final MessageContext ctx)
{
    final List<IMalmoMessageListener> interestedParties = listeners.get(message.messageType);
    if (interestedParties != null && interestedParties.size() > 0)
    {
        IThreadListener mainThread = null;
        if (ctx.side == Side.CLIENT)
            mainThread = Minecraft.getMinecraft();
        else
            mainThread = MinecraftServer.getServer();
        mainThread.addScheduledTask(new Runnable()
        {
            @Override
            public void run()
            {
                for (IMalmoMessageListener l : interestedParties)
                {
                    // If the message's uid is set (ie non-zero), then use it to ensure that only the matching listener receives this message.
                    // Otherwise, let all listeners who are interested get a look.
                    if (message.uid == 0 || System.identityHashCode(l) == message.uid)
                        l.onMessage(message.messageType,  message.data);
                }
            }
        });
    }
    return null; // no response in this case
}
项目:Mods    文件:TF2ShowGuiHandler.java   
@Override
public IMessage onMessage(final ShowGuiMessage message, MessageContext ctx) {
    if (message.id != 99)
        FMLNetworkHandler.openGui(ctx.getServerHandler().player, TF2weapons.instance, message.id,
                ctx.getServerHandler().player.world, 0, 0, 0);
    else {

    }
    return null;
}
项目:EndermanEvolution    文件:PacketFriendermanRegistrySync.java   
@Override
public IMessage onMessage(PacketFriendermanRegistrySync message, MessageContext ctx) {
    FMLCommonHandler.instance().getWorldThread(ctx.netHandler).addScheduledTask(() -> {
        if (ctx.getClientHandler() != null) {
            ModRegistries.setTamedFriendermanRegistry(message.registry);
        }
    });
    return null;
}
项目:Mods    文件:TF2Util.java   
public static void sendTracking(IMessage message,Entity entity){
    if(entity instanceof EntityPlayerMP)
        TF2weapons.network.sendTo(message, (EntityPlayerMP) entity);
    for(EntityPlayer player:((WorldServer)entity.world).getEntityTracker().getTrackingPlayers(entity)){
        TF2weapons.network.sendTo(message, (EntityPlayerMP) player);
    }
}
项目:Adventurers-Toolbox    文件:MessageExtraBlockBreak.java   
@SideOnly(Side.CLIENT)
@Override
public IMessage onMessage(MessageExtraBlockBreak message, MessageContext ctx) {
    BlockPos[] positions = new BlockPos[message.numBlocks];

    for (int i = 0; i < message.numBlocks; i++) {
        positions[i] = new BlockPos(message.positions[i][0], message.positions[i][1], message.positions[i][2]);
    }

    ExtraBlockBreakHandler.INSTANCE.sendBlockBreakProgress(message.entityID, positions, message.progress);

    return null;
}
项目:PowerProbe    文件:MessageUsingProbe.java   
@Override
public IMessage onMessage(final MessageUsingProbe message, MessageContext ctx) {
  final EntityPlayerMP player = ctx.getServerHandler().playerEntity;
  player.getServerWorld().addScheduledTask(new Runnable() {
    @Override
    public void run() {
      handle(player, message);
    }
  });
  return null;
}
项目:Minecoprocessors    文件:MessageProcessorAction.java   
@Override
public IMessage onMessage(final MessageProcessorAction message, MessageContext ctx) {
  if (message.action == null) {
    return null;
  }
  final EntityPlayerMP payer = ctx.getServerHandler().player;
  payer.getServerWorld().addScheduledTask(new Worker(payer, message));
  return null;
}
项目:Minecoprocessors    文件:AbstractMessageHandler.java   
@Override
@Nullable
public IMessage onMessage(final T message, final MessageContext context) {
  final IThreadListener thread = FMLCommonHandler.instance().getWorldThread(context.netHandler);
  if (thread.isCallingFromMinecraftThread()) {
    onMessageSynchronized(message, context);
  } else {
    thread.addScheduledTask(() -> onMessageSynchronized(message, context));
  }
  return null;
}
项目:Mods    文件:TF2InitHandler.java   
@Override
public IMessage onMessage(TF2Message.InitMessage message, MessageContext ctx) {
    try {
        TF2UdpClient.instance = new TF2UdpClient(SocketUtils.socketAddress(TF2UdpClient.addressToUse, message.port));
        TF2UdpClient.playerId = message.id;
        TF2weapons.network.useUdp = false;
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
        // System.out.println("setting "+message.value);
        // TF2weapons.proxy.playReloadSound(player,stack);
    return null;
}
项目:Never-Enough-Currency    文件:MessageSyncAccount.java   
@Override
public IMessage handleClientMessage(EntityPlayer player, MessageSyncAccount message, MessageContext ctx) {
    if ((player != null) && (message != null) && (ctx != null)) {
        EntityLivingBase en = (EntityLivingBase) player.getEntityWorld().getEntityByID(message.entityId);
        if (en != null) {
            if (en.getEntityWorld() != null && en.hasCapability(Currency.ACCOUNT_DATA, null)) {
                AccountCapability entityData = en.getCapability(Currency.ACCOUNT_DATA, null);
                entityData.setAmount(message.amount, false);
            }
        }
    }
    return null;
}
项目:Never-Enough-Currency    文件:MessageSyncPrice.java   
@Override
public IMessage handleClientMessage(EntityPlayer player, MessageSyncPrice message, MessageContext ctx) {
    if ((player != null) && (message != null) && (ctx != null)) {
        if (player.getEntityWorld().getTileEntity(message.pos) instanceof TileEntityStockCrate) {
            TileEntityStockCrate crate = (TileEntityStockCrate) player.getEntityWorld().getTileEntity(message.pos);
            crate.setAmount(message.amount);
        }
    }
    return null;
}
项目:Bewitchment    文件:ParticleMessage.java   
@Override
public IMessage onMessage(ParticleMessage message, MessageContext ctx) {
    if (ctx.side == Side.CLIENT) {
        for (int i = 0; i < message.amount; i++) {
            Bewitchment.proxy.spawnParticle(message.particleF, message.x, message.y, message.z, message.xSpeed, message.ySpeed, message.zSpeed, message.args);
        }
    }
    return null;
}
项目:FirstAid    文件:MessageReceiveDamage.java   
@Override
@SideOnly(Side.CLIENT)
public IMessage onMessage(MessageReceiveDamage message, MessageContext ctx) {
    Minecraft.getMinecraft().addScheduledTask(() -> {
       AbstractPlayerDamageModel damageModel = PlayerDataManager.getDamageModel(Minecraft.getMinecraft().player);
        Objects.requireNonNull(damageModel);
        AbstractDamageablePart part = damageModel.getFromEnum(message.part);
        part.damage(message.damageAmount, null, false, message.minHealth);
    });
    return null;
}
项目:Mods    文件:TF2BulletHandler.java   
@Override
public IMessage onMessage(final BulletMessage message, MessageContext ctx) {
    /*
     * final EntityPlayer shooter=ctx.getServerHandler().player;
     * ((WorldServer)shooter.world).addScheduledTask(new Runnable(){
     * 
     * @Override public void run() { ItemStack
     * stack=message.hand==EnumHand.MAIN_HAND?shooter.inventory.
     * getStackInSlot(message.slot):shooter.getHeldItemOffhand(); if(stack
     * == null || !(stack.getItem() instanceof ItemBulletWeapon)) return;
     * ItemBulletWeapon item=(ItemBulletWeapon) stack.getItem(); int
     * totalCrit=0;
     * if((!item.rapidFireCrits(stack)&&item.hasRandomCrits(stack,shooter)
     * && shooter.getRNG().nextFloat()<item.critChance(stack,
     * shooter))||stack.getTagCompound().getShort("crittime")>0){
     * totalCrit=2; } for(Object[] obj:message.readData){ Entity
     * target=shooter.world.getEntityByID((Integer) obj[0]);
     * if(target==null) continue;
     * 
     * if(!shotInfo.containsKey(target)||shotInfo.get(target)==null){
     * shotInfo.put(target, new float[3]); } int critical=totalCrit;
     * //System.out.println(var4.hitInfo); if((Boolean)obj[1]){ critical=2;
     * } critical=item.setCritical(stack, shooter, target, critical);
     * if(critical>0){ totalCrit=critical; }
     * //ItemRangedWeapon.critical=critical; float[]
     * values=shotInfo.get(target);
     * //System.out.println(obj[2]+" "+critical); values[0]++;
     * values[1]+=TF2weapons.calculateDamage(target,shooter.world,
     * shooter, stack, critical, (Float) obj[2]); }
     * ItemBulletWeapon.handleShoot(shooter, stack, shooter.world,
     * shotInfo,totalCrit); ItemBulletWeapon.processShotServer=true;
     * ((ItemBulletWeapon)stack.getItem()).use(stack, shooter,
     * shooter.world, message.hand, message);
     * ItemBulletWeapon.processShotServer=false; shotInfo.clear(); }
     * 
     * });
     */
    return null;
}
项目:PurificatiMagicae    文件:CPacketSpawnSipParticle.java   
@Override
@SideOnly(Side.CLIENT)
public IMessage onMessage(CPacketSpawnSipParticle msg, MessageContext ctx)
{
    Minecraft.getMinecraft().addScheduledTask(() -> ParticleEngine.addParticle(new ParticleSipMovingTo(msg.pos, msg.posTo, msg.sipType, msg.amount, msg.speed)));
    return null;
}
项目:ObsidianSuite    文件:MessageRequestEntityAnimation.java   
@Override
public IMessage onMessage(MessageRequestEntityAnimation message, MessageContext ctx) {
    Entity entity = ctx.getServerHandler().player.world.getEntityByID(message.entityID);
    if(ObsidianAPIUtil.isAnimatedEntity(entity)) {
        EntityAnimationProperties animationProps = EntityAnimationProperties.get(entity);
        if(animationProps != null)
            return new MessageAnimationStart(entity, animationProps.getActiveAnimation(), animationProps.getLoopAnim(), 0.0F);
    }
    return null;
}