- 2,955
- 12
Не хочешь - не мотай. Не хочешь мотать - вообще уходи с форума.
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
package mods.mod_fireworks;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.network.IPacketHandler;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketHandler implements IPacketHandler {
@Override
public void onPacketData(INetworkManager manager,
Packet250CustomPayload packet, Player player) {
if (packet.channel.equals("GenericRandom")) {
handleRandom(packet);
}
}
private void handleRandom(Packet250CustomPayload packet) {
DataInputStream inputStream = new DataInputStream(new ByteArrayInputStream(packet.data));
Side side = FMLCommonHandler.instance().getEffectiveSide();
if (side == Side.CLIENT) {
double x,y,z;
float mX,mY,mZ;
int id;
String t;
try {
x = inputStream.readDouble();
y = inputStream.readDouble();
z = inputStream.readDouble();
mX = inputStream.readFloat();
mY = inputStream.readFloat();
mZ = inputStream.readFloat();
id = inputStream.readInt();
if ( id!=Minecraft.getMinecraft().thePlayer.entityId){
float red = 0;
float green = 0;
float blue = 0;
float scale = 0;
int maxAge = 40;
EntitySpark spark = new EntitySpark(Minecraft.getMinecraft().theWorld,
x,y,z,
mX,mY,mZ,Minecraft.getMinecraft().effectRenderer);
spark.setRBGColorF(red, green, blue);
Minecraft.getMinecraft().effectRenderer.addEffect((EntityFX)spark);}
} catch (IOException e) {
e.printStackTrace();
return;
}
System.out.println(x + " " + y+" "+z+" "+id);
}
}
}
Side side = FMLCommonHandler.instance().getEffectiveSide();
if (side == Side.CLIENT) {
Minecraft.getMinecraft().theWorld
Может хватит огрызаться? Тебе в onPacketData дается player.BlackCrafter написал(а):Ну чё, кто-нибудь поможет или тут все верблюды?
Пфminecraftsrv написал(а):И это как то обидно. Потому что русские (почти вся масса) не способны адекватно обьяснить, что как раз таки делают на англоязычных форумах.
Что значит "не только у себя"? Всмысле, спаунить на сервере? Я пробовал убирать проверку if (world.isRemote), но клиент благополучно крашился.anti344 написал(а):И если ты энтити заспаунишь не только у себя, то она тоже будет тикать на всех клиентах и ты просто проверяй, что ты на клиенте, перед тем как пытаться спавнить частицу.
Вот и всё
Я отсылаю пакет, когда брошенный энтити уничтожился.Oldestkon написал(а):Странный ты. Ты с сервера или с клиента пакет отсылаешь?
Это метод тыка.Oldestkon написал(а):Если с сервера, то начерта тебе на клиенте серверный мир? Его там нет и никогда не будет.
Если по пунктам, то мне кажется, что я решаю проблему не с того бока. Возможно, этим она и усложняется.Oldestkon написал(а):Объясни по пунктам что ты делаешь в коде и что пытаешься сделать
вот и выложи код, как доказательство.Majestic написал(а):Не знаю что ты там делаешь, но у меня энтити везде и всем виден.
:lol: готовый исходник выложиMajestic написал(а):
угуMajestic написал(а):Делал по тому тоториалу еще на 1.6.
Сейчас удалил.
Эти туторы я и без вас видел. На форум обычно пишешь, если с тутором что-то не выходит. А до вас это никак не доходит.Majestic написал(а):Ты реально надойдаешь.
Тебе туторы дают, а ему еще что-то не нравится.
Готовый код тебе здесь никто не даст. Попытайся сам реализовать свою идею, почитай про пакеты. На форж-вики есть туториалы на это тему.BlackCrafter написал(а):Эти туторы я и без вас видел. На форум обычно пишешь, если с тутором что-то не выходит. А до вас это никак не доходит.