[1.7.10] Создание меча пробивающего в креативе и режиме бога

Версия Minecraft
1.7.10
15
0
Доброе утро еще раз. Никогда не имел дел с мечами, сделал самый простой меч, но хотелось бы попробовать сделать меч, пробивающий в гмке и в год режиме. Прошу помочь, кину парочку рубликов на киви :3
 
Решение
Попробуй такой вариант:
Java:
    @SubscribeEvent
    public void EntityAttacks(LivingAttackEvent event){  
        if(event.source instanceof EntityDamageSource){
            EntityDamageSource source = (EntityDamageSource) event.source;
            if(event.entity instanceof EntityPlayer && source.getEntity() instanceof EntityPlayer){ // у нас два игрока
                EntityPlayer damager = (EntityPlayer) source.getEntity(); // нападающий
                EntityPlayer victim = (EntityPlayer) event.entity; // жертва
                if(!victim.capabilities.isCreativeMode){return;} // уходим, жертва и так получит по морде
                ItemStack weapon = damager.inventory.getCurrentItem(); // оружие в руках нападающего...
Я бы хуканул EntityPlayer#damageEntity() и поставил бы проверку на DamageSource - если урон исходит от игрока и он держит в руке твой меч - ранить игрока.
 
Доброе утро еще раз. Никогда не имел дел с мечами, сделал самый простой меч, но хотелось бы попробовать сделать меч, пробивающий в гмке и в год режиме. Прошу помочь, кину парочку рубликов на киви :3
Год режим это фича Essentials, нет? Тут нужно со стороны плагина будет влазить или делать костылем через setHealth.
 
Я бы хуканул EntityPlayer#damageEntity() и поставил бы проверку на DamageSource - если урон исходит от игрока и он держит в руке твой меч - ранить игрока.
можешь код кинуть?)0) пару рублей кину
 
Сделать свой DamageSource, чекни его методы - там есть тот, который разрешает применять дамаг
 
Попробуй такой вариант:
Java:
    @SubscribeEvent
    public void EntityAttacks(LivingAttackEvent event){  
        if(event.source instanceof EntityDamageSource){
            EntityDamageSource source = (EntityDamageSource) event.source;
            if(event.entity instanceof EntityPlayer && source.getEntity() instanceof EntityPlayer){ // у нас два игрока
                EntityPlayer damager = (EntityPlayer) source.getEntity(); // нападающий
                EntityPlayer victim = (EntityPlayer) event.entity; // жертва
                if(!victim.capabilities.isCreativeMode){return;} // уходим, жертва и так получит по морде
                ItemStack weapon = damager.inventory.getCurrentItem(); // оружие в руках нападающего
                if(weapon.getItem() == YourItems.theBestSwordEver){ // твой меч
                    float damage = event.ammount; // сколько урона должно было быть
                    float currenthp = victim.getHealth(); // текущие хп жертвы
                    float newhp = currenthp - damage; // новые хп
                    if(newhp > 0){
                            victim.setHealth(newhp); // нанесли урон
                        } else {
                            LivingDeathEvent playerdead = new LivingDeathEvent(victim, source); // убиваем жертву нападающим
                        }
                    victim.worldObj.playSoundAtEntity(victim, "mob.blaze.hit", 1.0F, 1.0F); // на месте события издаём звук :)
                }
            }
        }
    }
По идее должно работать, но я не проверял.
 
Разве нельзя использовать сетдеад?
Реально,зачем эти глупости писать , как я понимаю когда игрок в гуд или гм , то ивент урона для них отключен , почему просто не чекать , что его ударили этим мечом** и вызывать смерть.
 
-Зашел на сервер.
-Увидел донат с God.
-Купил донат.
-Позвал друзей по разуму.
-Убили в God.
-Назвал админа ласковыми словами.
-Потребовал вернуть деньги.
-Все дружно ливнули с проекта.
-???
-ПРОФИТ!!!
 
Разве нельзя использовать сетдеад?
Или просто чекнуть команду суицид или килл
Если сетдеад написать, то я думаю, что не сгенерируется событие "игрок убил игрока", а просто будет написано, что он умер (без причины). В любом случае, если я написал неправильно - отредактируй и напиши, как правильно.
 
Разве это важно, кто кого убил с помощью этого меча?)
Мы не знаем, какую конечную цель преследовал автор мода. Может, и важно. Раз игрок бьёт мечом другого игрока - значит, важно, чтобы именно он его убил. Собственно, о чём спор? На вкус и цвет все фломастеры разные, я просто высказал свою точку зрения.
 
однозначно плагином, и проще делать и легче контролировать, и зависимостей с конфликтами (от модов) не будет.
 
Назад
Сверху