szymhal | 2018-12-13 19:52:31 UTC | #1
Siemka,
potrzebuje kod do pluginu, który będzie blokował lub usuwał śnieg tworzony przez bałwany.
Pare linijek, wiem że to jest proste, lecz to co ja napisałem nie działa XD
Nie chcę robić tego w Skript, bo to ma być addon do głównego pluginu.
Z góry dzięki.
luxDev | 2017-04-10 18:02:07 UTC | #2
Spróbuj tego
http://luxdev.pl/juyewajojo.java
szymhal | 2017-04-10 18:33:57 UTC | #3
Nie działa, snowman pozostawia za sobą snieg.
@EDIT:
Kod:
package pl.SzymoonPL;
import org.bukkit.Material;
import org.bukkit.entity.Snowman;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.EntityBlockFormEvent;
import org.bukkit.plugin.java.JavaPlugin;public class Main extends JavaPlugin{
@Override
public void onEnable(){
System.out.println(“[S-AntySnow] Plugin zostal wlaczony.”);
}@Override
public void onDisable(){
System.out.println(“[S-AntySnow] Plugin zostal wylaczony.”);
}@EventHandler
public void snow(EntityBlockFormEvent e){
if(e.getEntity() instanceof Snowman){
if(e.getNewState().getType() == Material.SNOW){
e.setCancelled(true);
}
}
}}
luxDev | 2017-04-10 18:36:15 UTC | #4
A czemu klasa nie rozszerza Listener? :) i w onEnable registerEvents?
szymhal | 2017-04-10 18:37:37 UTC | #5
listener jest potrzebny?
luxDev | 2017-04-10 18:38:26 UTC | #6
implements Listener
i w onEnable
this.getServer().getPluginManager().registerEvents(this, this);
tl;dl
tak musi
DBanaszewski | 2017-04-10 18:40:32 UTC | #7
Tak, musi być ;)
public class Main extends JavaPlugin implemets Listener
I w onEnable(): Bukkit.getPluginManager().registerEvents(this, this)
- jeżeli robisz to w głównej klasie ;)
szymhal | 2017-04-10 18:42:37 UTC | #8
package pl.SzymoonPL;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Snowman;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.EntityBlockFormEvent;
import org.bukkit.plugin.java.JavaPlugin;public class Main extends JavaPlugin implements Listener{
@Override
public void onEnable(){
Bukkit.getPluginManager().registerEvents(this, this);
System.out.println(“[S-AntySnow] Plugin zostal wlaczony.”);
}@Override
public void onDisable(){
System.out.println(“[S-AntySnow] Plugin zostal wylaczony.”);
}@EventHandler
public void snow(EntityBlockFormEvent e){
if(e.getEntity() instanceof Snowman){
if(e.getNewState().getType() == Material.SNOW){
e.setCancelled(true);
}
}
}}
Pewnie coś źle zrobiłem, bo nie dziala xd
szymhal | 2017-04-11 16:54:33 UTC | #9
Podbijam temat.
luxDev | 2017-04-11 17:38:21 UTC | #10
Okej więc, nie jest to możliwe do zablokowania przez event, w sensie setCancelled zadziała tylko w ten sposób że serwer o tym będzie wiedzieć ale, client będzie dalej widział ten śnieg.
Task który usuwa śnieg? nw