Problème sendToAllAround



  • Bonsoir,

    Je voudrais jouer un son dans un rayon de 5 bloc autour du joueur qui exécute la commande.

    Pour cela j'utilise un packet avec l'envoie sendToAllAround quand j'utilise sendtoserver aucun soucis le son est bien jouer mais il est jouer a tout les joueurs et pas dans un rayon de bloc autour du joueur qui exécute la commande !

    Commande:

    
    package com.CSC.net.Commands;
    
    import com.CSC.net.Main;
    import com.CSC.net.packet.PacketSounds;
    
    import net.minecraft.client.Minecraft;
    import net.minecraft.command.CommandBase;
    import net.minecraft.command.CommandException;
    import net.minecraft.command.ICommandSender;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.server.MinecraftServer;
    import net.minecraft.util.ChatComponentText;
    import net.minecraftforge.fml.common.network.NetworkRegistry;
    import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
    
    public class Command1097 extends CommandBase{
    
    @Override
    public String getName() {
    return "10-97";
    }
    
    @Override
    public String getCommandUsage(ICommandSender sender) {
    return null;
    }
    
    @Override
    public void execute(ICommandSender sender, String[] args)
    throws CommandException {
    EntityPlayer player = (EntityPlayer)sender;
    if(player instanceof EntityPlayer)
    {
    System.out.println("");
    Main.network.sendToAllAround(new PacketSounds(0), new NetworkRegistry.TargetPoint(player.dimension, player.posX, player.posY, player.posZ, 5));
    }
    else
    {
    System.out.println("Impossible d executer cette commande avec une console");
    }
    }
    
    }
    
    

    Packet:

    
    package com.CSC.net.packet;
    
    import io.netty.buffer.ByteBuf;
    import net.minecraft.entity.player.EntityPlayerMP;
    import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
    import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
    import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
    import net.minecraftforge.fml.relauncher.Side;
    import net.minecraftforge.fml.relauncher.SideOnly;
    
    public class PacketSounds implements IMessage{
    
    private Integer integer;
    
    public PacketSounds()
    {
    
    }
    
    public PacketSounds(Integer i)
    {
    this.integer = i;
    }
    
    @Override
    public void fromBytes(ByteBuf buf) {
    this.integer = buf.readInt();
    }
    
    @Override
    public void toBytes(ByteBuf buf) {
    buf.writeInt(this.integer);
    }
    
    public static class Handler implements IMessageHandler <packetsounds, imessage="">{
    @Override
       public IMessage onMessage(PacketSounds message, MessageContext ctx) 
       {
    EntityPlayerMP player = ctx.getServerHandler().playerEntity;
    switch(message.integer)
    {
    case 0:
    player.worldObj.playSoundAtEntity(player, "csc:10-97", 1.0F, 1.0F);
    System.out.println("");
    break;
    case 1:
    ctx.getServerHandler().playerEntity.playSound("csc:administrer", 1.0F, 1.0F);
    break;
    default:
    break;
    }
    return null;
    
       }
    }
    
    }
    
    

    register packet:

            network.registerMessage(PacketSounds.Handler.class, PacketSounds.class, 1, Side.SERVER);
    

    Merci d'avance pour votre aide !</packetsounds,>


  • Moddeurs confirmés Rédacteurs Administrateurs

    network.registerMessage(PacketSounds.Handler.class, PacketSounds.class, 1, Side.SERVER);
    ->
    network.registerMessage(PacketSounds.Handler.class, PacketSounds.class, 1, Side.CLIENT);

    Le side indiqué doit être celui qui reçoit le paquet.



  • @'robin4002':

    network.registerMessage(PacketSounds.Handler.class, PacketSounds.class, 1, Side.SERVER);
    ->
           network.registerMessage(PacketSounds.Handler.class, PacketSounds.class, 1, Side.CLIENT);

    Le side indiqué doit être celui qui reçoit le paquet.

    D'accord je sais jamais quel side utiliser c'est chiant..

    J'ai un crash par contre:

    
    [19:48:13] [Netty Local Client IO #0/ERROR] [FML]: SimpleChannelHandlerWrapper exception
    java.lang.ClassCastException: net.minecraft.client.network.NetHandlerPlayClient cannot be cast to net.minecraft.network.NetHandlerPlayServer
    at net.minecraftforge.fml.common.network.simpleimpl.MessageContext.getServerHandler(MessageContext.java:36) ~[MessageContext.class:?]
    at com.CSC.net.packet.PacketSounds$Handler.onMessage(PacketSounds.java:41) ~[PacketSounds$Handler.class:?]
    at com.CSC.net.packet.PacketSounds$Handler.onMessage(PacketSounds.java:1) ~[PacketSounds$Handler.class:?]
    at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?]
    at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) ~[SimpleChannelInboundHandler.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:4.0.15.Final]
    at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final]
    at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:4.0.15.Final]
    at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:88) [FMLProxyPacket.class:?]
    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?]
    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [NetworkManager.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [SimpleChannelInboundHandler.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleClientSideCustomPacket(NetworkDispatcher.java:363) [NetworkDispatcher.class:?]
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:230) [NetworkDispatcher.class:?]
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:49) [NetworkDispatcher.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [SimpleChannelInboundHandler.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final]
    at io.netty.channel.local.LocalChannel.finishPeerRead(LocalChannel.java:312) [LocalChannel.class:4.0.15.Final]
    at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:44) [LocalChannel.class:4.0.15.Final]
    at io.netty.channel.local.LocalChannel$6.run(LocalChannel.java:298) [LocalChannel$6.class:4.0.15.Final]
    at io.netty.channel.local.LocalEventLoop.run(LocalEventLoop.java:33) [LocalEventLoop.class:4.0.15.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [SingleThreadEventExecutor$2.class:4.0.15.Final]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
    [19:48:13] [Netty Local Client IO #0/ERROR] [FML]: SimpleChannelHandlerWrapper exception
    java.lang.ClassCastException: net.minecraft.client.network.NetHandlerPlayClient cannot be cast to net.minecraft.network.NetHandlerPlayServer
    at net.minecraftforge.fml.common.network.simpleimpl.MessageContext.getServerHandler(MessageContext.java:36) ~[MessageContext.class:?]
    at com.CSC.net.packet.PacketSounds$Handler.onMessage(PacketSounds.java:41) ~[PacketSounds$Handler.class:?]
    at com.CSC.net.packet.PacketSounds$Handler.onMessage(PacketSounds.java:1) ~[PacketSounds$Handler.class:?]
    at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?]
    at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) ~[SimpleChannelInboundHandler.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:4.0.15.Final]
    at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final]
    at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:4.0.15.Final]
    at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:88) [FMLProxyPacket.class:?]
    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?]
    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [NetworkManager.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [SimpleChannelInboundHandler.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleClientSideCustomPacket(NetworkDispatcher.java:363) [NetworkDispatcher.class:?]
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:230) [NetworkDispatcher.class:?]
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:49) [NetworkDispatcher.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [SimpleChannelInboundHandler.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final]
    at io.netty.channel.local.LocalChannel.finishPeerRead(LocalChannel.java:312) [LocalChannel.class:4.0.15.Final]
    at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:44) [LocalChannel.class:4.0.15.Final]
    at io.netty.channel.local.LocalChannel$6.run(LocalChannel.java:298) [LocalChannel$6.class:4.0.15.Final]
    at io.netty.channel.local.LocalEventLoop.run(LocalEventLoop.java:33) [LocalEventLoop.class:4.0.15.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [SingleThreadEventExecutor$2.class:4.0.15.Final]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
    [19:48:13] [Netty Local Client IO #0/ERROR] [FML]: There was a critical exception handling a packet on channel csc:
    java.lang.ClassCastException: net.minecraft.client.network.NetHandlerPlayClient cannot be cast to net.minecraft.network.NetHandlerPlayServer
    at net.minecraftforge.fml.common.network.simpleimpl.MessageContext.getServerHandler(MessageContext.java:36) ~[MessageContext.class:?]
    at com.CSC.net.packet.PacketSounds$Handler.onMessage(PacketSounds.java:41) ~[PacketSounds$Handler.class:?]
    at com.CSC.net.packet.PacketSounds$Handler.onMessage(PacketSounds.java:1) ~[PacketSounds$Handler.class:?]
    at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?]
    at net.minecraftforge.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) ~[SimpleChannelInboundHandler.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) ~[DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) ~[DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:4.0.15.Final]
    at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) ~[DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) ~[DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:4.0.15.Final]
    at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:4.0.15.Final]
    at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:88) [FMLProxyPacket.class:?]
    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:144) [NetworkManager.class:?]
    at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:469) [NetworkManager.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [SimpleChannelInboundHandler.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleClientSideCustomPacket(NetworkDispatcher.java:363) [NetworkDispatcher.class:?]
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:230) [NetworkDispatcher.class:?]
    at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:49) [NetworkDispatcher.class:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [SimpleChannelInboundHandler.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324) [DefaultChannelHandlerContext.class:4.0.15.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:4.0.15.Final]
    at io.netty.channel.local.LocalChannel.finishPeerRead(LocalChannel.java:312) [LocalChannel.class:4.0.15.Final]
    at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:44) [LocalChannel.class:4.0.15.Final]
    at io.netty.channel.local.LocalChannel$6.run(LocalChannel.java:298) [LocalChannel$6.class:4.0.15.Final]
    at io.netty.channel.local.LocalEventLoop.run(LocalEventLoop.java:33) [LocalEventLoop.class:4.0.15.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [SingleThreadEventExecutor$2.class:4.0.15.Final]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
    

    Packet: (ligne 41 indiqué )

    
    package com.CSC.net.packet;
    
    import io.netty.buffer.ByteBuf;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.entity.player.EntityPlayerMP;
    import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
    import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
    import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
    import net.minecraftforge.fml.relauncher.Side;
    import net.minecraftforge.fml.relauncher.SideOnly;
    
    public class PacketSounds implements IMessage{
    
    private Integer integer;
    
    public PacketSounds()
    {
    
    }
    
    public PacketSounds(Integer i)
    {
    this.integer = i;
    }
    
    @Override
    public void fromBytes(ByteBuf buf) {
    this.integer = buf.readInt();
    }
    
    @Override
    public void toBytes(ByteBuf buf) {
    buf.writeInt(this.integer);
    }
    
    public static class Handler implements IMessageHandler <packetsounds, imessage="">{
    @Override
       public IMessage onMessage(PacketSounds message, MessageContext ctx) 
       {
    EntityPlayerMP player = ctx.getServerHandler().playerEntity; // ligne 41
    switch(message.integer)
    {
    case 0:
    player.worldObj.playSoundAtEntity(player, "csc:10-97", 1.0F, 1.0F);
    System.out.println("");
    break;
    case 1:
    ctx.getServerHandler().playerEntity.playSound("csc:administrer", 1.0F, 1.0F);
    break;
    
    default:
    break;
    }
    return null;
    
       }
    }
    
    }
    
    

    et ma classe pour la commande:

    
    package com.CSC.net.Commands;
    
    import com.CSC.net.Main;
    import com.CSC.net.packet.PacketSounds;
    
    import net.minecraft.client.Minecraft;
    import net.minecraft.command.CommandBase;
    import net.minecraft.command.CommandException;
    import net.minecraft.command.ICommandSender;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.server.MinecraftServer;
    import net.minecraft.util.ChatComponentText;
    import net.minecraftforge.fml.common.network.NetworkRegistry;
    import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
    
    public class Command1097 extends CommandBase{
    
    @Override
    public String getName() {
    return "10-97";
    }
    
    @Override
    public String getCommandUsage(ICommandSender sender) {
    return null;
    }
    
    @Override
    public void execute(ICommandSender sender, String[] args)
    throws CommandException {
    EntityPlayer player = (EntityPlayer)sender;
    if(player instanceof EntityPlayer)
    {
    System.out.println("");
    Main.network.sendToAllAround(new PacketSounds(0), new NetworkRegistry.TargetPoint(player.dimension, player.posX, player.posY, player.posZ, 5));
    }
    else
    {
    System.out.println("Impossible d executer cette commande avec une console");
    }
    }
    
    }
    
    ```</packetsounds,>

  • Moddeurs confirmés Rédacteurs Administrateurs

    ctx.getServerHandler() n'est pas dispo en client.
    Si tu veux l'instance du joueur il faut utiliser Minecraft.getMinecraft().thePlayer



  • @'robin4002':

    ctx.getServerHandler() n'est pas dispo en client.
    Si tu veux l'instance du joueur il faut utiliser Minecraft.getMinecraft().thePlayer

    D'acc !

    J'ai plus de crash mais mon son n'est pas jouer (quand je fais un sendtoserver ça marche)

    J'ai mis du debug un peu partout tout est bien appeler !

    Ma classe:

    
    package com.CSC.net.packet;
    
    import io.netty.buffer.ByteBuf;
    import net.minecraft.client.Minecraft;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.entity.player.EntityPlayerMP;
    import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
    import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
    import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
    import net.minecraftforge.fml.relauncher.Side;
    import net.minecraftforge.fml.relauncher.SideOnly;
    
    public class PacketSounds implements IMessage{
    
    private Integer integer;
    
    public PacketSounds()
    {
    
    }
    
    public PacketSounds(Integer i)
    {
    this.integer = i;
    }
    
    @Override
    public void fromBytes(ByteBuf buf) {
    this.integer = buf.readInt();
    }
    
    @Override
    public void toBytes(ByteBuf buf) {
    buf.writeInt(this.integer);
    }
    
    public static class Handler implements IMessageHandler <packetsounds, imessage="">{
    @Override
       public IMessage onMessage(PacketSounds message, MessageContext ctx) 
       {
    EntityPlayer player = Minecraft.getMinecraft().thePlayer;
    switch(message.integer)
    {
    case 0:
    player.worldObj.playSoundAtEntity(player, "csc:10-97", 1.0F, 1.0F);
    System.out.println("");
    break;
    case 1:
    //ctx.getServerHandler().playerEntity.playSound("csc:administrer", 1.0F, 1.0F);
    break;
    
    default:
    break;
    }
    return null;
    
       }
    }
    
    }
    
    ```</packetsounds,>

  • Moddeurs confirmés Rédacteurs Administrateurs

    Surement car la fonction playSoundAtEntity ne fait rien côté client.
    Il y a une autre fonction pour jouer le son côté client, regardes dans GuiButton



  •     public void playPressSound(SoundHandler soundHandlerIn)
        {
            soundHandlerIn.playSound(PositionedSoundRecord.create(new ResourceLocation("gui.button.press"), 1.0F));
        }
    

    le son est jouer comme ça mais j'arrive pas a importer SoundHandler du coup je suis bloqué !


  • Moddeurs confirmés Rédacteurs Administrateurs

    Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.create(new ResourceLocation("gui.button.press"), 1.0F));



  • @'robin4002':

    Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.create(new ResourceLocation("gui.button.press"), 1.0F));

    Merci !


Log in to reply