Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.samistine.samistinesignfix;
- import java.util.Arrays;
- import java.util.logging.Level;
- import org.bukkit.block.Block;
- import org.bukkit.block.BlockState;
- import org.bukkit.block.Sign;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.SignChangeEvent;
- import org.bukkit.event.world.ChunkLoadEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- public class SamistineSignFix extends JavaPlugin implements Listener {
- @Override
- public void onEnable() {
- getServer().getPluginManager().registerEvents(this, this);
- }
- @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
- public void onChunkLoad(ChunkLoadEvent e) {
- for (BlockState state : e.getChunk().getTileEntities()){
- if (state instanceof Sign) {
- final Sign sign = (Sign) state;
- if (sign.getLines().length() > 100) {
- getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
- public void run() {
- editSign(sign);
- }
- });
- }
- }
- }
- }
- @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
- public void onSignChangeEvent(SignChangeEvent e) {
- if (e.getLines() > 100) {
- e.setCancelled(true);
- Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
- @Override
- public void run() {
- editSign((Sign) e.getBlock().getState());
- }
- });
- }
- }
- public void editSign(final Sign sign) {
- if (sign != null && sign.getChunk().isLoaded()) {
- getLogger().log(Level.WARNING, "Invalid signs at {0} :", sign.getLocation().toString());
- sign.setLine(0, "YOU CAN'T DO THAT");
- sign.setLine(1, "Protected By");
- sign.setLine(2, "SamistineSignFix");
- sign.setLine(3, "Have a nice day");
- sign.update();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment