Skocz do zawartości
  • 0

Sprawdzanie czy blok na jaki patrzy gracz to tabliczka


Pytanie

Witam :) Czy ktoś mi może powiedzieć jak sprawdzić czy gracz patrzy na tabliczkę ? :) Za pomoc daje naj i repa :)

A i jak coś chodzi o plugin...

Edytowane przez McKoxu
Odnośnik do komentarza
https://skript.pl/temat/22335-sprawdzanie-czy-blok-na-jaki-patrzy-gracz-to-tabliczka/
Udostępnij na innych stronach

11 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

    BlockIterator iter = new BlockIterator(player, 10);

    Block lastBlock = iter.next();

    while (iter.hasNext()) {

        lastBlock = iter.next();

        if (lastBlock.getType() == Material.AIR) {
            continue;
        }
        break;
    }
    Location loc = lastBlock.getLocation();
 
  public final Block getTargetBlock(Player player, int range) {
        BlockIterator iter = new BlockIterator(player, range);
        Block lastBlock = iter.next();
        while (iter.hasNext()) {
            lastBlock = iter.next();
            if (lastBlock.getType() == Material.AIR) {
                continue;
            }
            break;
        }
        return lastBlock;
    }
private staredAtBlock(Player player){
    return player.getTargetBlock(null, 200);
}
private setStaredBlock(Block block){
    staredAtBlock.setType(Material.TNT);
}
@EventHandler
public void onPlayerInteractBlockTeleport(PlayerInteractEvent event) {
    Player player = event.getPlayer();
    //Null check isn't necessary anymore, an empty item will have Material.AIR and getTargetBlock() now also works if no target block is found
    if (player.getItemInHand().getType() == Material.BONE) {
        Location playerLoc = player.getLocation(); //Get the player's location
        Location target = player.getTargetBlock((Set) null, 200).getLocation().clone().add(0, 1, 0); //Get the block location + 1 y
        target.setYaw(playerLoc.getYaw()); //Set the yaw of the target location to the player's yaw
        target.setPitch(playerLoc.getPitch()); //Set the pitch of the target location to the player's pitch
        player.teleport(target); //Teleport player
        player.playSound(player.getLocation(), Sound.ENDERMAN_TELEPORT, 10, 1); //Play sound
    }
}
 function Check ()
 {
     var hit : RaycastHit;
     if (Physics.Raycast (transform.position,transform.forward) && hit.collider.name == "Door")
        {
          this.transform.position = target.position;   
        } 
 }

Nie wiem który kod Ci pomoże :kappa:, ale na pewno nie ten ostatni bo ten ostatni to z Unity 3D wyciąłem :bezkappy: 

~Obstawiam że ten przedostatni :kappa: :kappa: :kappa: :kappa: :kappa: :kappa: :kappa: :kappa: :kappa: //Rejszpat

Edytowane przez Rejszpat
Odnośnik do komentarza
https://skript.pl/temat/22335-sprawdzanie-czy-blok-na-jaki-patrzy-gracz-to-tabliczka/#findComment-152055
Udostępnij na innych stronach

  • 0
Block b = player.getTargetBlock(null, 5);
if(b.getType().equals(Material.SIGN)) //to chyba tabliczka :kappa:

Takie coś?

Edytowane przez KrejzolekPRO
Odnośnik do komentarza
https://skript.pl/temat/22335-sprawdzanie-czy-blok-na-jaki-patrzy-gracz-to-tabliczka/#findComment-152087
Udostępnij na innych stronach

  • 0
3 minuty temu, KrejzolekPRO napisał:

Block b = player.getTargetBlock(null, 5);
if(b.getType().equals(Material.SIGN)) //to chyba tabliczka :kappa:

Takie coś?

Tak, ale wywala error bo jakiś geniusz który tworzył bukkita lub spigot zrobił 2 rzeczy .getTargetBlock które chyba służą do tego samego i wywala przez to error :v

Odnośnik do komentarza
https://skript.pl/temat/22335-sprawdzanie-czy-blok-na-jaki-patrzy-gracz-to-tabliczka/#findComment-152089
Udostępnij na innych stronach

  • 0
10 godzin temu, McKoxu napisał:

Tak, ale wywala error bo jakiś geniusz który tworzył bukkita lub spigot zrobił 2 rzeczy .getTargetBlock które chyba służą do tego samego i wywala przez to error :v

Błąd jest po stronie Material.SIGN, bo gdy taką samą metodę wykorzystałem przy zmianie spawnera, to działała.

Odnośnik do komentarza
https://skript.pl/temat/22335-sprawdzanie-czy-blok-na-jaki-patrzy-gracz-to-tabliczka/#findComment-152097
Udostępnij na innych stronach

  • 0
56 minut temu, KrejzolekPRO napisał:

Błąd jest po stronie Material.SIGN, bo gdy taką samą metodę wykorzystałem przy zmianie spawnera, to działała.

Może problem tkwi w ID tabliczki, gdyż tabliczka nie jest pełnym blokiem 

Może coś takiego ci pomoże?

Jest coś takiego jak material.SIGN_POST

 

Edytowane przez Rejszpat
Odnośnik do komentarza
https://skript.pl/temat/22335-sprawdzanie-czy-blok-na-jaki-patrzy-gracz-to-tabliczka/#findComment-152108
Udostępnij na innych stronach

  • 0
1 minutę temu, Rejszpat napisał:

Może problem tkwi w ID tabliczki, gdyż tabliczka nie jest pełnym blokiem 

Z innymi blokami też nie działa :P

Odnośnik do komentarza
https://skript.pl/temat/22335-sprawdzanie-czy-blok-na-jaki-patrzy-gracz-to-tabliczka/#findComment-152109
Udostępnij na innych stronach

  • 0
7 minut temu, McKoxu napisał:

Z innymi blokami też nie działa :P

https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html#WALL_SIGN

Do tego czegoś zajrzyj :kappa: 

https://hub.spigotmc.org/javadocs/spigot/org/bukkit/material/Sign.html

Material.getMaterial("String");

Może takie coś Ci pomoże

Ewentualnie zamiast tego:

Block b = player.getTargetBlock(null, 5);
if(b.getType().equals(Material.SIGN)) //to chyba tabliczka :kappa:

daj

Player p = evt.getPlayer();
            Block B = p.getTargetBlock(null, 3);
                        if (B.getType() == Material.SIGN || B.getType() == Material.SIGN_POST || B.getType() == Material.WALL_SIGN) {

albo

Player p = evt.getPlayer();
            Block B = p.getTargetBlock(null, 3);
                        if (B == Block.SIGN || B == Block.SIGN_POST || B == Block.WALL_SIGN) {

 

Albo czekaj przyszedł mi pomysł

Block b = loc.getBlock();
if(b.getType().equals(Material.WALL_SIGN) || b.getType().equals(Material.SIGN_POST)) {

 

Czekaj... Kolejny głupi pomysł

        Block b = sr.location.getBlock();
        if (b.getType() != Material.SIGN_POST && b.getType() != Material.WALL_SIGN)
            return false;

 

Edytowane przez Rejszpat
Odnośnik do komentarza
https://skript.pl/temat/22335-sprawdzanie-czy-blok-na-jaki-patrzy-gracz-to-tabliczka/#findComment-152110
Udostępnij na innych stronach

  • 0
Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...