Implementing AutoLoader 1.15
Dieser Commit ist enthalten in:
Ursprung
64fdf9bf16
Commit
7beb95e705
@ -1,26 +1,73 @@
|
|||||||
package de.steamwar.bausystem.world;
|
package de.steamwar.bausystem.world;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.block.data.BlockData;
|
||||||
|
import org.bukkit.block.data.Powerable;
|
||||||
|
import org.bukkit.event.block.Action;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
|
||||||
class AutoLoader_15 {
|
import java.util.logging.Level;
|
||||||
private AutoLoader_15(){}
|
|
||||||
|
|
||||||
static boolean tntPlaceActionPerform(Location location){
|
class AutoLoader_15 {
|
||||||
|
private AutoLoader_15() {
|
||||||
|
}
|
||||||
|
|
||||||
|
static boolean tntPlaceActionPerform(Location location) {
|
||||||
Material m = location.getBlock().getType();
|
Material m = location.getBlock().getType();
|
||||||
if(m != Material.AIR && m != Material.WATER)
|
if (m != Material.AIR && m != Material.WATER)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
location.getBlock().setType(Material.TNT);
|
location.getBlock().setType(Material.TNT);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static boolean setRedstone(Location location, boolean active){
|
static boolean setRedstone(Location location, boolean active) {
|
||||||
|
Block block = location.getBlock();
|
||||||
|
BlockData data = block.getBlockData();
|
||||||
|
if (!(data instanceof Powerable))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
Powerable powerable = (Powerable) data;
|
||||||
|
powerable.setPowered(active);
|
||||||
|
block.getState().update(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void onPlayerInteract(IAutoLoader loader, PlayerInteractEvent event){
|
static void onPlayerInteract(IAutoLoader loader, PlayerInteractEvent event) {
|
||||||
loader.print("§cDer AutoLoader ist in der 1.14 noch nicht fertig implementiert", false);
|
if (event.getAction() != Action.RIGHT_CLICK_BLOCK && event.getAction() != Action.PHYSICAL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Block block = event.getClickedBlock();
|
||||||
|
assert block != null;
|
||||||
|
BlockData data = block.getBlockData();
|
||||||
|
if (!(data instanceof Powerable))
|
||||||
|
return;
|
||||||
|
Powerable powerable = (Powerable) data;
|
||||||
|
Material material = block.getType();
|
||||||
|
|
||||||
|
if (material == Material.LEVER) {
|
||||||
|
if (powerable.isPowered()) {
|
||||||
|
new IAutoLoader.RedstoneActivation(loader, block.getLocation(), loader.getLastActivation(), false);
|
||||||
|
loader.print("§eHebel zurückgesetzt", true);
|
||||||
|
} else {
|
||||||
|
new IAutoLoader.RedstoneActivation(loader, block.getLocation(), 1, true);
|
||||||
|
loader.print("§eHebel betätigt", true);
|
||||||
|
}
|
||||||
|
} else if (material == Material.STONE_BUTTON) {
|
||||||
|
new IAutoLoader.TemporaryActivation(loader, block.getLocation(), 20);
|
||||||
|
loader.print("§eKnopf betätigt", true);
|
||||||
|
} else if (material.name().contains("PRESSURE_PLATE")){
|
||||||
|
new IAutoLoader.TemporaryActivation(loader, block.getLocation(), 20);
|
||||||
|
loader.print("§eDruckplatte betätigt", true);
|
||||||
|
} else if (material.name().contains("BUTTON")) {
|
||||||
|
new IAutoLoader.TemporaryActivation(loader, block.getLocation(), 30);
|
||||||
|
loader.print("§eKnopf betätigt", true);
|
||||||
|
} else {
|
||||||
|
loader.print("§eUnbekannter Block betätigt (nicht aufgenommen)", false);
|
||||||
|
Bukkit.getLogger().log(Level.SEVERE, material.name());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
package de.steamwar.bausystem.commands;
|
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
|
||||||
import de.steamwar.bausystem.Permission;
|
|
||||||
import de.steamwar.bausystem.world.Welt;
|
|
||||||
import org.bukkit.command.Command;
|
|
||||||
import org.bukkit.command.CommandExecutor;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
public class CommandSlow implements CommandExecutor {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
|
||||||
if(!(sender instanceof Player))
|
|
||||||
return false;
|
|
||||||
Player player = (Player) sender;
|
|
||||||
|
|
||||||
if(args.length == 0){
|
|
||||||
player.sendMessage(BauSystem.PREFIX + "§8/§7slow §8[§eTPS§8]");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(Welt.noPermission(player, Permission.world)){
|
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cDu darst hier die Geschwindigkeit nicht verstellen");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
float tps;
|
|
||||||
try{
|
|
||||||
tps = Float.parseFloat(args[0]);
|
|
||||||
}catch(NumberFormatException e){
|
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cDu solltest eine Zahl angeben...");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(tps > 20){
|
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cTut mir leid, aber das ist nicht möglich (TPS > 20)");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(tps == 20){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
In neuem Issue referenzieren
Einen Benutzer sperren