Created CreativeBoundariesAPI
This commit is contained in:
parent
535cf70f00
commit
2ec5f26737
1 changed files with 84 additions and 0 deletions
|
@ -0,0 +1,84 @@
|
||||||
|
package alisolarflare.components.creativeboundaries;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bukkit.GameMode;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
|
||||||
|
import com.palmergames.bukkit.towny.object.Resident;
|
||||||
|
import com.palmergames.bukkit.towny.object.Town;
|
||||||
|
import com.palmergames.bukkit.towny.object.TownBlock;
|
||||||
|
import com.palmergames.bukkit.towny.object.TownyUniverse;
|
||||||
|
|
||||||
|
public class CreativeBoundariesAPI {
|
||||||
|
private static List<Player> cbCreatives = new ArrayList<Player>();
|
||||||
|
private static boolean forceBoundaries = false;
|
||||||
|
public CreativeBoundariesAPI(List<Player> cbCreatives){
|
||||||
|
CreativeBoundariesAPI.cbCreatives = cbCreatives;
|
||||||
|
}
|
||||||
|
public static void toSurvival(Player player){
|
||||||
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
cbCreatives.remove(player);
|
||||||
|
}
|
||||||
|
public static boolean toCreative(Player player){
|
||||||
|
TownBlock tb = TownyUniverse.getTownBlock(player.getLocation());
|
||||||
|
|
||||||
|
if (tb == null) {
|
||||||
|
player.sendMessage("Some error occured.");
|
||||||
|
player.sendMessage("TownBlock is null.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Town town;
|
||||||
|
try {
|
||||||
|
town = tb.getTown();
|
||||||
|
} catch (NotRegisteredException e) {
|
||||||
|
player.sendMessage("You aren't standing in a town, head to your home town to use this command.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean playerIsInTown = false;
|
||||||
|
for(Resident res : town.getResidents()){
|
||||||
|
if (res.getName().toString().equals(player.getName().toString())){
|
||||||
|
playerIsInTown = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!playerIsInTown){
|
||||||
|
player.sendMessage("Sorry, you're not part of this town");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
player.setGameMode(GameMode.CREATIVE);
|
||||||
|
cbCreatives.add(player);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public static void setForceBoundaries(boolean forceBoundaries){
|
||||||
|
CreativeBoundariesAPI.forceBoundaries = forceBoundaries;
|
||||||
|
}
|
||||||
|
public static boolean setForceBoundaries(Player player, String[] args){
|
||||||
|
if(args.length < 1){
|
||||||
|
player.sendMessage("You must use True, False, 1, or 0 as arguments!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
String firstArgument = args[0];
|
||||||
|
if(firstArgument.startsWith("t") || firstArgument.equals("1")){
|
||||||
|
player.sendMessage("Dickmode has been turned on!");
|
||||||
|
forceBoundaries = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(firstArgument.startsWith("f") || firstArgument.equals("0")){
|
||||||
|
player.sendMessage("Dickmode has been turned off!");
|
||||||
|
forceBoundaries = false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
public static boolean getforceBoundaries(){
|
||||||
|
return forceBoundaries;
|
||||||
|
}
|
||||||
|
public static boolean isCBCreative(Player player){
|
||||||
|
return cbCreatives.contains(player);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue