Skocz do zawartości
  • 0

Pytanie dla kumatych


kerpson
 Udostępnij

Pytanie

Mam pytanie. Pokaze wam 2zapisy (nie sa moje).

1. Zapis

on break of stone:
	if player's tool is any pickaxe:
		if {qd::%player%::cobble} is "NIE":
			cancel event
			set event-block to air
		set {_1::*} to configuration section "drops" get of "plugins/QDrop/drops.yml"
		loop {_1::*}:
			set {_d::item::%loop-value%} to single value "drops.%loop-value%.item" get of "plugins/QDrop/drops.yml" parsed as item
			set {_d::sz::%loop-value%} to single value "drops.%loop-value%.szanse" get of "plugins/QDrop/drops.yml" parsed as number
			set {_d::xp::%loop-value%} to single value "drops.%loop-value%.xp" get of "plugins/QDrop/drops.yml" parsed as number
			set {_d::n::%loop-value%} to single value "drops.%loop-value%.nazwa" get of "plugins/QDrop/drops.yml"
			set {_d::for::%loop-value%} to single value "drops.%loop-value%.fortuna" get of "plugins/QDrop/drops.yml"
			set {_d::en::%loop-value%} to single value "drops.%loop-value%.enderchest" get of "plugins/QDrop/drops.yml"
			set {_d::wiad::%loop-value%} to colored single value "drops.%loop-value%.wiadomosc" get of "plugins/QDrop/drops.yml" parsed as text
			set {_d::imin::%loop-value%} to single value "drops.%loop-value%.ilosc.min" get of "plugins/QDrop/drops.yml" parsed as number
			set {_d::imax::%loop-value%} to single value "drops.%loop-value%.ilosc.max" get of "plugins/QDrop/drops.yml" parsed as number
			set {_d::pmin::%loop-value%} to single value "drops.%loop-value%.poziom.min" get of "plugins/QDrop/drops.yml" parsed as number
			set {_d::pmax::%loop-value%} to single value "drops.%loop-value%.poziom.max" get of "plugins/QDrop/drops.yml" parsed as number
			set {_xp} to single value "xp" get of "plugins/QDrop/drops.yml" parsed as number
			loop {_xp} times:
				give 1 xp to player
			if {_d::for::%loop-value%} is "tak":
				set {_f} to level of fortune of the player's tool/50
			else:
				set {_f} to 0
			if {qd::%player%::%loop-value%} is not "NIE":
				if y-coordinate of player is bigger or equal to {_d::pmin::%loop-value%}:
					if y-coordinate of player is less or equal to {_d::pmax::%loop-value%}:
						chance of {_d::sz::%loop-value%} +{_f}:
							set {_i} to random integer between {_d::imin::%loop-value%} and {_d::imax::%loop-value%}
							if player can hold {_i} of {_d::item::%loop-value%}:
								give player {_i} of {_d::item::%loop-value%}
							else:
								if {_d::en::%loop-value%} is "tak":
									if player's ender chest can hold {_i} of {_d::item::%loop-value%}:
										add {_i} of {_d::item::%loop-value%} to player's ender chest
									else:
										drop {_i} of {_d::item::%loop-value%} at event-block
								else:
									drop {_i} of {_d::item::%loop-value%} at event-block
							loop {_d::xp::%loop-value%} times:
								give 1 xp to player 
							if {_d::wiad::%loop-value%} is not "":
								replace all "ILOSC" in {_d::wiad::%loop-value%} with "%{_i}%"
								send "%{_d::wiad::%loop-value%}%"

2. Zapis

	if {diament.%player%.name} is "{@wlaczony}":
		if block's y-coordinate is smaller than {@diament-y}:	
			if player's tool is iron pickaxe or gold pickaxe or diamond pickaxe:			
				chance of {@diament-szansa} + {fortune} + {vip}:
					if player can hold 1 diamond:
						give 1 diamond to player's inventory
						add 1 to {diament.%player%.sztuki}
						set {xp} to random integer between 1 and 5
						add {xp} to {xp.%player%}
						send "&6Udalo ci sie wydobyc: &3diament &f1szt. &8(&b+%{xp}%xp&8)"
	if {zelazo.%player%.name} is "{@wlaczony}":
		if player's tool is iron pickaxe or gold pickaxe or diamond pickaxe:
			if block's y-coordinate is smaller than {@zelazo-y}:
				chance of {@zelazo-szansa}:
					if player can hold 1 iron ingot:
						give 1 iron ingot to player's inventory
						add 1 to {zelazo.%player%.sztuki}
						set {xp} to random integer between 1 and 5
						add {xp} to {xp.%player%}
						send "&6Udalo ci sie wydobyc: &fzelazo 1szt. &8(&b+%{xp}%xp&8)"

1zapis jest w configu. Czy jezeli w configu doda sie zapis diamentow i zelaza to bedzie to dzialalo jak zapis 2. Ktory zapis jest lepszy?

Odnośnik do komentarza
Udostępnij na innych stronach

4 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

@bvcz jezeli w skrypcie jest tak samo jak w pluginie to raczej nie, bo to jest cos typu:

public class Config {
		
	private final Map<String,String> strings = new HashMap<>();
      
	public void init() {
      	strings.put("key","value");
	}
      
	public String getString(String s) {
    	return strings.get(s);
	}
}

wiec jezeli raz zrobi sie init() (zalozmy ze w init jest pelno 'czegos', i to pobiera cos z pliku YAML i tak dalej..), to przy pobieraniu wartosci nie bedzie jakos magicznie obciazalo serwera (jezeli wgl bedzie), bo zaladowanie jest tylko raz, a potem tylko to pobierasz, inaczej byloby jezeli cos caly czas wrzucaloby sie do configu i jeszcze go przeladowywano, wtedy moze byc jedynie lag, w skrocie, pobieranie wartosci z yaml w bukkicie (w plg) to tak samo jakbys zaladowal to tylko raz, np:

private final String someValue;

public SomeString(String someValue) {
	this.someValue = someValue;
}

 i pobieral w ten sposob:

public String getStringValue() {
	return someValue;
}

(anty-goto: moge sie mylic)

Edytowane przez yooniks
Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

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