FastAsyncWorldedit/bukkit/src/main/java/com/boydti/fawe/bukkit/regions/PreciousStonesFeature.java

56 lines
2.3 KiB
Java
Raw Normal View History

package com.boydti.fawe.bukkit.regions;
2016-04-04 18:07:36 +02:00
import com.boydti.fawe.bukkit.FaweBukkit;
import com.boydti.fawe.object.FawePlayer;
2016-07-13 20:55:27 +02:00
import com.boydti.fawe.regions.FaweMask;
import com.sk89q.worldedit.BlockVector;
import java.util.List;
import net.sacredlabyrinth.Phaed.PreciousStones.PreciousStones;
2016-04-18 22:48:58 +02:00
import net.sacredlabyrinth.Phaed.PreciousStones.field.Field;
import net.sacredlabyrinth.Phaed.PreciousStones.field.FieldFlag;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.Plugin;
public class PreciousStonesFeature extends BukkitMaskManager implements Listener {
FaweBukkit plugin;
Plugin preciousstones;
2016-03-31 11:23:10 +02:00
public PreciousStonesFeature(final Plugin preciousstonesPlugin, final FaweBukkit p3) {
super(preciousstonesPlugin.getName());
2016-03-31 11:23:10 +02:00
this.preciousstones = preciousstonesPlugin;
this.plugin = p3;
}
2016-03-31 11:23:10 +02:00
2017-04-23 08:10:39 +02:00
public boolean isAllowed(Player player, Field field, MaskType type, boolean allowMember) {
return field != null && (field.isOwner(player.getName()) || (type == MaskType.MEMBER && allowMember && field.getAllAllowed().contains(player.getName())));
}
@Override
2016-10-02 08:55:24 +02:00
public FaweMask getMask(final FawePlayer<Player> fp, MaskType type) {
final Player player = fp.parent;
final Location location = player.getLocation();
2016-07-31 01:58:28 +02:00
final List<Field> fields = PreciousStones.API().getFieldsProtectingArea(FieldFlag.ALL, location);
2016-07-13 20:55:27 +02:00
if (fields.isEmpty()) {
return null;
}
String name = player.getName();
boolean member = fp.hasPermission("fawe.preciousstones.member");
for (final Field myField : fields) {
2017-04-23 08:10:39 +02:00
if (isAllowed(player, myField, type, member)) {
2016-07-13 20:55:27 +02:00
BlockVector pos1 = new BlockVector(myField.getMinx(), myField.getMiny(), myField.getMinz());
BlockVector pos2 = new BlockVector(myField.getMaxx(), myField.getMaxy(), myField.getMaxz());
2017-04-23 08:10:39 +02:00
return new FaweMask(pos1, pos2, "FIELD: " + myField) {
@Override
public boolean isValid(FawePlayer player, MaskType type) {
return isAllowed((Player) player.parent, myField, type, fp.hasPermission("fawe.preciousstones.member"));
}
};
}
}
return null;
}
}