Mention what nbt file is broken. Fixes #124.
This commit is contained in:
parent
ed980f2dbe
commit
25cb50924c
@ -958,7 +958,8 @@ public class IdUtil implements Listener, Runnable
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
String message = Txt.parse("<b>NBT file couldn't be loaded: <h>%s<b>. Error: %s.", file.toString(), e.getMessage());
|
||||
MCore.get().log(message);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -24,6 +24,7 @@ import java.util.TreeSet;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Entity;
|
||||
@ -142,6 +143,46 @@ public class MUtil
|
||||
return recurseResolveMap(output, map);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// GET BLOCKS
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static List<Block> getBlocks(Location location, int halfWidth)
|
||||
{
|
||||
return getBlocks(location.getBlock(), halfWidth);
|
||||
}
|
||||
|
||||
public static List<Block> getBlocks(Block block, int halfWidth)
|
||||
{
|
||||
int xmin = block.getX() - halfWidth;
|
||||
int ymin = block.getY() - halfWidth;
|
||||
int zmin = block.getZ() - halfWidth;
|
||||
|
||||
int xmax = block.getX() + halfWidth;
|
||||
int ymax = block.getY() + halfWidth;
|
||||
int zmax = block.getZ() + halfWidth;
|
||||
|
||||
return getBlocks(block.getWorld(), xmin, ymin, zmin, xmax, ymax, zmax);
|
||||
}
|
||||
|
||||
public static List<Block> getBlocks(World world, int xmin, int ymin, int zmin, int xmax, int ymax, int zmax)
|
||||
{
|
||||
List<Block> blocks = new ArrayList<Block>();
|
||||
|
||||
for (int x = xmin; x <= xmax; x++)
|
||||
{
|
||||
for (int y = ymin; y <= ymax; y++)
|
||||
{
|
||||
for (int z = zmin; z <= zmax; z++)
|
||||
{
|
||||
blocks.add(world.getBlockAt(x, y, z));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return blocks;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// LOCATIONS COMPARISON
|
||||
// -------------------------------------------- //
|
||||
|
69
src/com/massivecraft/mcore/util/PeriodUtil.java
Normal file
69
src/com/massivecraft/mcore/util/PeriodUtil.java
Normal file
@ -0,0 +1,69 @@
|
||||
package com.massivecraft.mcore.util;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class PeriodUtil
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// MILLIS STORE
|
||||
// -------------------------------------------- //
|
||||
|
||||
private static Map<Object, Long> objectToMillis = new HashMap<Object, Long>();
|
||||
|
||||
public static long getMillis(Object object)
|
||||
{
|
||||
Long ret = objectToMillis.get(object);
|
||||
if (ret == null) ret = 0L;
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static void setMillis(Object object, Long millis)
|
||||
{
|
||||
if (millis == null || millis == 0)
|
||||
{
|
||||
objectToMillis.remove(object);
|
||||
}
|
||||
else
|
||||
{
|
||||
objectToMillis.put(object, millis);
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// RANDOM SIMPLE
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static long getPeriod(long length, long now)
|
||||
{
|
||||
return now / length;
|
||||
}
|
||||
|
||||
public static long getPeriod(long length)
|
||||
{
|
||||
return getPeriod(length, System.currentTimeMillis());
|
||||
}
|
||||
|
||||
public static long getLastPeriod(Object object, long length)
|
||||
{
|
||||
return getPeriod(length, getMillis(object));
|
||||
}
|
||||
|
||||
public static boolean isNewPeriod(Object object, long length, long now)
|
||||
{
|
||||
long currentPeriod = getPeriod(length, now);
|
||||
long lastPeriod = getLastPeriod(object, length);
|
||||
|
||||
if (currentPeriod == lastPeriod) return false;
|
||||
|
||||
setMillis(object, now);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean isNewPeriod(Object object, long length)
|
||||
{
|
||||
return isNewPeriod(object, length, System.currentTimeMillis());
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user