+ Antworten
Seite 108 von 132 ErsteErste ... 8 58 98 106 107 108 109 110 118 ... LetzteLetzte
Ergebnis 1.071 bis 1.080 von 1311
  1. #1071
    Obsidianforscher Avatar von Universum
    Registriert seit
    25.03.2012
    Beiträge
    2.556
    Den Viertel nehmen auf dem die Entity am meistne ist. Also irgendwie so:

    XXX
    XPX
    XXX

    jeweils das x dass der entity am "nahestem" ist. Also wenn:

    XXX
    XPX
    XXX
    X
    E
    dann nehme das x vin der ecke. wenn aber:

    XXX
    XPX
    XXX


    E dann das mittlere. usw.

    @Johannes_C25
    5 Minuten Zeit? 5 Minuten Zeit. Ich liebe Zeit. Vor allem in Zeiten, in denen sie so knapp verlegt ist ...

  2. #1072
    Architekt
    Registriert seit
    27.03.2012
    Beiträge
    1.000
    @Universum

    Hmm... ich hoffe mal, bei dem Beitrag kommt etwas sinnvolles zusammen, ich kann um diese Uhrzeit meistens nicht mehr ganz so gut denken:

    Wenn du x, (y, willst du y auch nehmen?), z beider Locations nimmst, und sie voneinander subtrahierst und anschließend die Zahl mit dem höchsten BETRAG (Betrag von -7 ist 7, also immer die Positive Zahl. Gibt da in der Klasse Math auch ne Methode dafür, glaube Math.abs(zahl) raussuchst, und dann damit... irgendwie die Richtung bestimmst...

    Code Beispiel, aber überdenk es bitte nochmal, keine Ahnung, ob da gerade nur schwachsinn rauskommt...:
    Code:
    entX = //
    entZ = //
    plX = //
    plZ = //
    
    BlockFace face;
    
    difX = plX - entX;
    difZ = plZ - entZ;
    betX = Math.abs(difX);
    betZ = Math.abs(difZ);
    if (betX > betZ) {
        //Es geht um die X-Achse
        if (difX > 0)
            face = BlockFace.EAST;
        else
            face = BlockFace.WEST;
    } else {
        if (difZ > 0)
            face = BlockFace.NORTH;
        else
            face = BlockFace.SOUTH;
    }
    Bin mir gerade auch nicht ganz sicher, ob ich Ost, West, Nord, Süd in der richtigen Reihnfolge habe...
    Und ein Problem hat der Code bei folgendem Beispiel:
    Code:
    XXXXXXXXXX
    XXEXXXXXXX
    XXXXXXXXXX
    XXXXXXXXXX
    XXXXXPXXXX
    Hier ist es ja weder die Steigung auf X als die auf Z höher, als die jeweils andere...

  3. #1073
    Obsidianforscher Avatar von Universum
    Registriert seit
    25.03.2012
    Beiträge
    2.556
    Hm, ich probiers mal

    Kann um diese Zeit auch nicht mehr richtig denken
    5 Minuten Zeit? 5 Minuten Zeit. Ich liebe Zeit. Vor allem in Zeiten, in denen sie so knapp verlegt ist ...

  4. #1074
    Diamantensucher Avatar von Panjab
    Registriert seit
    28.04.2012
    Beiträge
    727
    Minecraft
    Panjab
    @Johannes_C25 @Universum

    Wie kann ich, beim Start eines Servers, eine (wenn vorhande) UnknownDependencyException abfragen kann? Also wenn in der plugin.yml ein Plugin angegeben wird, welches zum Starten benötigt wird?

    Code:
    name: ****
    version: 0.5
    author: Panjab
    depend: [StartSecurity]
    
    main: *********
    
    commands:



  5. #1075
    Obsidianforscher Avatar von Universum
    Registriert seit
    25.03.2012
    Beiträge
    2.556
    Entweder du machst es so, also durch die yml, oder du machst einfach, was noch viel besser ist, eine Abfrage mit

    this.getServer().getPluginManager().getPlugin() == null als Inhalt, und wenn es false ergibt, einfach das starten Canceln. Sorry, bin grad Handy @Panjab
    5 Minuten Zeit? 5 Minuten Zeit. Ich liebe Zeit. Vor allem in Zeiten, in denen sie so knapp verlegt ist ...

  6. #1076
    Diamantensucher Avatar von Panjab
    Registriert seit
    28.04.2012
    Beiträge
    727
    Minecraft
    Panjab
    @Universum

    Und wie starte ich das Canceln? disablePlugin oder was?

    €dit:

    Gelöst

    Code:
            if (getServer().getPluginManager().isPluginEnabled("StartSecurity") == false) {
                
                System.out.println("[*******] Dieses Plugin benötigt den StartSecurity-Modus!");
                getServer().getPluginManager().disablePlugin(this);
                
            } else {
    Geändert von Panjab (24.09.2012 um 15:55 Uhr)



  7. #1077
    Architekt Avatar von frankweslar
    Registriert seit
    09.04.2011
    Beiträge
    1.380
    Minecraft
    frankweslar
    Ich möchte folgendes erreichen: Wenn ein Spieler einen bestimmten Vergiftungseffekt bekommt, soll er einen weiteren Effekt bekommen, allerdings nicht jedesmal, wollte das das zufälig geschieht

    Code:
    public void onPlayerMove(PlayerMoveEvent move){
    		Player p = move.getPlayer();
    		if(p.hasPotionEffect(PotionEffectType.HUNGER) &&  (!p.hasPotionEffect(PotionEffectType.CONFUSION))){
    		    int low = 1;
    		    int high = 5;
    		    int ergebnis = (int)(Math.random() * (high - low) + low);
    		    p.sendMessage(ergebnis_string);
    		    if(ergebnis_string.equals("4")) p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 2000, 1));       
    		}
    Allerdings ist da jetzt das Problem, dass er das ganze immer wieder aufruft, wenn derjenige den Effekt nicht hat

    Ich will aber nur, dass er 1x durchgeht und ers dann nicht mehr probiert....

  8. #1078
    Architekt
    Registriert seit
    27.03.2012
    Beiträge
    1.000
    @frankweslar

    Wieso tust du das eigentlich ins Move-Event?
    UN Wo definierst du 'ergebnis_string'?

  9. #1079
    Obsidianforscher Avatar von Universum
    Registriert seit
    25.03.2012
    Beiträge
    2.556
    Ich kapier irgendwie nicht was ich falsch gemacht hab.

    Das Problem: Ich habe eine Hashmap, während Minecraft läuft wird dort abundzu was rein geladen und ab und zu raus. Bei onDisable wird der INhalt in eine MexDB gespeichert, bei onEnable rausgeladen. Und da ist ein komisches Problem: mit /reload funktionniert alles super, Inhalt wird gespeichert und geladen. Wenn in der MexDB aber schon etwas gespeichert ist, und ich den Server starte, wird 1.Nichts rausgeladen, 2Beim disablen kommt eine NPE.

    onDisable
    Code:
    Iterator<Player> iter =protector.keySet().iterator();
    	    while(iter.hasNext()){
    	        Player p = iter.next();
    	        speichern(p.getName());
    	    }
    speichern(String):
    Code:
    public void speichern(String name){
    		Entry protector = new Entry(name);
    		protector.addValue("Amount", String.valueOf(this.protector.get(this.getServer().getPlayer(name))));
    		protectoren.addEntry(protector);
    	    protectoren.push();
    	}
    onEnable:
    Code:
    Set<String> dc = gName();
    		for(String name : dc) { protector.put(this.getServer().getPlayer(name), getPro(name));}

    gName:
    Code:
    public Set<String> gName(){
    		
    		Set<String> indices = protectoren.getIndices();
    		
    		return indices;
    		
    	}
    getPro
    Code:
    public Integer getPro(String name) {
    	    Integer pro = new Integer(protectoren.getInt(name, "Amount"));
    	    return pro;
    	}

    Irgendwie will mir nicht in den Kopf kommen was falsch ist ?(


    Achja, was noch gesagt werden muss: Beim joinen wird die HashMap gefüllt, also wenn ich mich nac hdem reload relogge, kommt die NPE nicht - aber eben dass ist es ja: Statt von der MexDB methode gefüllt zu werden, muss man erst die andere "Fllmethode" anwenden.
    5 Minuten Zeit? 5 Minuten Zeit. Ich liebe Zeit. Vor allem in Zeiten, in denen sie so knapp verlegt ist ...

  10. #1080
    Architekt Avatar von frankweslar
    Registriert seit
    09.04.2011
    Beiträge
    1.380
    Minecraft
    frankweslar
    Copy und paste fail

    Code:
    public void onPlayerMove(PlayerMoveEvent move){
    		Player p = move.getPlayer();
    		if(p.hasPotionEffect(PotionEffectType.HUNGER) &&  (!p.hasPotionEffect(PotionEffectType.CONFUSION))){
    			int low = 1;
    		    int high = 5;
    		    int ergebnis = (int)(Math.random() * (high - low) + low);
    		    String ergebnis_string = String.valueOf(ergebnis);
    		    p.sendMessage(ergebnis_string);
    		    if(ergebnis_string.equals("4")) p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 2000, 1)); 
    		          
    		}
    	}
    Wo würdest du das denn reinpacken? Bzw gibt es nen Event dafür?

    Edit: (25.09.2012 um 19:29)

    Ich bräuchte ja eigentlich nur ein Event, dass ausgelöst wird, wenn man eine(n) Vergiftung/Trankeffekt bekommt...

    Dann würd ich abfragen ob der Effekt == Hunger ist, wenn ja, vergebe ich eventuell einen weiteren Effekt


    Aber sowas scheint es ja wohl leider nicht zu geben

+ Antworten