2012-01-15 19:41:33 +01:00
|
|
|
package com.massivecraft.factions.integration;
|
|
|
|
|
|
|
|
import java.util.LinkedList;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import org.bukkit.Bukkit;
|
|
|
|
import org.bukkit.Chunk;
|
|
|
|
import org.bukkit.Location;
|
|
|
|
import org.bukkit.Material;
|
|
|
|
import org.bukkit.block.Block;
|
|
|
|
import org.bukkit.block.BlockState;
|
|
|
|
|
|
|
|
import com.griefcraft.lwc.LWC;
|
|
|
|
import com.griefcraft.lwc.LWCPlugin;
|
|
|
|
import com.massivecraft.factions.Conf;
|
|
|
|
import com.massivecraft.factions.FLocation;
|
|
|
|
import com.massivecraft.factions.FPlayers;
|
|
|
|
import com.massivecraft.factions.Faction;
|
|
|
|
import com.massivecraft.factions.P;
|
|
|
|
|
|
|
|
public class LWCFeatures
|
|
|
|
{
|
|
|
|
|
|
|
|
private static LWC lwc;
|
|
|
|
|
|
|
|
public static void integrateLWC(LWCPlugin test)
|
|
|
|
{
|
|
|
|
lwc = test.getLWC();
|
|
|
|
|
|
|
|
P.p.log("Successfully hooked into LWC!"+(Conf.lwcIntegration ? "" : " Integration is currently disabled, though (\"lwcIntegration\")."));
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void clearOtherChests(FLocation flocation, Faction faction)
|
|
|
|
{
|
|
|
|
Location location = new Location(Bukkit.getWorld(flocation.getWorldName()), flocation.getX() * 16, 5, flocation.getZ() * 16);
|
|
|
|
Chunk chunk = location.getChunk();
|
|
|
|
BlockState[] blocks = chunk.getTileEntities();
|
|
|
|
List<Block> chests = new LinkedList<Block>();
|
|
|
|
|
|
|
|
for(int x = 0; x < blocks.length; x++)
|
|
|
|
{
|
|
|
|
if(blocks[x].getType() == Material.CHEST)
|
|
|
|
{
|
|
|
|
chests.add(blocks[x].getBlock());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for(int x = 0; x < chests.size(); x++)
|
|
|
|
{
|
|
|
|
if(lwc.findProtection(chests.get(x)) != null)
|
|
|
|
{
|
2012-01-26 23:19:00 +01:00
|
|
|
if(!faction.getFPlayers().contains(FPlayers.i.get(lwc.findProtection(chests.get(x)).getOwner())))
|
2012-01-15 19:41:33 +01:00
|
|
|
lwc.findProtection(chests.get(x)).remove();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void clearAllChests(FLocation flocation)
|
|
|
|
{
|
|
|
|
Location location = new Location(Bukkit.getWorld(flocation.getWorldName()), flocation.getX() * 16, 5, flocation.getZ() * 16);
|
|
|
|
Chunk chunk = location.getChunk();
|
|
|
|
BlockState[] blocks = chunk.getTileEntities();
|
|
|
|
List<Block> chests = new LinkedList<Block>();
|
|
|
|
|
|
|
|
for(int x = 0; x < blocks.length; x++)
|
|
|
|
{
|
|
|
|
if(blocks[x].getType() == Material.CHEST)
|
|
|
|
{
|
|
|
|
chests.add(blocks[x].getBlock());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for(int x = 0; x < chests.size(); x++)
|
|
|
|
{
|
|
|
|
if(lwc.findProtection(chests.get(x)) != null)
|
|
|
|
{
|
|
|
|
lwc.findProtection(chests.get(x)).remove();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static boolean getEnabled()
|
|
|
|
{
|
|
|
|
return Conf.lwcIntegration && lwc != null;
|
|
|
|
}
|
|
|
|
}
|