mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
More fix
This commit is contained in:
parent
5ab2bae5d7
commit
ed9ddc0825
@ -1,14 +1,11 @@
|
||||
package com.volmit.iris;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
@ -22,26 +19,17 @@ import com.volmit.iris.gen.post.PostPotholeFiller;
|
||||
import com.volmit.iris.gen.post.PostSlabber;
|
||||
import com.volmit.iris.gen.post.PostWallPatcher;
|
||||
import com.volmit.iris.gen.post.PostWaterlogger;
|
||||
import com.volmit.iris.noise.CNG;
|
||||
import com.volmit.iris.object.IrisBiome;
|
||||
import com.volmit.iris.util.BiomeResult;
|
||||
import com.volmit.iris.util.BoardManager;
|
||||
import com.volmit.iris.util.BoardProvider;
|
||||
import com.volmit.iris.util.BoardSettings;
|
||||
import com.volmit.iris.util.ChronoLatch;
|
||||
import com.volmit.iris.util.Form;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.GroupedExecutor;
|
||||
import com.volmit.iris.util.IO;
|
||||
import com.volmit.iris.util.IrisLock;
|
||||
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||
import com.volmit.iris.util.IrisStructureResult;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.MortarPlugin;
|
||||
import com.volmit.iris.util.Permission;
|
||||
import com.volmit.iris.util.RollingSequence;
|
||||
import com.volmit.iris.util.ScoreDirection;
|
||||
|
||||
public class Iris extends MortarPlugin implements BoardProvider
|
||||
public class Iris extends MortarPlugin
|
||||
{
|
||||
public static KList<GroupedExecutor> executors = new KList<>();
|
||||
public static Iris instance;
|
||||
@ -50,13 +38,8 @@ public class Iris extends MortarPlugin implements BoardProvider
|
||||
public static IrisHotloadManager hotloader;
|
||||
public static WandManager wand;
|
||||
public static StructureManager struct;
|
||||
public static IrisBoardManager board;
|
||||
private BoardManager manager;
|
||||
private String mem = "...";
|
||||
private ChronoLatch cl = new ChronoLatch(1000);
|
||||
private ChronoLatch clf = new ChronoLatch(1000);
|
||||
private KList<String> lines = new KList<>();
|
||||
public RollingSequence hits = new RollingSequence(20);
|
||||
public RollingSequence tp = new RollingSequence(100);
|
||||
private static IrisLock lock = new IrisLock("Iris");
|
||||
|
||||
@Permission
|
||||
@ -85,7 +68,7 @@ public class Iris extends MortarPlugin implements BoardProvider
|
||||
@Override
|
||||
public String getTag(String subTag)
|
||||
{
|
||||
return ChatColor.BOLD + "" + ChatColor.DARK_GRAY + "[" + ChatColor.BOLD + "" + ChatColor.GREEN + "Iris" + ChatColor.BOLD + ChatColor.DARK_GRAY + "]" + ChatColor.RESET + "" + ChatColor.GRAY + ": ";
|
||||
return C.BOLD + "" + C.DARK_GRAY + "[" + C.BOLD + "" + C.GREEN + "Iris" + C.BOLD + C.DARK_GRAY + "]" + C.RESET + "" + C.GRAY + ": ";
|
||||
}
|
||||
|
||||
public void onEnable()
|
||||
@ -97,7 +80,7 @@ public class Iris extends MortarPlugin implements BoardProvider
|
||||
wand = new WandManager();
|
||||
struct = new StructureManager();
|
||||
proj = new ProjectManager();
|
||||
manager = new BoardManager(this, BoardSettings.builder().boardProvider(this).scoreDirection(ScoreDirection.UP).build());
|
||||
board = new IrisBoardManager();
|
||||
super.onEnable();
|
||||
}
|
||||
|
||||
@ -124,72 +107,6 @@ public class Iris extends MortarPlugin implements BoardProvider
|
||||
super.onDisable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTitle(Player player)
|
||||
{
|
||||
return ChatColor.GREEN + "Iris";
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getLines(Player player)
|
||||
{
|
||||
if(!clf.flip())
|
||||
{
|
||||
return lines;
|
||||
}
|
||||
|
||||
World world = player.getWorld();
|
||||
lines.clear();
|
||||
|
||||
if(world.getGenerator() instanceof IrisChunkGenerator)
|
||||
{
|
||||
IrisChunkGenerator g = (IrisChunkGenerator) world.getGenerator();
|
||||
|
||||
if(cl.flip())
|
||||
{
|
||||
mem = Form.memSize(g.guessMemoryUsage(), 2);
|
||||
}
|
||||
|
||||
int x = player.getLocation().getBlockX();
|
||||
int y = player.getLocation().getBlockY();
|
||||
int z = player.getLocation().getBlockZ();
|
||||
BiomeResult er = g.sampleTrueBiome(x, y, z);
|
||||
IrisBiome b = er != null ? er.getBiome() : null;
|
||||
IrisStructureResult st = g.getStructure(x, y, z);
|
||||
|
||||
tp.put(g.getMetrics().getSpeed());
|
||||
lines.add("&7&m-----------------");
|
||||
lines.add(ChatColor.GREEN + "Speed" + ChatColor.GRAY + ": " + ChatColor.BOLD + "" + ChatColor.GRAY + Form.f(g.getMetrics().getPerSecond().getAverage(), 0) + "/s " + Form.duration(g.getMetrics().getTotal().getAverage(), 1) + "");
|
||||
lines.add(ChatColor.GREEN + "Generators" + ChatColor.GRAY + ": " + Form.f(CNG.creates));
|
||||
lines.add(ChatColor.GREEN + "Noise" + ChatColor.GRAY + ": " + Form.f((int) hits.getAverage()));
|
||||
lines.add(ChatColor.GREEN + "Parallax Chunks" + ChatColor.GRAY + ": " + Form.f((int) g.getParallaxMap().getLoadedChunks().size()));
|
||||
lines.add(ChatColor.GREEN + "Objects" + ChatColor.GRAY + ": " + Form.f(g.getData().getObjectLoader().count()));
|
||||
lines.add(ChatColor.GREEN + "Memory" + ChatColor.GRAY + ": " + mem);
|
||||
lines.add(ChatColor.GREEN + "Heightmap" + ChatColor.GRAY + ": " + (int) g.getTerrainHeight(x, z));
|
||||
|
||||
if(er != null && b != null)
|
||||
{
|
||||
lines.add(ChatColor.GREEN + "Biome" + ChatColor.GRAY + ": " + b.getName());
|
||||
lines.add(ChatColor.GREEN + "File" + ChatColor.GRAY + ": " + b.getLoadKey());
|
||||
}
|
||||
|
||||
if(st != null)
|
||||
{
|
||||
lines.add(ChatColor.GREEN + "Structure" + ChatColor.GRAY + ": " + st.getStructure().getName());
|
||||
lines.add(ChatColor.GREEN + "Tile" + ChatColor.GRAY + ": " + st.getTile().toString());
|
||||
}
|
||||
|
||||
lines.add("&7&m-----------------");
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
lines.add(ChatColor.GREEN + "Join an Iris World!");
|
||||
}
|
||||
|
||||
return lines;
|
||||
}
|
||||
|
||||
public static KList<Class<? extends IrisPostBlockFilter>> loadPostProcessors()
|
||||
{
|
||||
KList<Class<? extends IrisPostBlockFilter>> g = new KList<Class<? extends IrisPostBlockFilter>>();
|
||||
@ -212,7 +129,7 @@ public class Iris extends MortarPlugin implements BoardProvider
|
||||
|
||||
public void imsg(CommandSender s, String msg)
|
||||
{
|
||||
s.sendMessage(ChatColor.GREEN + "[" + ChatColor.DARK_GRAY + "Iris" + ChatColor.GREEN + "]" + ChatColor.GRAY + ": " + msg);
|
||||
s.sendMessage(C.GREEN + "[" + C.DARK_GRAY + "Iris" + C.GREEN + "]" + C.GRAY + ": " + msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -224,38 +141,38 @@ public class Iris extends MortarPlugin implements BoardProvider
|
||||
public static void msg(String string)
|
||||
{
|
||||
lock.lock();
|
||||
String msg = ChatColor.GREEN + "[Iris]: " + ChatColor.GRAY + string;
|
||||
String msg = C.GREEN + "[Iris]: " + C.GRAY + string;
|
||||
Bukkit.getConsoleSender().sendMessage(msg);
|
||||
lock.unlock();
|
||||
}
|
||||
|
||||
public static void warn(String string)
|
||||
{
|
||||
msg(ChatColor.YELLOW + string);
|
||||
msg(C.YELLOW + string);
|
||||
}
|
||||
|
||||
public static void error(String string)
|
||||
{
|
||||
msg(ChatColor.RED + string);
|
||||
msg(C.RED + string);
|
||||
}
|
||||
|
||||
public static void verbose(String string)
|
||||
{
|
||||
msg(ChatColor.GRAY + string);
|
||||
msg(C.GRAY + string);
|
||||
}
|
||||
|
||||
public static void success(String string)
|
||||
{
|
||||
msg(ChatColor.GREEN + string);
|
||||
msg(C.GREEN + string);
|
||||
}
|
||||
|
||||
public static void info(String string)
|
||||
{
|
||||
msg(ChatColor.WHITE + string);
|
||||
msg(C.WHITE + string);
|
||||
}
|
||||
|
||||
public void hit(long hits2)
|
||||
{
|
||||
hits.put(hits2);
|
||||
board.hits.put(hits2);
|
||||
}
|
||||
}
|
||||
|
117
src/main/java/com/volmit/iris/IrisBoardManager.java
Normal file
117
src/main/java/com/volmit/iris/IrisBoardManager.java
Normal file
@ -0,0 +1,117 @@
|
||||
package com.volmit.iris;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||
|
||||
import com.volmit.iris.gen.IrisChunkGenerator;
|
||||
import com.volmit.iris.noise.CNG;
|
||||
import com.volmit.iris.object.IrisBiome;
|
||||
import com.volmit.iris.util.BiomeResult;
|
||||
import com.volmit.iris.util.BoardManager;
|
||||
import com.volmit.iris.util.BoardProvider;
|
||||
import com.volmit.iris.util.BoardSettings;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.ChronoLatch;
|
||||
import com.volmit.iris.util.Form;
|
||||
import com.volmit.iris.util.IrisStructureResult;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.RollingSequence;
|
||||
import com.volmit.iris.util.ScoreDirection;
|
||||
|
||||
public class IrisBoardManager implements BoardProvider, Listener
|
||||
{
|
||||
private BoardManager manager;
|
||||
private String mem = "...";
|
||||
public RollingSequence hits = new RollingSequence(20);
|
||||
public RollingSequence tp = new RollingSequence(100);
|
||||
private ChronoLatch cl = new ChronoLatch(1000);
|
||||
|
||||
public IrisBoardManager()
|
||||
{
|
||||
Iris.instance.registerListener(this);
|
||||
//@builder
|
||||
manager = new BoardManager(Iris.instance, BoardSettings.builder()
|
||||
.boardProvider(this)
|
||||
.scoreDirection(ScoreDirection.DOWN)
|
||||
.build());
|
||||
//@done
|
||||
}
|
||||
|
||||
private boolean isIrisWorld(World w)
|
||||
{
|
||||
return (w.getGenerator() instanceof IrisChunkGenerator) && ((IrisChunkGenerator) w.getGenerator()).isDev();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void on(PlayerChangedWorldEvent e)
|
||||
{
|
||||
if(isIrisWorld(e.getPlayer().getWorld()))
|
||||
{
|
||||
manager.remove(e.getPlayer());
|
||||
manager.setup(e.getPlayer());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTitle(Player player)
|
||||
{
|
||||
return C.GREEN + "Iris";
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getLines(Player player)
|
||||
{
|
||||
KList<String> v = new KList<>();
|
||||
|
||||
if(!isIrisWorld(player.getWorld()))
|
||||
{
|
||||
return v;
|
||||
}
|
||||
|
||||
IrisChunkGenerator g = (IrisChunkGenerator) player.getWorld().getGenerator();
|
||||
|
||||
if(cl.flip())
|
||||
{
|
||||
mem = Form.memSize(g.guessMemoryUsage(), 2);
|
||||
}
|
||||
|
||||
int x = player.getLocation().getBlockX();
|
||||
int y = player.getLocation().getBlockY();
|
||||
int z = player.getLocation().getBlockZ();
|
||||
BiomeResult er = g.sampleTrueBiome(x, y, z);
|
||||
IrisBiome b = er != null ? er.getBiome() : null;
|
||||
IrisStructureResult st = g.getStructure(x, y, z);
|
||||
|
||||
tp.put(g.getMetrics().getSpeed());
|
||||
v.add("&7&m------------------");
|
||||
v.add(C.GREEN + "Speed" + C.GRAY + ": " + C.BOLD + "" + C.GRAY + Form.f(g.getMetrics().getPerSecond().getAverage(), 0) + "/s " + Form.duration(g.getMetrics().getTotal().getAverage(), 1) + "");
|
||||
v.add(C.GREEN + "Generators" + C.GRAY + ": " + Form.f(CNG.creates));
|
||||
v.add(C.GREEN + "Noise" + C.GRAY + ": " + Form.f((int) hits.getAverage()));
|
||||
v.add(C.GREEN + "Parallax" + C.GRAY + ": " + Form.f((int) g.getParallaxMap().getLoadedChunks().size()));
|
||||
v.add(C.GREEN + "Objects" + C.GRAY + ": " + Form.f(g.getData().getObjectLoader().count()));
|
||||
v.add(C.GREEN + "Memory" + C.GRAY + ": " + mem);
|
||||
v.add("&7&m------------------");
|
||||
v.add(C.GREEN + "Heightmap" + C.GRAY + ": " + (int) g.getTerrainHeight(x, z));
|
||||
|
||||
if(er != null && b != null)
|
||||
{
|
||||
v.add(C.GREEN + "Biome" + C.GRAY + ": " + b.getName());
|
||||
}
|
||||
|
||||
if(st != null)
|
||||
{
|
||||
v.add(C.GREEN + "Structure" + C.GRAY + ": " + st.getStructure().getName());
|
||||
v.add(C.GREEN + "Tile" + C.GRAY + ": " + st.getTile().toString());
|
||||
}
|
||||
|
||||
v.add("&7&m------------------");
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
}
|
@ -28,6 +28,6 @@ public class IrisMetrics
|
||||
|
||||
public double getSpeed()
|
||||
{
|
||||
return (double) Iris.instance.hits.getAverage() / (double) total.getAverage();
|
||||
return (double) Iris.board.hits.getAverage() / (double) total.getAverage();
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,10 @@ public class IrisSettings
|
||||
@Desc("Allows configs to be changed and hotloaded without reloading.")
|
||||
public boolean hotloading = true;
|
||||
|
||||
@DontObfuscate
|
||||
@Desc("When using studio open or create, open the codeworkspace automatically.")
|
||||
public boolean openVSCode = true;
|
||||
|
||||
public static IrisSettings get()
|
||||
{
|
||||
if(settings == null)
|
||||
|
@ -116,7 +116,12 @@ public class ProjectManager
|
||||
updateWorkspace(i);
|
||||
sender.sendMessage("Workspace Updated");
|
||||
});
|
||||
|
||||
if(IrisSettings.get().openVSCode)
|
||||
{
|
||||
Desktop.getDesktop().open(i);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import java.awt.Color;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Particle;
|
||||
@ -24,6 +23,7 @@ import org.bukkit.util.BlockVector;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import com.volmit.iris.object.IrisObject;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.Cuboid;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.M;
|
||||
@ -268,7 +268,7 @@ public class WandManager implements Listener
|
||||
ItemStack is = new ItemStack(Material.BLAZE_ROD);
|
||||
is.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, 1);
|
||||
ItemMeta im = is.getItemMeta();
|
||||
im.setDisplayName(ChatColor.BOLD + "" + ChatColor.GOLD + "Wand of Iris");
|
||||
im.setDisplayName(C.BOLD + "" + C.GOLD + "Wand of Iris");
|
||||
im.setUnbreakable(true);
|
||||
im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_PLACED_ON, ItemFlag.HIDE_POTION_EFFECTS, ItemFlag.HIDE_DESTROYS, ItemFlag.HIDE_ENCHANTS);
|
||||
im.setLore(new KList<String>().add(locationToString(a), locationToString(b)));
|
||||
|
@ -10,9 +10,6 @@ public class CommandIris extends MortarCommand
|
||||
@Command
|
||||
private CommandIrisStudio studio;
|
||||
|
||||
@Command
|
||||
private CommandIrisWorld world;
|
||||
|
||||
@Command
|
||||
private CommandIrisWhat what;
|
||||
|
||||
|
@ -0,0 +1,56 @@
|
||||
package com.volmit.iris.command;
|
||||
|
||||
import java.awt.Desktop;
|
||||
import java.io.File;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisEditBiome extends MortarCommand
|
||||
{
|
||||
public CommandIrisEditBiome()
|
||||
{
|
||||
super("editbiome", "ebiome", "eb");
|
||||
setDescription("Open this biome file in vscode");
|
||||
requiresPermission(Iris.perm.studio);
|
||||
setCategory("Studio");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handle(MortarSender sender, String[] args)
|
||||
{
|
||||
if(sender.isPlayer())
|
||||
{
|
||||
Player p = sender.player();
|
||||
|
||||
try
|
||||
{
|
||||
File f = Iris.proj.getCurrentProject().sampleTrueBiome(p.getLocation().getBlockX(), p.getLocation().getBlockY(), p.getLocation().getBlockZ()).getBiome().getLoadFile();
|
||||
Desktop.getDesktop().open(f);
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
sender.sendMessage("Cant find the file. Are you in an Iris world?");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
sender.sendMessage("Players only.");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "[width]";
|
||||
}
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
package com.volmit.iris.command;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisMetrics;
|
||||
import com.volmit.iris.gen.IrisChunkGenerator;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.Form;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
@ -30,12 +30,12 @@ public class CommandIrisMetrics extends MortarCommand
|
||||
World world = p.getWorld();
|
||||
IrisChunkGenerator g = (IrisChunkGenerator) world.getGenerator();
|
||||
IrisMetrics m = g.getMetrics();
|
||||
sender.sendMessage("Thread Count: " + ChatColor.BOLD + "" + ChatColor.WHITE + g.getThreads());
|
||||
sender.sendMessage("Total : " + ChatColor.BOLD + "" + ChatColor.WHITE + Form.duration(m.getTotal().getAverage(), 2));
|
||||
sender.sendMessage(" Terrain : " + ChatColor.BOLD + "" + ChatColor.WHITE + Form.duration(m.getTerrain().getAverage(), 2));
|
||||
sender.sendMessage(" Parallax: " + ChatColor.BOLD + "" + ChatColor.WHITE + Form.duration(m.getParallax().getAverage(), 2));
|
||||
sender.sendMessage(" Post : " + ChatColor.BOLD + "" + ChatColor.WHITE + Form.duration(m.getPost().getAverage(), 2));
|
||||
sender.sendMessage("Updates : " + ChatColor.BOLD + "" + ChatColor.WHITE + Form.duration(m.getUpdate().getAverage(), 2));
|
||||
sender.sendMessage("Thread Count: " + C.BOLD + "" + C.WHITE + g.getThreads());
|
||||
sender.sendMessage("Total : " + C.BOLD + "" + C.WHITE + Form.duration(m.getTotal().getAverage(), 2));
|
||||
sender.sendMessage(" Terrain : " + C.BOLD + "" + C.WHITE + Form.duration(m.getTerrain().getAverage(), 2));
|
||||
sender.sendMessage(" Parallax: " + C.BOLD + "" + C.WHITE + Form.duration(m.getParallax().getAverage(), 2));
|
||||
sender.sendMessage(" Post : " + C.BOLD + "" + C.WHITE + Form.duration(m.getPost().getAverage(), 2));
|
||||
sender.sendMessage("Updates : " + C.BOLD + "" + C.WHITE + Form.duration(m.getUpdate().getAverage(), 2));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -31,6 +31,30 @@ public class CommandIrisStudio extends MortarCommand
|
||||
@Command
|
||||
private CommandIrisStudioList list;
|
||||
|
||||
@Command
|
||||
private CommandIrisGoto got0;
|
||||
|
||||
@Command
|
||||
private CommandIrisEditBiome ebiome;
|
||||
|
||||
@Command
|
||||
private CommandIrisMetrics metrics;
|
||||
|
||||
@Command
|
||||
private CommandIrisPregen pregen;
|
||||
|
||||
@Command
|
||||
private CommandIrisPregen world;
|
||||
|
||||
@Command
|
||||
private CommandIrisHotload hotload;
|
||||
|
||||
@Command
|
||||
private CommandIrisTC tc;
|
||||
|
||||
@Command
|
||||
private CommandIrisLoot loot;
|
||||
|
||||
public CommandIrisStudio()
|
||||
{
|
||||
super("studio", "std");
|
||||
|
@ -1,11 +1,10 @@
|
||||
package com.volmit.iris.command;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
|
||||
public class CommandIrisStudioCreate extends MortarCommand
|
||||
{
|
||||
public CommandIrisStudioCreate()
|
||||
@ -22,7 +21,7 @@ public class CommandIrisStudioCreate extends MortarCommand
|
||||
if(args.length != 1)
|
||||
{
|
||||
sender.sendMessage("Please use a lowercase name with hyphens (-) for spaces.");
|
||||
sender.sendMessage("I.e. /iris std new " + ChatColor.BOLD + "aether");
|
||||
sender.sendMessage("I.e. /iris std new " + C.BOLD + "aether");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
package com.volmit.iris.command;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisMetrics;
|
||||
import com.volmit.iris.gen.IrisChunkGenerator;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.Command;
|
||||
import com.volmit.iris.util.Form;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
@ -38,11 +38,11 @@ public class CommandIrisWhat extends MortarCommand
|
||||
World world = p.getWorld();
|
||||
IrisChunkGenerator g = (IrisChunkGenerator) world.getGenerator();
|
||||
IrisMetrics m = g.getMetrics();
|
||||
sender.sendMessage("Thread Count: " + ChatColor.BOLD + "" + ChatColor.WHITE + g.getThreads());
|
||||
sender.sendMessage("Total : " + ChatColor.BOLD + "" + ChatColor.WHITE + Form.duration(m.getTotal().getAverage(), 2));
|
||||
sender.sendMessage(" Terrain : " + ChatColor.BOLD + "" + ChatColor.WHITE + Form.duration(m.getTerrain().getAverage(), 2));
|
||||
sender.sendMessage(" Parallax: " + ChatColor.BOLD + "" + ChatColor.WHITE + Form.duration(m.getParallax().getAverage(), 2));
|
||||
sender.sendMessage(" Post : " + ChatColor.BOLD + "" + ChatColor.WHITE + Form.duration(m.getPost().getAverage(), 2));
|
||||
sender.sendMessage("Thread Count: " + C.BOLD + "" + C.WHITE + g.getThreads());
|
||||
sender.sendMessage("Total : " + C.BOLD + "" + C.WHITE + Form.duration(m.getTotal().getAverage(), 2));
|
||||
sender.sendMessage(" Terrain : " + C.BOLD + "" + C.WHITE + Form.duration(m.getTerrain().getAverage(), 2));
|
||||
sender.sendMessage(" Parallax: " + C.BOLD + "" + C.WHITE + Form.duration(m.getParallax().getAverage(), 2));
|
||||
sender.sendMessage(" Post : " + C.BOLD + "" + C.WHITE + Form.duration(m.getPost().getAverage(), 2));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
package com.volmit.iris.command;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.FluidCollisionMode;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
@ -27,8 +27,8 @@ public class CommandIrisWhatBlock extends MortarCommand
|
||||
{
|
||||
Player p = sender.player();
|
||||
BlockData bd = p.getTargetBlockExact(128, FluidCollisionMode.NEVER).getBlockData();
|
||||
sender.sendMessage("Material: " + ChatColor.GREEN + bd.getMaterial().name());
|
||||
sender.sendMessage("Full: " + ChatColor.WHITE + bd.getAsString(true));
|
||||
sender.sendMessage("Material: " + C.GREEN + bd.getMaterial().name());
|
||||
sender.sendMessage("Full: " + C.WHITE + bd.getAsString(true));
|
||||
}
|
||||
|
||||
else
|
||||
|
@ -1,15 +1,17 @@
|
||||
package com.volmit.iris.command;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisWhatHand extends MortarCommand {
|
||||
public CommandIrisWhatHand() {
|
||||
public class CommandIrisWhatHand extends MortarCommand
|
||||
{
|
||||
public CommandIrisWhatHand()
|
||||
{
|
||||
super("hand", "h");
|
||||
setDescription("Get the block data for holding.");
|
||||
requiresPermission(Iris.perm.studio);
|
||||
@ -24,8 +26,8 @@ public class CommandIrisWhatHand extends MortarCommand {
|
||||
{
|
||||
Player p = sender.player();
|
||||
BlockData bd = p.getInventory().getItemInMainHand().getType().createBlockData();
|
||||
sender.sendMessage("Material: " + ChatColor.GREEN + bd.getMaterial().name());
|
||||
sender.sendMessage("Full: " + ChatColor.WHITE + bd.getAsString(true));
|
||||
sender.sendMessage("Material: " + C.GREEN + bd.getMaterial().name());
|
||||
sender.sendMessage("Full: " + C.WHITE + bd.getAsString(true));
|
||||
}
|
||||
|
||||
else
|
||||
@ -37,7 +39,8 @@ public class CommandIrisWhatHand extends MortarCommand {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage() {
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
@ -1,54 +0,0 @@
|
||||
package com.volmit.iris.command;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.Command;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisWorld extends MortarCommand
|
||||
{
|
||||
@Command
|
||||
private CommandIrisGoto got0;
|
||||
|
||||
@Command
|
||||
private CommandIrisMetrics metrics;
|
||||
|
||||
@Command
|
||||
private CommandIrisPregen pregen;
|
||||
|
||||
@Command
|
||||
private CommandIrisPregen world;
|
||||
|
||||
@Command
|
||||
private CommandIrisHotload hotload;
|
||||
|
||||
@Command
|
||||
private CommandIrisTC tc;
|
||||
|
||||
@Command
|
||||
private CommandIrisLoot loot;
|
||||
|
||||
public CommandIrisWorld()
|
||||
{
|
||||
super("world", "wrld", "w");
|
||||
setDescription("Commands while in an iris world.");
|
||||
requiresPermission(Iris.perm.studio);
|
||||
setCategory("World");
|
||||
setDescription("Worldly commands");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handle(MortarSender sender, String[] args)
|
||||
{
|
||||
sender.sendMessage("Iris In-World Commands");
|
||||
printHelp(sender);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "[biome] [otherbiome] [-cave]";
|
||||
}
|
||||
}
|
@ -34,6 +34,7 @@ import com.volmit.iris.object.IrisObject;
|
||||
import com.volmit.iris.object.IrisRegion;
|
||||
import com.volmit.iris.object.IrisStructure;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.ChronoLatch;
|
||||
import com.volmit.iris.util.J;
|
||||
import com.volmit.iris.util.M;
|
||||
@ -41,7 +42,6 @@ import com.volmit.iris.util.RNG;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ -426,10 +426,10 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements
|
||||
|
||||
for(Player i : world.getPlayers())
|
||||
{
|
||||
Iris.instance.imsg(i, ChatColor.DARK_RED + "Iris Generator has crashed!");
|
||||
Iris.instance.imsg(i, ChatColor.RED + "- Check the console for the error.");
|
||||
Iris.instance.imsg(i, ChatColor.RED + "- To Regen, use /iris std open <dim>");
|
||||
Iris.instance.imsg(i, ChatColor.RED + "- To Retry the chunk, use /iris world retry");
|
||||
Iris.instance.imsg(i, C.DARK_RED + "Iris Generator has crashed!");
|
||||
Iris.instance.imsg(i, C.RED + "- Check the console for the error.");
|
||||
Iris.instance.imsg(i, C.RED + "- To Regen, use /iris std open <dim>");
|
||||
Iris.instance.imsg(i, C.RED + "- To Retry the chunk, use /iris world retry");
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -27,8 +27,8 @@
|
||||
//
|
||||
package com.volmit.iris.noise;
|
||||
|
||||
import com.volmit.iris.util.vec.Vector2f;
|
||||
import com.volmit.iris.util.vec.Vector3f;
|
||||
import com.volmit.iris.util.Vector2f;
|
||||
import com.volmit.iris.util.Vector3f;
|
||||
|
||||
public class FastNoise
|
||||
{
|
||||
|
@ -11,6 +11,7 @@ import com.volmit.iris.gen.atomics.AtomicCache;
|
||||
import com.volmit.iris.noise.CNG;
|
||||
import com.volmit.iris.util.ArrayType;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.Form;
|
||||
@ -21,7 +22,6 @@ import com.volmit.iris.util.RNG;
|
||||
import com.volmit.iris.util.Required;
|
||||
|
||||
import lombok.Data;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
|
||||
@Desc("Represents a loot entry")
|
||||
@Data
|
||||
@ -161,11 +161,11 @@ public class IrisLoot
|
||||
{
|
||||
if(lore.isNotEmpty())
|
||||
{
|
||||
lore.add(ChatColor.GRAY + "--------------------");
|
||||
lore.add(C.GRAY + "--------------------");
|
||||
}
|
||||
|
||||
lore.add(ChatColor.GRAY + "From: " + table.getName() + " (" + Form.pc(1D / table.getRarity(), 5) + ")");
|
||||
lore.add(ChatColor.GRAY + "1 in " + (table.getRarity() * getRarity()) + " Chance (" + Form.pc(1D / (table.getRarity() * getRarity()), 5) + ")");
|
||||
lore.add(C.GRAY + "From: " + table.getName() + " (" + Form.pc(1D / table.getRarity(), 5) + ")");
|
||||
lore.add(C.GRAY + "1 in " + (table.getRarity() * getRarity()) + " Chance (" + Form.pc(1D / (table.getRarity() * getRarity()), 5) + ")");
|
||||
}
|
||||
|
||||
m.setLore(lore);
|
||||
|
@ -14,6 +14,7 @@ import com.volmit.iris.util.KSet;
|
||||
import com.volmit.iris.util.MaxNumber;
|
||||
import com.volmit.iris.util.MinNumber;
|
||||
import com.volmit.iris.util.RNG;
|
||||
import com.volmit.iris.util.RegistryListBiome;
|
||||
import com.volmit.iris.util.Required;
|
||||
|
||||
import lombok.Data;
|
||||
@ -97,24 +98,28 @@ public class IrisRegion extends IrisRegistrant implements IRare
|
||||
@Desc("A list of structure tilesets")
|
||||
private KList<IrisStructurePlacement> structures = new KList<>();
|
||||
|
||||
@RegistryListBiome
|
||||
@Required
|
||||
@ArrayType(min = 1, type = String.class)
|
||||
@DontObfuscate
|
||||
@Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.")
|
||||
private KList<String> landBiomes = new KList<>();
|
||||
|
||||
@RegistryListBiome
|
||||
@Required
|
||||
@ArrayType(min = 1, type = String.class)
|
||||
@DontObfuscate
|
||||
@Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.")
|
||||
private KList<String> seaBiomes = new KList<>();
|
||||
|
||||
@RegistryListBiome
|
||||
@Required
|
||||
@ArrayType(min = 1, type = String.class)
|
||||
@DontObfuscate
|
||||
@Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.")
|
||||
private KList<String> shoreBiomes = new KList<>();
|
||||
|
||||
@RegistryListBiome
|
||||
@ArrayType(min = 1, type = String.class)
|
||||
@DontObfuscate
|
||||
@Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.")
|
||||
|
@ -7,7 +7,6 @@ import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.DisplaySlot;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
@ -21,24 +20,28 @@ import lombok.Setter;
|
||||
* @author Missionary (missionarymc@gmail.com)
|
||||
* @since 3/23/2018
|
||||
*/
|
||||
public class Board {
|
||||
public class Board
|
||||
{
|
||||
|
||||
private static final String[] CACHED_ENTRIES = new String[ChatColor.values().length];
|
||||
private static final String[] CACHED_ENTRIES = new String[C.values().length];
|
||||
|
||||
private static final Function<String, String> APPLY_COLOR_TRANSLATION = s -> ChatColor.translateAlternateColorCodes('&', s);
|
||||
private static final Function<String, String> APPLY_COLOR_TRANSLATION = s -> C.translateAlternateColorCodes('&', s);
|
||||
|
||||
static {
|
||||
IntStream.range(0, 15).forEach(i -> CACHED_ENTRIES[i] = ChatColor.values()[i].toString() + ChatColor.RESET);
|
||||
static
|
||||
{
|
||||
IntStream.range(0, 15).forEach(i -> CACHED_ENTRIES[i] = C.values()[i].toString() + C.RESET);
|
||||
}
|
||||
|
||||
private final Player player;
|
||||
private final Objective objective;
|
||||
private final Team team;
|
||||
@Setter private BoardSettings boardSettings;
|
||||
@Setter
|
||||
private BoardSettings boardSettings;
|
||||
private boolean ready;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public Board(@NonNull final Player player, final BoardSettings boardSettings) {
|
||||
public Board(@NonNull final Player player, final BoardSettings boardSettings)
|
||||
{
|
||||
this.player = player;
|
||||
this.boardSettings = boardSettings;
|
||||
this.objective = this.getScoreboard().getObjective("board") == null ? this.getScoreboard().registerNewObjective("board", "dummy") : this.getScoreboard().getObjective("board");
|
||||
@ -51,57 +54,67 @@ public class Board {
|
||||
this.ready = true;
|
||||
}
|
||||
|
||||
public Scoreboard getScoreboard() {
|
||||
public Scoreboard getScoreboard()
|
||||
{
|
||||
return (player != null) ? player.getScoreboard() : null;
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
public void remove()
|
||||
{
|
||||
this.resetScoreboard();
|
||||
}
|
||||
|
||||
public void update() {
|
||||
public void update()
|
||||
{
|
||||
// Checking if we are ready to start updating the Scoreboard.
|
||||
if (!ready) {
|
||||
if(!ready)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Making sure the player is connected.
|
||||
if (!player.isOnline()) {
|
||||
if(!player.isOnline())
|
||||
{
|
||||
remove();
|
||||
return;
|
||||
}
|
||||
|
||||
// Making sure the Scoreboard Provider is set.
|
||||
if (boardSettings == null) {
|
||||
if(boardSettings == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Getting their Scoreboard display from the Scoreboard Provider.
|
||||
final List<String> entries = boardSettings.getBoardProvider().getLines(player).stream().map(APPLY_COLOR_TRANSLATION).collect(Collectors.toList());
|
||||
|
||||
if (boardSettings.getScoreDirection() == ScoreDirection.UP) {
|
||||
if(boardSettings.getScoreDirection() == ScoreDirection.UP)
|
||||
{
|
||||
Collections.reverse(entries);
|
||||
}
|
||||
|
||||
// Setting the Scoreboard title
|
||||
String title = boardSettings.getBoardProvider().getTitle(player);
|
||||
if (title.length() > 32) {
|
||||
if(title.length() > 32)
|
||||
{
|
||||
Bukkit.getLogger().warning("The title " + title + " is over 32 characters in length, substringing to prevent errors.");
|
||||
title = title.substring(0, 32);
|
||||
}
|
||||
objective.setDisplayName(ChatColor.translateAlternateColorCodes('&', title));
|
||||
objective.setDisplayName(C.translateAlternateColorCodes('&', title));
|
||||
|
||||
// Clearing previous Scoreboard values if entry sizes don't match.
|
||||
if(this.getScoreboard().getEntries().size() != entries.size())
|
||||
this.getScoreboard().getEntries().forEach(this::removeEntry);
|
||||
|
||||
// Setting Scoreboard lines.
|
||||
for (int i = 0; i < entries.size(); i++) {
|
||||
for(int i = 0; i < entries.size(); i++)
|
||||
{
|
||||
String str = entries.get(i);
|
||||
BoardEntry entry = BoardEntry.translateToEntry(str);
|
||||
Team team = getScoreboard().getTeam(CACHED_ENTRIES[i]);
|
||||
|
||||
if (team == null) {
|
||||
if(team == null)
|
||||
{
|
||||
team = this.getScoreboard().registerNewTeam(CACHED_ENTRIES[i]);
|
||||
team.addEntry(team.getName());
|
||||
}
|
||||
@ -109,7 +122,8 @@ public class Board {
|
||||
team.setPrefix(entry.getPrefix());
|
||||
team.setSuffix(entry.getSuffix());
|
||||
|
||||
switch (boardSettings.getScoreDirection()) {
|
||||
switch(boardSettings.getScoreDirection())
|
||||
{
|
||||
case UP:
|
||||
objective.getScore(team.getName()).setScore(1 + i);
|
||||
break;
|
||||
@ -120,11 +134,13 @@ public class Board {
|
||||
}
|
||||
}
|
||||
|
||||
public void removeEntry(String id) {
|
||||
public void removeEntry(String id)
|
||||
{
|
||||
this.getScoreboard().resetScores(id);
|
||||
}
|
||||
|
||||
public void resetScoreboard() {
|
||||
public void resetScoreboard()
|
||||
{
|
||||
ready = false;
|
||||
player.setScoreboard(Bukkit.getScoreboardManager().getMainScoreboard());
|
||||
}
|
||||
|
@ -1,39 +1,47 @@
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import lombok.Getter;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author Missionary (missionarymc@gmail.com)
|
||||
* @since 3/29/2018
|
||||
*/
|
||||
public class BoardEntry {
|
||||
public class BoardEntry
|
||||
{
|
||||
|
||||
@Getter
|
||||
private final String prefix, suffix;
|
||||
|
||||
private BoardEntry(final String prefix, final String suffix) {
|
||||
private BoardEntry(final String prefix, final String suffix)
|
||||
{
|
||||
this.prefix = prefix;
|
||||
this.suffix = suffix;
|
||||
}
|
||||
|
||||
public static BoardEntry translateToEntry(String input) {
|
||||
if (input.isEmpty()) {
|
||||
public static BoardEntry translateToEntry(String input)
|
||||
{
|
||||
if(input.isEmpty())
|
||||
{
|
||||
return new BoardEntry("", "");
|
||||
}
|
||||
if (input.length() <= 16) {
|
||||
if(input.length() <= 16)
|
||||
{
|
||||
return new BoardEntry(input, "");
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
String prefix = input.substring(0, 16);
|
||||
String suffix = "";
|
||||
|
||||
if (prefix.endsWith("\u00a7")) {
|
||||
if(prefix.endsWith("\u00a7"))
|
||||
{
|
||||
prefix = prefix.substring(0, prefix.length() - 1);
|
||||
suffix = "\u00a7" + suffix;
|
||||
}
|
||||
|
||||
suffix = StringUtils.left(ChatColor.getLastColors(prefix) + suffix + input.substring(16), 16);
|
||||
suffix = StringUtils.left(C.getLastColors(prefix) + suffix + input.substring(16), 16);
|
||||
return new BoardEntry(prefix, suffix);
|
||||
}
|
||||
}
|
||||
|
@ -1,84 +1,70 @@
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
/**
|
||||
* @author Missionary (missionarymc@gmail.com)
|
||||
* @since 3/23/2018
|
||||
*/
|
||||
public class BoardManager implements Listener {
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
public class BoardManager
|
||||
{
|
||||
private final JavaPlugin plugin;
|
||||
private BoardSettings boardSettings;
|
||||
private Map<UUID, Board> scoreboards;
|
||||
private BukkitTask updateTask;
|
||||
|
||||
public BoardManager(JavaPlugin plugin, BoardSettings boardSettings) {
|
||||
public BoardManager(JavaPlugin plugin, BoardSettings boardSettings)
|
||||
{
|
||||
this.plugin = plugin;
|
||||
this.boardSettings = boardSettings;
|
||||
this.scoreboards = new ConcurrentHashMap<>();
|
||||
this.updateTask = new BoardUpdateTask(this).runTaskTimer(plugin, 2L, 2L);
|
||||
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
||||
plugin.getServer().getOnlinePlayers().forEach(this::setup);
|
||||
}
|
||||
|
||||
public void setBoardSettings(BoardSettings boardSettings) {
|
||||
public void setBoardSettings(BoardSettings boardSettings)
|
||||
{
|
||||
this.boardSettings = boardSettings;
|
||||
scoreboards.values().forEach(board -> board.setBoardSettings(boardSettings));
|
||||
}
|
||||
|
||||
public boolean hasBoard(Player player) {
|
||||
public boolean hasBoard(Player player)
|
||||
{
|
||||
return scoreboards.containsKey(player.getUniqueId());
|
||||
}
|
||||
|
||||
public Optional<Board> getBoard(Player player) {
|
||||
public Optional<Board> getBoard(Player player)
|
||||
{
|
||||
return Optional.ofNullable(scoreboards.get(player.getUniqueId()));
|
||||
}
|
||||
|
||||
private void setup(Player player) {
|
||||
public void setup(Player player)
|
||||
{
|
||||
Optional.ofNullable(scoreboards.remove(player.getUniqueId())).ifPresent(Board::resetScoreboard);
|
||||
if (player.getScoreboard() == Bukkit.getScoreboardManager().getMainScoreboard()) {
|
||||
if(player.getScoreboard().equals(Bukkit.getScoreboardManager().getMainScoreboard()))
|
||||
{
|
||||
player.setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());
|
||||
}
|
||||
scoreboards.put(player.getUniqueId(), new Board(player, boardSettings));
|
||||
}
|
||||
|
||||
private void remove(Player player) {
|
||||
public void remove(Player player)
|
||||
{
|
||||
Optional.ofNullable(scoreboards.remove(player.getUniqueId())).ifPresent(Board::remove);
|
||||
}
|
||||
|
||||
public Map<UUID, Board> getScoreboards() {
|
||||
public Map<UUID, Board> getScoreboards()
|
||||
{
|
||||
return Collections.unmodifiableMap(scoreboards);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(final PlayerJoinEvent e) {
|
||||
plugin.getServer().getScheduler().runTaskLater(plugin, () -> {
|
||||
if (e.getPlayer().isOnline()) { // Set this up 2 ticks later.
|
||||
setup(e.getPlayer());
|
||||
}
|
||||
}, 2L);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onQuit(final PlayerQuitEvent e) {
|
||||
this.remove(e.getPlayer());
|
||||
}
|
||||
|
||||
public void onDisable() {
|
||||
public void onDisable()
|
||||
{
|
||||
updateTask.cancel();
|
||||
plugin.getServer().getOnlinePlayers().forEach(this::remove);
|
||||
scoreboards.clear();
|
||||
|
@ -1,25 +1,12 @@
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface BoardProvider {
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
* Gets the title for {@link Objective#getDisplayName()}
|
||||
*
|
||||
* @param player The {@link Player} to supply
|
||||
* @return The title for the objective
|
||||
*/
|
||||
public interface BoardProvider
|
||||
{
|
||||
String getTitle(Player player);
|
||||
|
||||
/**
|
||||
* Gets the contents to be displayed on the {@link Board}
|
||||
*
|
||||
* @param player The {@link Player} to supply
|
||||
* @return The {@link List} of contents
|
||||
*/
|
||||
List<String> getLines(Player player);
|
||||
}
|
||||
|
@ -3,16 +3,11 @@ package com.volmit.iris.util;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author Missionary (missionarymc@gmail.com)
|
||||
* @since 5/31/2018
|
||||
*/
|
||||
@Getter
|
||||
@Builder
|
||||
public class BoardSettings {
|
||||
|
||||
public class BoardSettings
|
||||
{
|
||||
private BoardProvider boardProvider;
|
||||
|
||||
private ScoreDirection scoreDirection;
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
/**
|
||||
* Callback for async workers
|
||||
|
@ -1,9 +1,7 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.volmit.iris.util.KList;
|
||||
|
||||
public interface Element
|
||||
{
|
||||
public MaterialBlock getMaterial();
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
/**
|
||||
* Element Event.
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
|
@ -3,8 +3,6 @@ package com.volmit.iris.util;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
/**
|
||||
* Represents a pawn command
|
||||
*
|
||||
@ -53,7 +51,7 @@ public abstract class MortarCommand implements ICommand
|
||||
}
|
||||
}
|
||||
b = true;
|
||||
sender.sendMessage(ChatColor.GREEN + i.getNode() + " " + ChatColor.WHITE + i.getArgsUsage() + ChatColor.GRAY + " - " + i.getDescription());
|
||||
sender.sendMessage(C.GREEN + i.getNode() + " " + C.WHITE + i.getArgsUsage() + C.GRAY + " - " + i.getDescription());
|
||||
}
|
||||
|
||||
if(!b)
|
||||
|
@ -2,7 +2,6 @@ package com.volmit.iris.util;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -20,7 +19,8 @@ import lombok.Setter;
|
||||
* @author cyberpwn
|
||||
*
|
||||
*/
|
||||
public class MortarSender implements CommandSender {
|
||||
public class MortarSender implements CommandSender
|
||||
{
|
||||
private CommandSender s;
|
||||
private String tag;
|
||||
|
||||
@ -31,14 +31,17 @@ public class MortarSender implements CommandSender {
|
||||
/**
|
||||
* Wrap a command sender
|
||||
*
|
||||
* @param s the command sender
|
||||
* @param s
|
||||
* the command sender
|
||||
*/
|
||||
public MortarSender(CommandSender s) {
|
||||
public MortarSender(CommandSender s)
|
||||
{
|
||||
tag = "";
|
||||
this.s = s;
|
||||
}
|
||||
|
||||
public MortarSender(CommandSender s, String tag) {
|
||||
public MortarSender(CommandSender s, String tag)
|
||||
{
|
||||
this.tag = tag;
|
||||
this.s = s;
|
||||
}
|
||||
@ -46,9 +49,11 @@ public class MortarSender implements CommandSender {
|
||||
/**
|
||||
* Set a command tag (prefix for sendMessage)
|
||||
*
|
||||
* @param tag the tag
|
||||
* @param tag
|
||||
* the tag
|
||||
*/
|
||||
public void setTag(String tag) {
|
||||
public void setTag(String tag)
|
||||
{
|
||||
this.tag = tag;
|
||||
}
|
||||
|
||||
@ -57,7 +62,8 @@ public class MortarSender implements CommandSender {
|
||||
*
|
||||
* @return the command tag
|
||||
*/
|
||||
public String getTag() {
|
||||
public String getTag()
|
||||
{
|
||||
return tag;
|
||||
}
|
||||
|
||||
@ -66,7 +72,8 @@ public class MortarSender implements CommandSender {
|
||||
*
|
||||
* @return true if it is
|
||||
*/
|
||||
public boolean isPlayer() {
|
||||
public boolean isPlayer()
|
||||
{
|
||||
return getS() instanceof Player;
|
||||
}
|
||||
|
||||
@ -75,7 +82,8 @@ public class MortarSender implements CommandSender {
|
||||
*
|
||||
* @return a casted player
|
||||
*/
|
||||
public Player player() {
|
||||
public Player player()
|
||||
{
|
||||
return (Player) getS();
|
||||
}
|
||||
|
||||
@ -84,102 +92,122 @@ public class MortarSender implements CommandSender {
|
||||
*
|
||||
* @return the command sender
|
||||
*/
|
||||
public CommandSender getS() {
|
||||
public CommandSender getS()
|
||||
{
|
||||
return s;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(String name) {
|
||||
public boolean isPermissionSet(String name)
|
||||
{
|
||||
return s.isPermissionSet(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(Permission perm) {
|
||||
public boolean isPermissionSet(Permission perm)
|
||||
{
|
||||
return s.isPermissionSet(perm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(String name) {
|
||||
public boolean hasPermission(String name)
|
||||
{
|
||||
return s.hasPermission(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(Permission perm) {
|
||||
public boolean hasPermission(Permission perm)
|
||||
{
|
||||
return s.hasPermission(perm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value) {
|
||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value)
|
||||
{
|
||||
return s.addAttachment(plugin, name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin plugin) {
|
||||
public PermissionAttachment addAttachment(Plugin plugin)
|
||||
{
|
||||
return s.addAttachment(plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks) {
|
||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks)
|
||||
{
|
||||
return s.addAttachment(plugin, name, value, ticks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
|
||||
public PermissionAttachment addAttachment(Plugin plugin, int ticks)
|
||||
{
|
||||
return s.addAttachment(plugin, ticks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAttachment(PermissionAttachment attachment) {
|
||||
public void removeAttachment(PermissionAttachment attachment)
|
||||
{
|
||||
s.removeAttachment(attachment);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recalculatePermissions() {
|
||||
public void recalculatePermissions()
|
||||
{
|
||||
s.recalculatePermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<PermissionAttachmentInfo> getEffectivePermissions() {
|
||||
public Set<PermissionAttachmentInfo> getEffectivePermissions()
|
||||
{
|
||||
return s.getEffectivePermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOp() {
|
||||
public boolean isOp()
|
||||
{
|
||||
return s.isOp();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOp(boolean value) {
|
||||
public void setOp(boolean value)
|
||||
{
|
||||
s.setOp(value);
|
||||
}
|
||||
|
||||
public void hr() {
|
||||
public void hr()
|
||||
{
|
||||
s.sendMessage("========================================================");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessage(String message) {
|
||||
s.sendMessage(ChatColor.translateAlternateColorCodes('&', getTag()) + message);
|
||||
public void sendMessage(String message)
|
||||
{
|
||||
s.sendMessage(C.translateAlternateColorCodes('&', getTag()) + message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessage(String[] messages) {
|
||||
public void sendMessage(String[] messages)
|
||||
{
|
||||
for(String str : messages)
|
||||
s.sendMessage(ChatColor.translateAlternateColorCodes('&', getTag() + str));
|
||||
s.sendMessage(C.translateAlternateColorCodes('&', getTag() + str));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Server getServer() {
|
||||
public Server getServer()
|
||||
{
|
||||
return s.getServer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
public String getName()
|
||||
{
|
||||
return s.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Spigot spigot() {
|
||||
public Spigot spigot()
|
||||
{
|
||||
return s.spigot();
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.gen.parallax;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -10,7 +10,6 @@ import org.bukkit.generator.ChunkGenerator.ChunkData;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.gen.atomics.AtomicSliver;
|
||||
import com.volmit.iris.util.Writable;
|
||||
|
||||
public class ParallaxChunk implements Writable
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.gen.parallax;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -11,9 +11,6 @@ import java.util.zip.GZIPInputStream;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.util.CustomOutputStream;
|
||||
import com.volmit.iris.util.M;
|
||||
import com.volmit.iris.util.Writable;
|
||||
|
||||
public class ParallaxRegion implements Writable
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.gen.parallax;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -6,11 +6,6 @@ import java.io.IOException;
|
||||
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.DataPalette;
|
||||
import com.volmit.iris.util.KSet;
|
||||
import com.volmit.iris.util.Writable;
|
||||
|
||||
public class ParallaxSection implements Writable
|
||||
{
|
||||
private final DataPalette<BlockData> block;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.gen.parallax;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@ -6,7 +6,6 @@ import java.io.IOException;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.KMap;
|
||||
|
||||
public class ParallaxWorld
|
||||
{
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -38,13 +38,6 @@ import com.volmit.iris.object.IrisStructureTile;
|
||||
import com.volmit.iris.object.NoiseStyle;
|
||||
import com.volmit.iris.object.StructureTileCondition;
|
||||
import com.volmit.iris.object.TileResult;
|
||||
import com.volmit.iris.util.inventory.C;
|
||||
import com.volmit.iris.util.inventory.MaterialBlock;
|
||||
import com.volmit.iris.util.inventory.UIElement;
|
||||
import com.volmit.iris.util.inventory.UIStaticDecorator;
|
||||
import com.volmit.iris.util.inventory.UIWindow;
|
||||
import com.volmit.iris.util.inventory.Window;
|
||||
import com.volmit.iris.util.inventory.WindowResolution;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -1,12 +1,10 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import com.volmit.iris.util.KList;
|
||||
|
||||
public class UIElement implements Element
|
||||
{
|
||||
private MaterialBlock material;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.Material;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
public class UIVoidDecorator implements WindowDecorator
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -12,9 +12,6 @@ import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.J;
|
||||
import com.volmit.iris.util.KMap;
|
||||
import com.volmit.iris.util.KSet;
|
||||
|
||||
public class UIWindow implements Window, Listener
|
||||
{
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
/**
|
||||
* Utility vecmath class used when computing the hash code for vecmath
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* $State$
|
||||
*/
|
||||
|
||||
package com.volmit.iris.util.vec;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import java.lang.Math;
|
||||
|
||||
|
@ -3,7 +3,6 @@ package com.volmit.iris.util;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
@ -128,7 +127,7 @@ public class VirtualCommand
|
||||
if(!sender.hasPermission(i))
|
||||
{
|
||||
failed = true;
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, () -> sender.sendMessage("- " + ChatColor.WHITE + i), 0);
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, () -> sender.sendMessage("- " + C.WHITE + i), 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
public interface WindowDecorator
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.volmit.iris.util.inventory;
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user