mirror of
https://github.com/DRE2N/DungeonsXL.git
synced 2024-11-24 19:45:43 +01:00
Sign-Copy/Block-Info Tool
This commit is contained in:
parent
021026febd
commit
3d8dceec87
@ -9,6 +9,9 @@ import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Sign;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.event.block.SignChangeEvent;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.EntityType;
|
||||
@ -48,6 +51,7 @@ public class DPlayer {
|
||||
public long offlineTime;
|
||||
public ItemStack[] respawnInventory;
|
||||
public ItemStack[] respawnArmor;
|
||||
public String[] linesCopy;
|
||||
|
||||
public Inventory treasureInv = P.p.getServer().createInventory(player, 45, "Belohnungen");
|
||||
|
||||
@ -265,6 +269,35 @@ public class DPlayer {
|
||||
}
|
||||
}
|
||||
|
||||
public void poke(Block block) {
|
||||
if (block.getState() instanceof Sign) {
|
||||
Sign sign = (Sign) block.getState();
|
||||
String[] lines = sign.getLines();
|
||||
if (lines[0].equals("") && lines[1].equals("") && lines[2].equals("") && lines[3].equals("")) {
|
||||
if (linesCopy != null) {
|
||||
SignChangeEvent event = new SignChangeEvent(block, player, linesCopy);
|
||||
p.getServer().getPluginManager().callEvent(event);
|
||||
if (!event.isCancelled()) {
|
||||
sign.setLine(0, event.getLine(0));
|
||||
sign.setLine(1, event.getLine(1));
|
||||
sign.setLine(2, event.getLine(2));
|
||||
sign.setLine(3, event.getLine(3));
|
||||
sign.update();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
linesCopy = lines;
|
||||
p.msg(player, p.language.get("Player_SignCopied"));
|
||||
}
|
||||
} else {
|
||||
String info = "" + block.getTypeId();
|
||||
if (block.getData() != 0) {
|
||||
info = info + "," + block.getData();
|
||||
}
|
||||
p.msg(player, p.language.get("Player_BlockInfo", info));
|
||||
}
|
||||
}
|
||||
|
||||
public void setClass(String classname) {
|
||||
GameWorld gworld = GameWorld.get(this.player.getWorld());
|
||||
if (gworld == null)
|
||||
|
@ -62,6 +62,8 @@ public class LanguageReader {
|
||||
defaults.put("Player_PortalProgress", "&6Erster Block gewählt, nun der zweite!");
|
||||
defaults.put("Player_PortalCreated", "&6Portal erstellt!");
|
||||
defaults.put("Player_SignCreated", "&6Schild erstellt!");
|
||||
defaults.put("Player_SignCopied", "&6Kopiert!");
|
||||
defaults.put("Player_BlockInfo", "&6Block-ID: &2&v1");
|
||||
|
||||
/* Cmds */
|
||||
defaults.put("Cmd_Chat_DungeonChat", "&6Du bist nun im Dungeon-Chat");
|
||||
|
@ -91,6 +91,19 @@ public class PlayerListener implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Copy/Paste a Sign and Block-info
|
||||
if (EditWorld.get(player.getWorld()) != null) {
|
||||
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
||||
if (event.getItem().getType() == Material.STICK) {
|
||||
DPlayer dplayer = DPlayer.get(player);
|
||||
if (dplayer != null) {
|
||||
dplayer.poke(clickedBlock);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check Signs
|
||||
|
Loading…
Reference in New Issue
Block a user