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.
ну и теперь вопрос который последует далее. Как? я имею в виду что бы они в файле игрока сохранились.LazyRavenMan написал(а):Да можно
Я точно по вопросу ответил.Kuroi написал(а):ну и теперь вопрос который последует далее. Как? я имею в виду что бы они в файле игрока сохранились.LazyRavenMan написал(а):Да можно
Подскажи тогда как заставить глобальные ивенты выполняться на сервереAgravaine написал(а):Да, оно и так сохранится, но надо это делать на сервере.
public class GlobalEvents {
@SubscribeEvent
public void onEntityAttacked(LivingAttackEvent event){
if (!(event.source instanceof EntityDamageSource))
{return;}
EntityDamageSource dmgSource = (EntityDamageSource) event.source;
Entity ent = dmgSource.getEntity();
if (!(ent instanceof EntityPlayer))
{return;}
EntityPlayer player = (EntityPlayer) ent;
NBTTagCompound d = player.getEntityData();
if (event.source.getDamageType().equals("player")) {
if (event.entityLiving instanceof EntityZombie) {
if (d.getInteger("RPGEXP") > 0) {
d.setInteger("RPGEXP", d.getInteger("RPGEXP")+1);
} else {
d.setInteger("RPGEXP", 1);
}
}
}
System.out.println(String.format("RPG EXP %s Player %s", d.getInteger("RPGEXP"), player.getDisplayName()));
}
MinecraftForge.EVENT_BUS.register(new GlobalEvents());
еще или можно только через FMLCommonHandler.instance().bus().register зарегистрировать?LazyRavenMan написал(а):Надо еще регистрировать через FMLCommonHandler.instance().bus().register
не я просто не правельно поставил вопрос, надо выполнить это на стороне сервера и передать полученое значение от сервера в гуи игрока например. я для этого создал отдельную гуи с одним текстом.Agravaine написал(а):Ну так ты и получил же.
Да я только рад был бы, но там ничего не понял из-за того, что на англиском, переводчик очень подводит от гуглла, да и не знаю чем в 1710 сталаAgravaine написал(а):Лучше юзай IExtendedEntityProperties.
можешь поделиться ссылкой? Так может если тутор будет только под 1.7.10 а не как там, в верху описано где менять ти чтто под 1.7.2, ниже весь код под 1.5.2, да еще и разбросан не пойми как. Ну для меня не пойми как.Agravaine написал(а):Убрали.
А тутор есть на 1.7.10.
public void onEntityAttacked(LivingAttackEvent event){
if (!(event.source instanceof EntityDamageSource))
{return;}
EntityDamageSource dmgSource = (EntityDamageSource) event.source;
Entity ent = dmgSource.getEntity();
if (!(ent instanceof EntityPlayer))
{return;}
EntityPlayer player = (EntityPlayer) ent;
NBTTagCompound d = player.getEntityData();
if (event.source.getDamageType().equals("player")) {
if (event.entityLiving instanceof EntityZombie) {
if (d.getInteger("RPGEXP") > 0) {
d.setInteger("RPGEXP", d.getInteger("RPGEXP")+1);
} else {
d.setInteger("RPGEXP", 1);
}
}
}
Main.network.sendTo(new SomeMessage(d.getInteger("RPGEXP"), "LOLOLOLOLO"), (EntityPlayerMP) ent);
System.out.println(String.format("RPG EXP %s Player %s", d.getInteger("RPGEXP"), player.getDisplayName()));
}
Main.network.sendTo(new SomeMessage(d.getInteger("RPGEXP"), "LOLOLOLOLO"), (EntityPlayerMP) ent);
package spellflex.kuroi.rpg.network.packages;
import net.minecraft.inventory.Container;
import net.minecraft.item.ItemStack;
import io.netty.buffer.ByteBuf;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class SomeMessage implements IMessage {
private String text;
private int item2;
public SomeMessage() { }
public SomeMessage(int i, String string) {
this.text = string;
this.item2 = i;
}
@Override
public void fromBytes(ByteBuf buf) {
text = ByteBufUtils.readUTF8String(buf);
item2 = ByteBufUtils.readVarShort(buf);
}
@Override
public void toBytes(ByteBuf buf) {
ByteBufUtils.writeUTF8String(buf, text);
ByteBufUtils.writeVarShort(buf, item2);
}
public static class Handler implements IMessageHandler<SomeMessage, IMessage> {
@Override
public IMessage onMessage(SomeMessage message, MessageContext ctx) {
System.out.println(String.format("%s %s from %s", message.item2, message.text, ctx.getServerHandler().playerEntity.getDisplayName()));
return null;
}
}
}
network = NetworkRegistry.INSTANCE.newSimpleChannel("MyChannel");
network.registerMessage(SomeMessage.Handler.class, SomeMessage.class, 0, Side.CLIENT);
network.registerMessage(UpWeaponsPackages.Handler.class, UpWeaponsPackages.class, 0, Side.SERVER);