- 1,185
- 3
Есть код, который даёт задержку для выстрела, если вы переключились с 1 оружия на другое:
И в PaketHandler:
Так вот, на сервере, если один игрок держит другое оружие, то у другого оружие не стреляет.
Почему?
[merge_posts_bbcode]Добавлено: 12.07.2015 16:39:34[/merge_posts_bbcode]
По идее переменная, current должна быть уникальная на каждом клиенте.
Код:
package com.svk.industrialGuns.Event;
import com.svk.industrialGuns.base.CommonProxy;
import com.svk.industrialGuns.guns.Guns;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class EventReloadGun
{
@SideOnly(Side.CLIENT)
private ItemStack current = null;
@SubscribeEvent
public void TickEvent(TickEvent.PlayerTickEvent e)
{
EntityPlayer player = e.player;
if(player.worldObj.isRemote)
{
if(player.getCurrentEquippedItem() != null && e.player.getCurrentEquippedItem().getItem() instanceof Guns)
{
if(current != null && player.getCurrentEquippedItem().getItem() != current.getItem())
{
CommonProxy.packetSender.sendToServer(CommonProxy.packetSender.createPacket((byte)2));
}
}
current = player.getCurrentEquippedItem();
}
}
}
И в PaketHandler:
Код:
if(id == 2)
{
if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() instanceof Guns)
{
player.getEntityData().getCompoundTag("industrialGuns").setLong("lastShot", (long) (System.currentTimeMillis() + 5000));
}
}
Так вот, на сервере, если один игрок держит другое оружие, то у другого оружие не стреляет.
Почему?
[merge_posts_bbcode]Добавлено: 12.07.2015 16:39:34[/merge_posts_bbcode]
По идее переменная, current должна быть уникальная на каждом клиенте.