Ir para conteúdo
  • 0

Gamemode 3 Packet


FilipeNock

Pergunta

Pensei no seguinte! enviar um packet para o jogador do gamemode 3, ele estando no gamemode 1! exemplo ele fica com os efeitos do gamemode 3, não podendo interagir com os players mas com o inventario do gamemode 1!

eu procurei em um fórum gringo e foi dito que é possível mas somente com packets! 

 

Alguem tem Conhecimento disso?

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

Eu não tenho, mas porque você quer isso? se quer apenas esconder o jogador, tem outros métodos para isso.

queria editar o inventario do jogador no gamemode 3, n por ficar invisivel mas se eu usar o hide no player, os projectiles como ender pearl, flexas são bloqueadas pelo player que esta espectando, ele pode bloquear o player de colocar algum bloco e tudo mais. queria um método pra remover isso!

Link para o comentário
Compartilhar em outros sites

queria editar o inventario do jogador no gamemode 3, n por ficar invisivel mas se eu usar o hide no player, os projectiles como ender pearl, flexas são bloqueadas pelo player que esta espectando, ele pode bloquear o player de colocar algum bloco e tudo mais. queria um método pra remover isso!

Da pra arrumar isso do projectiles, eu já fiz uma gambiarra.

Link para o comentário
Compartilhar em outros sites

voce pode me dar um exemplo? ou sei la

Quer que ele continue a conseguir passar pelos blocos?

Estou vendo se encontro algo

 

@Edit

Como assim o se usar o hide, os jogadores continuam bloqueando as flexas etc?

Eu estou testando aqui e não bloqueia nada ;-;

Não tem como eu testar isso, aqui não bloqueia..

 

sobre arrumar isso dos projectiles, achei isso no spigot

    @EventHandler
    public void onPlayerHurtPlayer(EntityDamageByEntityEvent event) {
        Entity entityDamager = event.getDamager();
        Entity entityDamaged = event.getEntity();

        if (!(entityDamager instanceof Arrow)) return;
        if (!(entityDamaged instanceof Player)) return;
        if (!(((Arrow) entityDamager).getShooter() instanceof Player)) return;
        Arrow arrow = (Arrow) entityDamager;
        Vector velocity = arrow.getVelocity();
        Player shooter = (Player) arrow.getShooter();
        Player damaged = (Player) entityDamaged;

        damaged.teleport(entityDamaged.getLocation().add(0, 2, 0));

        Arrow newArrow = shooter.launchProjectile(Arrow.class);
        newArrow.setShooter(shooter);
        newArrow.setVelocity(velocity);
        newArrow.setBounce(false);

        event.setCancelled(true);
        arrow.remove();
    }

só fazer isso para todos os projectiles 

Editado por zAth
Link para o comentário
Compartilhar em outros sites

Quer que ele continue a conseguir passar pelos blocos?

Estou vendo se encontro algo

 

@Edit

Como assim o se usar o hide, os jogadores continuam bloqueando as flexas etc?

Eu estou testando aqui e não bloqueia nada ;-;

Não tem como eu testar isso, aqui não bloqueia..

 

sobre arrumar isso dos projectiles, achei isso no spigot

    @EventHandler
    public void onPlayerHurtPlayer(EntityDamageByEntityEvent event) {
        Entity entityDamager = event.getDamager();
        Entity entityDamaged = event.getEntity();

        if (!(entityDamager instanceof Arrow)) return;
        if (!(entityDamaged instanceof Player)) return;
        if (!(((Arrow) entityDamager).getShooter() instanceof Player)) return;
        Arrow arrow = (Arrow) entityDamager;
        Vector velocity = arrow.getVelocity();
        Player shooter = (Player) arrow.getShooter();
        Player damaged = (Player) entityDamaged;

        damaged.teleport(entityDamaged.getLocation().add(0, 2, 0));

        Arrow newArrow = shooter.launchProjectile(Arrow.class);
        newArrow.setShooter(shooter);
        newArrow.setVelocity(velocity);
        newArrow.setBounce(false);

        event.setCancelled(true);
        arrow.remove();
    }

só fazer isso para todos os projectiles 

funcionou ^ ^

Link para o comentário
Compartilhar em outros sites

funcionou ^ ^

esqueçi que eu tinha removido uma parte do código kk

    @EventHandler
    public void onPlayerHurtPlayer(EntityDamageByEntityEvent event) {
        Entity entityDamager = event.getDamager();
        Entity entityDamaged = event.getEntity();

        if (!(entityDamager instanceof Arrow)) return;
        if (!(entityDamaged instanceof Player)) return;
        if (!(((Arrow) entityDamager).getShooter() instanceof Player)) return;
        Arrow arrow = (Arrow) entityDamager;
        Vector velocity = arrow.getVelocity();
        Player shooter = (Player) arrow.getShooter();
        Player damaged = (Player) entityDamaged;

        if(damaged.getGameMode() == GameMode.SPECTATE){
            damaged.teleport(entityDamaged.getLocation().add(0, 2, 0));
            Arrow newArrow = shooter.launchProjectile(Arrow.class);
            newArrow.setShooter(shooter);
            newArrow.setVelocity(velocity);
            newArrow.setBounce(false);
            event.setCancelled(true);
            arrow.remove();
        }
    }
Editado por zAth
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...