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

MessageProcessorAction.java 文件源码 项目:Minecoprocessors 阅读 18 收藏 0 点赞 0 评论 0
@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;
}
AbstractMessageHandler.java 文件源码 项目:Minecoprocessors 阅读 24 收藏 0 点赞 0 评论 0
@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;
}
TF2InitHandler.java 文件源码 项目:Mods 阅读 23 收藏 0 点赞 0 评论 0
@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;
}
MessageSyncAccount.java 文件源码 项目:Never-Enough-Currency 阅读 17 收藏 0 点赞 0 评论 0
@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;
}
MessageSyncPrice.java 文件源码 项目:Never-Enough-Currency 阅读 17 收藏 0 点赞 0 评论 0
@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;
}
ParticleMessage.java 文件源码 项目:Bewitchment 阅读 19 收藏 0 点赞 0 评论 0
@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;
}
MessageReceiveDamage.java 文件源码 项目:FirstAid 阅读 16 收藏 0 点赞 0 评论 0
@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;
}
TF2BulletHandler.java 文件源码 项目:Mods 阅读 18 收藏 0 点赞 0 评论 0
@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;
}
CPacketSpawnSipParticle.java 文件源码 项目:PurificatiMagicae 阅读 24 收藏 0 点赞 0 评论 0
@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;
}
MessageRequestEntityAnimation.java 文件源码 项目:ObsidianSuite 阅读 18 收藏 0 点赞 0 评论 0
@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;
}


问题


面经


文章

微信
公众号

扫码关注公众号