McWizzardDev
Kuhfänger
Guten Tag,
ich mache gerade für mein Plugin einen MapReset, aber die Welt resetet nach einem Reload nicht, woran liegt das
MapReset:
MainKlasse:
Würde mich freuen, wenn jemand mir sagen kann, was ich falsch gemacht habe
ich mache gerade für mein Plugin einen MapReset, aber die Welt resetet nach einem Reload nicht, woran liegt das
MapReset:
Code:
package labyrinth;
import java.util.LinkedList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.EntityExplodeEvent;
@SuppressWarnings("deprecation")
public class MapReset implements Listener{
private static List<String> chances = new LinkedList<String>();
public static void restore() {
int blocks = 0;
for(String b : chances) {
String[] blockdata = b.split(":");
int id = Integer.parseInt(blockdata[0]);
byte data = Byte.parseByte(blockdata[1]);
World world = Bukkit.getWorld(blockdata[2]);
int x = Integer.parseInt(blockdata[3]);
int y = Integer.parseInt(blockdata[4]);
int z = Integer.parseInt(blockdata[5]);
world.getBlockAt(x, y, z).setTypeId(id);
world.getBlockAt(x, y, z).setData(data);
blocks++;
}
System.out.println("[Labyrinth] Die Map wurde resetet " + blocks);
}
@EventHandler
public void onBreak(BlockBreakEvent e) {
Block b = e.getBlock();
String block = b.getTypeId() + ":" + b.getData() + b.getWorld().getName() + ":" + b.getX() + ":" + b.getY() + ":" + b.getZ();
chances.add(block);
}
public void onPlace(BlockPlaceEvent e) {
Block b = e.getBlock();
String block = b.getTypeId() + ":" + b.getData() + b.getWorld().getName() + ":" + b.getX() + ":" + b.getY() + ":" + b.getZ();
chances.add(block);
}
public void onEntetyExploed(EntityExplodeEvent e) {
for(int i = 0; i < e.blockList().size(); i++) {
Block b = e.blockList().get(i);
String block = b.getTypeId() + ":" + b.getData() + b.getWorld().getName() + ":" + b.getX() + ":" + b.getY() + ":" + b.getZ();
chances.add(block);
}
}
}
MainKlasse:
Code:
package labyrinth;
import java.io.File;
import java.util.ArrayList;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin{
public File file = new File("plugins/Labyrinth", "save.yml");
public FileConfiguration cfg = YamlConfiguration.loadConfiguration(this.file);
public String prefix = "§7[§3Labyrinth§7] ";
public ArrayList<String> game = new ArrayList<>();
public ArrayList<String> green = new ArrayList<>();
public ArrayList<String> red = new ArrayList<>();
public ArrayList<String> yellow = new ArrayList<>();
public ArrayList<String> blue = new ArrayList<>();
public ArrayList<String> lobby = new ArrayList<>();
public void onEnable() {
System.out.println("[Minigame] Das Minigame wurde aktiviert");
registerClasses();
registerEvents();
}
private void registerEvents() {
PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(new MapReset(), this);
}
@Override
public void onDisable() {
System.out.println("[Labyrinth] Plugin deaktiviert");
MapReset.restore();
}
private void registerClasses() {
this.getCommand("labyrinth").setExecutor(new Commands(this));
new JoinListener(this);
new TeamGui(this);
new Teams(this);
}
}
Würde mich freuen, wenn jemand mir sagen kann, was ich falsch gemacht habe