Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Tworzenie pluginów.


sensus12

Rekomendowane odpowiedzi

Opublikowano

@@@UWAGA:

 

Zamiast tworzyć nowe tematy, poradniki będę dodawał do tego tematu.

 

Cześć, to nowy poradnik o tworzeniu pluginów!

 

Okej w tym poradniku nauczę was jak zrobić ("zespawnować") jakąś dowolną rzecz gdy gracz zginie, (mało przydatne).

 

Okej więc z ostatniego kawałku kodu poradnika (tj:

public void onBlockPlaveEvent(BlockPlaceEvent event){
if(!event.getPlayer().hasPermission("block.place")){
event.setCancelled(true);
}
}
@EventHandler
public void onBlockBreak(BlockBreakEvent event)
{
if(!event.getPlayer().hasPermission("block.break")){
event.setCancelled(true);
}
}

zmieńmy na:

public void onPlayerDeath(EntityDeathEvent event){
Entity e = event.getEntity();
Location loc = e.getLocation();
World world = e.getWorld();
Location locs = new Location(world, loc.getX(), loc.getY(), loc.getZ());
if (e instanceof Player){
@SuppressWarnings("unused")
Player player = (Player) e;
 locs.getBlock().setType(Material.SIGN_POST);

}

}

Czyli Entity, hmm można to przetłumaczyć jako "istota", "jednostka".

Entity e = event.getEntity(); << łatwiejszy zapis (przyda się w dalej części kodu).

Location loc = e.getLocation(); << krótszy zapis (zamiasr e.getLocation(); będziemy używać "loc").

World world = e.getWorld(); << (tak jak wyżej tylko tym razem ze światem).

Location locs = new Location(world, loc.getX(), loc.getY(), loc.getZ()); << przyda się w dalszej części kodu.

if (e instanceof Player) << czyli jeżeli ta jednostka to gracz (nie chcemy żeby się coś spawnowało na śmierć np zombie).

locs.getBlock().setType(Material.SIGN_POST); << w miejscu śmierci gracza tworzy tabliczkę (można to zmienić).

 

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

POTIONEFFECTS

 

Cześć w kolejnej części poradnika chciałbym wam powiedzieć o potionefffects (na prośbę Japven).

Okej więc z naszego poprzedniego kodu usuńmy to co robiliśmy w poprzedniej części (tj:

[/center]


[center]@EventHandler
public void onPlayerDeath(EntityDeathEvent event){
Entity e = event.getEntity();
Location loc = e.getLocation();
World world = e.getWorld();
Location locs = new Location(world, loc.getX(), loc.getY(), loc.getZ());
if (e instanceof Player){
@SuppressWarnings("unused")
Player player = (Player) e;
 locs.getBlock().setType(Material.SIGN_POST);

}

}

I zróbmy komendę (ma to wyglądać tak:

[/center]


[center]@Override
public boolean onCommand(CommandSender sender, Command command, String commandLabel,String[] args) {
Player player = (Player) sender;
if(commandLabel.equalsIgnoreCase("potion")){

}

return false;
}[/center]


[center]

)

Teraz nasz potion effect, czyli robimy tak:

[/center]


[center]player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 500, 1)); [/center]


[center]

Okej w ten sposób dodajemy efekt potiona typu BLINDESS.

Te 500 to czas (w tikach) trwania. 20 tików = 1 sek

Te 1 to moc, zazwyczaj jest 1.

Okej i nasz plugin.yml:

[/center]


[center]name: Potioneffects
main: me.sensus.PluginDlaMPC.PluginDlaMPC
description: Do szczescia
version: 0.1
commands:
potion:
 description: do szczescia
[/center]


[center]

Jak by nie działało to pisać bo nie sprawdzałem tego.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

SPAWNMOBS

Siemka, w tej części poradnika chciałbym wam przedstawić jak spawnować moby.

Okej więc na początek zmieńmy naszą komendę na np. zombie:

if(commandLabel.equalsIgnoreCase("zombie")){

}

Teraz dodajmy po Player player = (Player) sender; takie coś:

Location locs = player.getLocation();

i w naszym komendzie robimy tak: (pomiędzy tymi nawiasami {})

[/center]


[center]player.getWorld().spawnEntity(locs, EntityType.ZOMBIE);[/center]


[center]

Czyli będzie to spawnowało zombie na lokalizacji gracza który użył komendy. Możemy oczywiście dodać do tego uprawnienia czyli robimy tak:

w

if(commandLabel.equalsIgnoreCase("zombie"))

w tym dodajemy:

 && player.hasPermission("twoje.pex)

Czyli wygląda to tak:

if(commandLabel.equalsIgnoreCase("zombie") && player.hasPermission("twoje.pex") 

I w naszym plugin yml musimy poprostu zmienić komendę

:)

 

 

Okej to by było na tyle. Bye (JAK SIĘ PODOBAŁO LAJKUJ!).

<>

Opublikowano

Czyli jednak wróciłeś do tego fachu. :P Fajnie, ale nadal sądzę, że lepszym rozwiązaniem byłby kod na screenach.

Moja mała propozycja, zrób jakiś poradnik typu, jak dodać różne efekty, np. smoke, albo hearts. :)

Opublikowano

Jak możesz opisz tu wszystko od zera aby czytać 1 temat a nie błąkać się po kilku tematach :P

 

http://o.aolcdn.com/hss/storage/midas/dbb2fba7a1724ff9f49593989439ae90/203012134/rih.gif

Opublikowano

Jak możesz opisz tu wszystko od zera aby czytać 1 temat a nie błąkać się po kilku tematach :P

 

W mojej sygnie jest 1 temat, tam jest dużo tego, nie chce mi się robić tego znowu.

 

Czyli jednak wróciłeś do tego fachu. :P Fajnie, ale nadal sądzę, że lepszym rozwiązaniem byłby kod na screenach.

Moja mała propozycja, zrób jakiś poradnik typu, jak dodać różne efekty, np. smoke, albo hearts. :)

Okej, za niedługo się pojawi.

<>

Opublikowano

Tworzenie pluginu już było

http://www.mpcforum.pl/topic/416438-poradnik-jak-napisac-wtyczke-plugin-do-craftbukkita-125-i-wyzej/

Niech modzi zdecydują co z tym robić.

MPC Hejter Team Leader

  • 3 tygodnie później...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...