Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>me.simplex</groupId>
<artifactId>buildr</artifactId>
<version>0.8.0-SNAPSHOT</version>
<version>0.8.2-SNAPSHOT</version>
<name>Buildr</name>

<build>
Expand Down Expand Up @@ -35,6 +35,14 @@
<classifier>pwasson</classifier>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<show>private</show>
</configuration>
</plugin>
</plugins>
</build>

Expand All @@ -49,7 +57,7 @@
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>[1.8,)</version>
<version>[1.9,)</version>
</dependency>
</dependencies>

Expand Down
188 changes: 114 additions & 74 deletions src/main/java/me/simplex/buildr/Buildr.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2012 s1mpl3x
* Copyright 2012-2015 s1mpl3x
*
* This file is part of Buildr.
*
Expand Down Expand Up @@ -49,7 +49,8 @@
import me.simplex.buildr.manager.commands.Buildr_Manager_Command_Wool;
import me.simplex.buildr.manager.commands.SlopeCommand;
import me.simplex.buildr.runnable.Buildr_Runnable_TimeChecker;
import me.simplex.buildr.util.Buildr_Interface_Building;
import me.simplex.buildr.manager.builder.BuilderManager;
import me.simplex.buildr.manager.commands.CloneCommand;

import org.bukkit.ChatColor;
import org.bukkit.GameMode;
Expand All @@ -58,6 +59,8 @@
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

Expand All @@ -66,7 +69,7 @@ public class Buildr extends JavaPlugin {
//tech
public Server server;

private Logger log = Logger.getLogger("Minecraft");
private final Logger log = Logger.getLogger("Minecraft");

private String prefix;
private String version;
Expand Down Expand Up @@ -99,6 +102,7 @@ public class Buildr extends JavaPlugin {
private Buildr_Manager_Command_Wall cmdWall;
private Buildr_Manager_Command_Wallx cmdWallx;
private SlopeCommand cmdSlope;
private CloneCommand cmdClone;
private Buildr_Manager_Command_Wool cmdWool;

private String pluginDirectory;
Expand All @@ -109,7 +113,7 @@ public class Buildr extends JavaPlugin {
private ArrayList<World> worldBuildMode;
private ArrayList<World> worldBuildAllowed;
private ArrayList<Player> playerBuildMode;
private ArrayList<Buildr_Interface_Building> startedBuildings;
private ArrayList<BuilderManager> startedBuildings;

private LinkedList<Player> playerCuttingTree;

Expand All @@ -126,7 +130,7 @@ public void onEnable() {

pluginDirectory = "plugins/Buildr";
version = getDescription().getVersion();
version_cfg = "0.8.0";
version_cfg = "0.8.1";
prefix = "[Buildr] ";

cfgManager = new Buildr_Manager_Configuration(this);
Expand Down Expand Up @@ -156,12 +160,13 @@ public void onEnable() {
cmdWall = new Buildr_Manager_Command_Wall(this);
cmdWallx = new Buildr_Manager_Command_Wallx(this);
cmdSlope = new SlopeCommand(this);
cmdClone = new CloneCommand(this);
cmdWool = new Buildr_Manager_Command_Wool(this);

worldBuildMode = new ArrayList<World>();
worldBuildAllowed = new ArrayList<World>();
playerBuildMode = new ArrayList<Player>();
startedBuildings = new ArrayList<Buildr_Interface_Building>();
startedBuildings = new ArrayList<BuilderManager>();
playerCuttingTree = new LinkedList<Player>();

if (cfgManager.checkDirectory()) {
Expand Down Expand Up @@ -213,6 +218,7 @@ public void onEnable() {
getCommand("wall").setExecutor(cmdWall);
getCommand("wallx").setExecutor(cmdWallx);
getCommand("slope").setExecutor(cmdSlope);
getCommand("bclone").setExecutor(cmdClone);
getCommand("wool").setExecutor(cmdWool);
log("command executors set..");

Expand Down Expand Up @@ -246,25 +252,31 @@ public void log(String msg){
log.info(prefix+msg);
}
}



public void importantLog(String msg){
log.info(prefix+msg);
}



public boolean checkPermission(Player player, String node){
if (!getConfigValue("GENERAL_USE_PERMISSIONS")) {
return player.isOp();
}
return player.hasPermission(node);
}



public boolean checkWorldBuildMode(World world){
return worldBuildMode.contains(world);
}


public boolean checkPlayerBuildMode(Player player){
return playerBuildMode.contains(player);
}



public void handlePlayerOnLogin(Player player){
//System.out.println("BM_STAY_AFTR_LGOUT"+getConfigValue("BUILDMODE_STAY_AFTER_LOGOUT"));
if (!getConfigValue("BUILDMODE_STAY_AFTER_LOGOUT") && checkPlayerBuildMode(player)) {
Expand All @@ -277,101 +289,129 @@ public void handlePlayerOnLogin(Player player){
//System.out.println("enter bm");
}
}

public boolean checkPlayerHasStartedBuilding(Player player){
for (Buildr_Interface_Building wallbuilder : startedBuildings) {
if (wallbuilder.getBuildingcreater() == player) {
return true;
}
}
return false;
}

public boolean checkWorldHasBuildmodeUnlocked(World world){
for (World allowed : worldBuildAllowed) {
if (allowed.equals(world)) {
return true;
}
}
return false;
}



public boolean checkPlayerHasStartedBuilding(Player player) {
for (BuilderManager wallbuilder : startedBuildings) {
if (wallbuilder.getBuildingCreator() == player) {
return true;
}
}
return false;
}


public boolean checkWorldHasBuildmodeUnlocked(World world) {
for (World allowed : worldBuildAllowed) {
if (allowed.equals(world)) {
return true;
}
}
return false;
}


public boolean checkTreecuterFireOnLeaves(Block block) {
if (block.getType()== Material.LEAVES && getConfigValue("TREECUTTER_ACTIVATE_ON_LEAVES")) {
return true;
}
return false;
return (block.getType()== Material.LEAVES && getConfigValue("TREECUTTER_ACTIVATE_ON_LEAVES"));
}

public Buildr_Interface_Building giveBuilderManager(Player player){
for (Buildr_Interface_Building builder : startedBuildings) {
if (builder.getBuildingcreater() == player) {


public BuilderManager giveBuilderManager(Player player){
for (BuilderManager builder : startedBuildings) {
if (builder.getBuildingCreator() == player) {
return builder;
}
}
return null;
}



public void removeStartedBuilding(Player player){
for (Buildr_Interface_Building wallbuilder : startedBuildings) {
if (wallbuilder.getBuildingcreater() == player) {
for (BuilderManager wallbuilder : startedBuildings) {
if (wallbuilder.getBuildingCreator() == player) {
startedBuildings.remove(wallbuilder);
return;
}
}
}



public boolean checkPlayerItemInHandIsPickaxe(Player player){
if (player.getItemInHand().getType() == Material.DIAMOND_PICKAXE ||
return (player.getItemInHand().getType() == Material.DIAMOND_PICKAXE ||
player.getItemInHand().getType() == Material.IRON_PICKAXE ||
player.getItemInHand().getType() == Material.STONE_PICKAXE ||
player.getItemInHand().getType() == Material.WOOD_PICKAXE) {
return true;
}
return false;
player.getItemInHand().getType() == Material.WOOD_PICKAXE);
}


public boolean checkPlayerItemInHandIsAxe(Player player) {
if (player.getItemInHand().getType() == Material.DIAMOND_AXE ||
return (player.getItemInHand().getType() == Material.DIAMOND_AXE ||
player.getItemInHand().getType() == Material.IRON_AXE ||
player.getItemInHand().getType() == Material.STONE_AXE ||
player.getItemInHand().getType() == Material.WOOD_AXE) {
return true;
}
return false;
player.getItemInHand().getType() == Material.WOOD_AXE);
}

public boolean checkPlayerItemInHandIsStick(Player player) {
if (player.getItemInHand().getType() == Material.STICK){
return true;
}
return false;


public boolean checkPlayerItemInHandIsStick(Player player,
EquipmentSlot hand) {
// check HAND vs. OFF_HAND
ItemStack held = (EquipmentSlot.HAND == hand) ? player.getInventory().getItemInMainHand() : player.getInventory().getItemInOffHand();
return (held.getType() == Material.STICK);
}


public boolean playerClickedBuildingBlock(Player player, Block clickedBlock) {
if (!checkPlayerHasStartedBuilding(player)) {
return false;
}

Buildr_Interface_Building wallbuilder = giveBuilderManager(player);
if (!wallbuilder.isCoordinate1Placed()) {

// if we got here, player has at least one coordinate to add.

BuilderManager wallbuilder = giveBuilderManager(player);

wallbuilder.addCoordinate(clickedBlock);
player.sendMessage(wallbuilder.getLastPositionMessage());
if (wallbuilder.checkCoordinates()) {
if (wallbuilder.gotAllCoordinates()) {
player.sendMessage(wallbuilder.getBuildingMessage());
wallbuilder.startBuild();
removeStartedBuilding(player);
} else {
player.sendMessage(wallbuilder.getNextPositionMessage());
}
} else {// last coordinate placed was somehow invalid.
removeStartedBuilding(player);
player.sendMessage(String.format("%sERROR: %s%s",
ChatColor.RED, ChatColor.WHITE, wallbuilder.getCoordinateCheckFailed()));
}
/* old way
if (!wallbuilder.isCoordinate1Placed()) {
wallbuilder.addCoordinate1(clickedBlock);
player.sendMessage("Got positon 1 of your "+wallbuilder.getBuildingName()+" at ["+ChatColor.BLUE+clickedBlock.getX()+ChatColor.WHITE+", "+ChatColor.BLUE+clickedBlock.getY()+ChatColor.WHITE+", "+ChatColor.BLUE+clickedBlock.getZ()+ChatColor.WHITE+"]");
player.sendMessage(
"Got positon 1 of your " + wallbuilder.getBuildingName() + " at [" + ChatColor.BLUE
+ clickedBlock.getX() + ChatColor.WHITE + ", " + ChatColor.BLUE + clickedBlock.getY()
+ ChatColor.WHITE + ", " + ChatColor.BLUE + clickedBlock.getZ()
+ ChatColor.WHITE + "]");
player.sendMessage("Now rightclick on block 2 (again with a stick) to continue");
}
else {
player.sendMessage("Got positon 2 of your"+wallbuilder.getBuildingName()+" at ["+ChatColor.BLUE+clickedBlock.getX()+ChatColor.WHITE+", "+ChatColor.BLUE+clickedBlock.getY()+ChatColor.WHITE+", "+ChatColor.BLUE+clickedBlock.getZ()+ChatColor.WHITE+"]");
wallbuilder.addCoordinate2(clickedBlock);
if (wallbuilder.checkCoordinates()) {
player.sendMessage("Positions OK, build "+wallbuilder.getBuildingName()+"..");
wallbuilder.startBuild();
removeStartedBuilding(player);
}
else {
removeStartedBuilding(player);
player.sendMessage(ChatColor.RED+"ERROR: "+ChatColor.WHITE+wallbuilder.getCoordinateCheckFailed());
}
}
player.sendMessage(
"Got positon 2 of your" + wallbuilder.getBuildingName() + " at [" + ChatColor.BLUE
+ clickedBlock.getX() + ChatColor.WHITE + ", " + ChatColor.BLUE + clickedBlock.getY()
+ ChatColor.WHITE + ", " + ChatColor.BLUE + clickedBlock.getZ()
+ ChatColor.WHITE + "]");
wallbuilder.addCoordinate2(clickedBlock);
if (wallbuilder.checkCoordinates()) {
player.sendMessage("Positions OK, build " + wallbuilder.getBuildingName() + "..");
wallbuilder.startBuild();
removeStartedBuilding(player);
} else {
removeStartedBuilding(player);
player.sendMessage(ChatColor.RED + "ERROR: " + ChatColor.WHITE
+ wallbuilder.getCoordinateCheckFailed());
}
}
*/
return true;
}

Expand Down Expand Up @@ -457,7 +497,7 @@ public LinkedList<Player> getPlayerCuttingTree() {
return playerCuttingTree;
}

public ArrayList<Buildr_Interface_Building> getStartedBuildings() {
public ArrayList<BuilderManager> getStartedBuildings() {
return startedBuildings;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public void onPlayerInteract(PlayerInteractEvent event) {
}

// Builders
if (event.getAction() == Action.RIGHT_CLICK_BLOCK && plugin.checkPlayerItemInHandIsStick(event.getPlayer())) {
if (event.getAction() == Action.RIGHT_CLICK_BLOCK && plugin.checkPlayerItemInHandIsStick(event.getPlayer(), event.getHand())) {
if (!plugin.playerClickedBuildingBlock(event.getPlayer(),event.getClickedBlock())) {
if (player.hasPermission("buildr.feature.block_info")) {
String loc = ChatColor.GOLD + "X: " + block.getX() + " Y: " + block.getY() + " Z: " + block.getZ() + ChatColor.WHITE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,10 @@ public void createSettings(){
w.write("# #");w.newLine();
w.write("# BUILDR CONFIGURATION #");w.newLine();
w.write("# #");w.newLine();
w.write("# v0.8.0 #");w.newLine();
w.write("# v0.8.1 #");w.newLine();
w.write("############################################################");w.newLine();
w.newLine();
w.write("CFG=0.8.0");w.newLine();
w.write("CFG=0.8.1");w.newLine();
w.newLine();
w.write("##### General settings: ####################################");w.newLine();
w.newLine();
Expand Down Expand Up @@ -181,6 +181,9 @@ public void createSettings(){
w.newLine();
w.write("# Enable the slope command");w.newLine(); //done
w.write("FEATURE_BUILDER_SLOPE=true");w.newLine();
w.newLine();
w.write("# Enable the clone command");w.newLine(); //done
w.write("FEATURE_BUILDER_CLONE=true");w.newLine();
w.newLine();
w.write("# Enable the top command");w.newLine(); //done
w.write("FEATURE_TOP=true");w.newLine();
Expand Down
Loading