Multiple bug fixes

This commit is contained in:
EtienneDx 2020-02-27 18:09:22 +01:00
parent 44f64dd400
commit 5570e8bec2
7 changed files with 130 additions and 96 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>Me.EtienneDx</groupId> <groupId>Me.EtienneDx</groupId>
<artifactId>RealEstate</artifactId> <artifactId>RealEstate</artifactId>
<version>1.0.0</version> <version>1.1.1</version>
<name>RealEstate</name> <name>RealEstate</name>
<description>A spigot plugin for selling, renting and leasing GriefPrevention claims</description> <description>A spigot plugin for selling, renting and leasing GriefPrevention claims</description>
<build> <build>
@ -88,7 +88,7 @@
<dependency> <dependency>
<groupId>org.spigotmc</groupId> <groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId> <artifactId>spigot-api</artifactId>
<version>1.14-R0.1-SNAPSHOT</version> <version>1.15.2-R0.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -58,7 +58,7 @@ public class RECommand extends BaseCommand
@Description("Displays the list of all real estate offers currently existing") @Description("Displays the list of all real estate offers currently existing")
@CommandCompletion("all|sell|rent|lease") @CommandCompletion("all|sell|rent|lease")
@Syntax("[all|sell|rent|lease] <page>") @Syntax("[all|sell|rent|lease] <page>")
public static void list(Player player, @Optional String type, @Default("1") int page) public static void list(CommandSender player, @Optional String type, @Default("1") int page)
{ {
if(page <= 0) if(page <= 0)
{ {
@ -94,34 +94,52 @@ public class RECommand extends BaseCommand
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.RED + "Invalid option provided!"); player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.RED + "Invalid option provided!");
return; return;
} }
player.sendMessage(ChatColor.DARK_BLUE + "----= " + ChatColor.WHITE + "[ " + ChatColor.GOLD + typeMsg + ChatColor.DARK_GREEN + " " + if(count == 0)
page + ChatColor.GOLD + " / " + ChatColor.DARK_GREEN + (int)Math.ceil(count / (double)RealEstate.instance.config.cfgPageSize) +
ChatColor.WHITE + " ]" + ChatColor.DARK_BLUE + " =----");
ArrayList<Transaction> transactions = new ArrayList<Transaction>(count);
if(type == null || type.equalsIgnoreCase("all"))
{ {
transactions.addAll(RealEstate.transactionsStore.claimSell.values()); player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.RED + "No transaction have been found!");
transactions.addAll(RealEstate.transactionsStore.claimRent.values());
transactions.addAll(RealEstate.transactionsStore.claimLease.values());
} }
else if(type.equalsIgnoreCase("sell")) else
{ {
transactions.addAll(RealEstate.transactionsStore.claimSell.values()); ArrayList<Transaction> transactions = new ArrayList<Transaction>(count);
} if(type == null || type.equalsIgnoreCase("all"))
else if(type.equalsIgnoreCase("rent")) {
{ transactions.addAll(RealEstate.transactionsStore.claimSell.values());
transactions.addAll(RealEstate.transactionsStore.claimRent.values()); transactions.addAll(RealEstate.transactionsStore.claimRent.values());
} transactions.addAll(RealEstate.transactionsStore.claimLease.values());
else if(type.equalsIgnoreCase("lease")) }
{ else if(type.equalsIgnoreCase("sell"))
transactions.addAll(RealEstate.transactionsStore.claimLease.values()); {
} transactions.addAll(RealEstate.transactionsStore.claimSell.values());
}
else if(type.equalsIgnoreCase("rent"))
{
transactions.addAll(RealEstate.transactionsStore.claimRent.values());
}
else if(type.equalsIgnoreCase("lease"))
{
transactions.addAll(RealEstate.transactionsStore.claimLease.values());
}
int max = Math.min(start + RealEstate.instance.config.cfgPageSize, count); int max = Math.min(start + RealEstate.instance.config.cfgPageSize, count);
for(int i = start; i < max; i++) if(start <= max)
{ {
RealEstate.instance.log.info("transaction " + i); player.sendMessage(ChatColor.DARK_BLUE + "----= " + ChatColor.WHITE + "[ " + ChatColor.GOLD + typeMsg + " page " + ChatColor.DARK_GREEN + " " +
transactions.get(i).msgInfo(player); page + ChatColor.GOLD + " / " + ChatColor.DARK_GREEN + (int)Math.ceil(count / (double)RealEstate.instance.config.cfgPageSize) +
ChatColor.WHITE + " ]" + ChatColor.DARK_BLUE + " =----");
for(int i = start; i < max; i++)
{
RealEstate.instance.log.info("transaction " + i);
transactions.get(i).msgInfo(player);
}
if(page < (int)Math.ceil(count / (double)RealEstate.instance.config.cfgPageSize))
{
player.sendMessage(ChatColor.GOLD + "To see the next page, type " + ChatColor.GREEN + "/re list " + (type != null ? type : "all") + " " + (page + 1));
}
}
else
{
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.RED + "This page does not exist!");
}
} }
} }
@ -270,24 +288,27 @@ public class RECommand extends BaseCommand
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.AQUA + player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.AQUA +
"The proposition has been successfully created!"); "The proposition has been successfully created!");
UUID other = player.getUniqueId().equals(bt.owner) ? bt.buyer : bt.owner; UUID other = player.getUniqueId().equals(bt.owner) ? bt.buyer : bt.owner;
OfflinePlayer otherP = Bukkit.getOfflinePlayer(other); if(other != null)// not an admin claim
Location loc = player.getLocation();
String claimType = GriefPrevention.instance.dataStore.getClaimAt(loc, false, null).parent == null ? "claim" : "subclaim";
if(otherP.isOnline())
{ {
((Player)otherP).sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() + OfflinePlayer otherP = Bukkit.getOfflinePlayer(other);
ChatColor.AQUA + " has created an offer to exit the rent/lease contract for the " + claimType + " at " + Location loc = player.getLocation();
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + ", Z: " String claimType = GriefPrevention.instance.dataStore.getClaimAt(loc, false, null).parent == null ? "claim" : "subclaim";
+ loc.getBlockZ() + "]" + ChatColor.AQUA + " for " + ChatColor.GREEN + price + " " + RealEstate.econ.currencyNamePlural()); if(otherP.isOnline())
{
((Player)otherP).sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has created an offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + ", Z: "
+ loc.getBlockZ() + "]" + ChatColor.AQUA + " for " + ChatColor.GREEN + price + " " + RealEstate.econ.currencyNamePlural());
}
else if(RealEstate.instance.config.cfgMailOffline && RealEstate.ess != null)
{
User u = RealEstate.ess.getUser(other);
u.addMail(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has created an offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + ", Z: "
+ loc.getBlockZ() + "]" + ChatColor.AQUA + " for " + ChatColor.GREEN + price + " " + RealEstate.econ.currencyNamePlural());
}
} }
else if(RealEstate.instance.config.cfgMailOffline && RealEstate.ess != null)
{
User u = RealEstate.ess.getUser(other);
u.addMail(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has created an offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + ", Z: "
+ loc.getBlockZ() + "]" + ChatColor.AQUA + " for " + ChatColor.GREEN + price + " " + RealEstate.econ.currencyNamePlural());
}
} }
@Subcommand("accept") @Subcommand("accept")
@ -313,22 +334,25 @@ public class RECommand extends BaseCommand
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.AQUA + player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.AQUA +
"This exit offer has been accepted, the " + claimType + " is no longer rented or leased!"); "This exit offer has been accepted, the " + claimType + " is no longer rented or leased!");
UUID other = player.getUniqueId().equals(bt.owner) ? bt.buyer : bt.owner; UUID other = player.getUniqueId().equals(bt.owner) ? bt.buyer : bt.owner;
OfflinePlayer otherP = Bukkit.getOfflinePlayer(other); if(other != null)
if(otherP.isOnline())
{ {
((Player)otherP).sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() + OfflinePlayer otherP = Bukkit.getOfflinePlayer(other);
ChatColor.AQUA + " has accepted your offer to exit the rent/lease contract for the " + claimType + " at " + if(otherP.isOnline())
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + {
", Z: " + loc.getBlockZ() + "]. It is no longer rented or leased."); ((Player)otherP).sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has accepted your offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() +
", Z: " + loc.getBlockZ() + "]. It is no longer rented or leased.");
}
else if(RealEstate.instance.config.cfgMailOffline && RealEstate.ess != null)
{
User u = RealEstate.ess.getUser(other);
u.addMail(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has accepted your offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() +
", Z: " + loc.getBlockZ() + "]. It is no longer rented or leased.");
}
} }
else if(RealEstate.instance.config.cfgMailOffline && RealEstate.ess != null)
{
User u = RealEstate.ess.getUser(other);
u.addMail(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has accepted your offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() +
", Z: " + loc.getBlockZ() + "]. It is no longer rented or leased.");
}
bt.exitOffer = null; bt.exitOffer = null;
claim.dropPermission(bt.buyer.toString()); claim.dropPermission(bt.buyer.toString());
GriefPrevention.instance.dataStore.saveClaim(claim); GriefPrevention.instance.dataStore.saveClaim(claim);
@ -362,22 +386,25 @@ public class RECommand extends BaseCommand
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.AQUA + player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.AQUA +
"This exit offer has been refused"); "This exit offer has been refused");
UUID other = player.getUniqueId().equals(bt.owner) ? bt.buyer : bt.owner; UUID other = player.getUniqueId().equals(bt.owner) ? bt.buyer : bt.owner;
OfflinePlayer otherP = Bukkit.getOfflinePlayer(other); if(other != null)
if(otherP.isOnline())
{ {
((Player)otherP).sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() + OfflinePlayer otherP = Bukkit.getOfflinePlayer(other);
ChatColor.AQUA + " has refused your offer to exit the rent/lease contract for the " + claimType + " at " + if(otherP.isOnline())
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + {
", Z: " + loc.getBlockZ() + "]"); ((Player)otherP).sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has refused your offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() +
", Z: " + loc.getBlockZ() + "]");
}
else if(RealEstate.instance.config.cfgMailOffline && RealEstate.ess != null)
{
User u = RealEstate.ess.getUser(other);
u.addMail(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has refused your offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() +
", Z: " + loc.getBlockZ() + "]");
}
} }
else if(RealEstate.instance.config.cfgMailOffline && RealEstate.ess != null)
{
User u = RealEstate.ess.getUser(other);
u.addMail(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has refused your offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() +
", Z: " + loc.getBlockZ() + "]");
}
} }
} }
@ -395,22 +422,25 @@ public class RECommand extends BaseCommand
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.AQUA + player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.AQUA +
"This exit offer has been cancelled"); "This exit offer has been cancelled");
UUID other = player.getUniqueId().equals(bt.owner) ? bt.buyer : bt.owner; UUID other = player.getUniqueId().equals(bt.owner) ? bt.buyer : bt.owner;
OfflinePlayer otherP = Bukkit.getOfflinePlayer(other); if(other != null)
if(otherP.isOnline())
{ {
((Player)otherP).sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() + OfflinePlayer otherP = Bukkit.getOfflinePlayer(other);
ChatColor.AQUA + " has cancelled his offer to exit the rent/lease contract for the " + claimType + " at " + if(otherP.isOnline())
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + ", Z: " {
+ loc.getBlockZ() + "]"); ((Player)otherP).sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has cancelled his offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + ", Z: "
+ loc.getBlockZ() + "]");
}
else if(RealEstate.instance.config.cfgMailOffline && RealEstate.ess != null)
{
User u = RealEstate.ess.getUser(other);
u.addMail(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has cancelled his offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + ", Z: "
+ loc.getBlockZ() + "]");
}
} }
else if(RealEstate.instance.config.cfgMailOffline && RealEstate.ess != null)
{
User u = RealEstate.ess.getUser(other);
u.addMail(RealEstate.instance.config.chatPrefix + ChatColor.GREEN + player.getName() +
ChatColor.AQUA + " has cancelled his offer to exit the rent/lease contract for the " + claimType + " at " +
ChatColor.BLUE + "[" + loc.getWorld().getName() + ", X: " + loc.getBlockX() + ", Y: " + loc.getBlockY() + ", Z: "
+ loc.getBlockZ() + "]");
}
} }
else else
{ {

View File

@ -163,8 +163,8 @@ public class RealEstate extends JavaPlugin
{ {
throw new ConditionFailedException("This command only applies to rented or leased claims!"); throw new ConditionFailedException("This command only applies to rented or leased claims!");
} }
if((((BoughtTransaction)tr).buyer != null&& ((BoughtTransaction)tr).buyer.equals(context.getIssuer().getPlayer().getUniqueId())) || if((((BoughtTransaction)tr).buyer != null && ((BoughtTransaction)tr).buyer.equals(context.getIssuer().getPlayer().getUniqueId())) ||
tr.getOwner().equals(context.getIssuer().getPlayer().getUniqueId())) (tr.getOwner() != null && tr.getOwner().equals(context.getIssuer().getPlayer().getUniqueId())))
{ {
return; return;
} }

View File

@ -11,6 +11,7 @@ import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.block.Sign; import org.bukkit.block.Sign;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.earth2me.essentials.User; import com.earth2me.essentials.User;
@ -417,9 +418,9 @@ public class ClaimLease extends BoughtTransaction
} }
@Override @Override
public void msgInfo(Player player) public void msgInfo(CommandSender cs)
{ {
player.sendMessage(ChatColor.DARK_GREEN + "" + GriefPrevention.instance.dataStore.getClaim(claimId).getArea() + cs.sendMessage(ChatColor.DARK_GREEN + "" + GriefPrevention.instance.dataStore.getClaim(claimId).getArea() +
ChatColor.AQUA + " blocks to " + ChatColor.DARK_GREEN + "Lease " + ChatColor.AQUA + "at " + ChatColor.DARK_GREEN + ChatColor.AQUA + " blocks to " + ChatColor.DARK_GREEN + "Lease " + ChatColor.AQUA + "at " + ChatColor.DARK_GREEN +
"[" + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getWorld().getName() + ", " + "[" + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getWorld().getName() + ", " +
"X: " + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getBlockX() + ", " + "X: " + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getBlockX() + ", " +

View File

@ -11,6 +11,7 @@ import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.block.Sign; import org.bukkit.block.Sign;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.earth2me.essentials.User; import com.earth2me.essentials.User;
@ -255,7 +256,7 @@ public class ClaimRent extends BoughtTransaction
} }
if(claim.parent == null && owner != null && !owner.equals(claim.ownerID)) if(claim.parent == null && owner != null && !owner.equals(claim.ownerID))
{ {
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.RED + Bukkit.getPlayer(owner).getDisplayName() + player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.RED + Bukkit.getOfflinePlayer(owner).getName() +
" does not have the right to rent this " + claimType + "!"); " does not have the right to rent this " + claimType + "!");
RealEstate.transactionsStore.cancelTransaction(claim); RealEstate.transactionsStore.cancelTransaction(claim);
return; return;
@ -396,9 +397,9 @@ public class ClaimRent extends BoughtTransaction
} }
@Override @Override
public void msgInfo(Player player) public void msgInfo(CommandSender cs)
{ {
player.sendMessage(ChatColor.DARK_GREEN + "" + GriefPrevention.instance.dataStore.getClaim(claimId).getArea() + cs.sendMessage(ChatColor.DARK_GREEN + "" + GriefPrevention.instance.dataStore.getClaim(claimId).getArea() +
ChatColor.AQUA + " blocks to " + ChatColor.DARK_GREEN + "Rent " + ChatColor.AQUA + "at " + ChatColor.DARK_GREEN + ChatColor.AQUA + " blocks to " + ChatColor.DARK_GREEN + "Rent " + ChatColor.AQUA + "at " + ChatColor.DARK_GREEN +
"[" + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getWorld().getName() + ", " + "[" + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getWorld().getName() + ", " +
"X: " + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getBlockX() + ", " + "X: " + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getBlockX() + ", " +

View File

@ -17,6 +17,7 @@ import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.block.Sign; import org.bukkit.block.Sign;
import org.bukkit.command.CommandSender;
public class ClaimSell extends ClaimTransaction public class ClaimSell extends ClaimTransaction
{ {
@ -193,9 +194,9 @@ public class ClaimSell extends ClaimTransaction
} }
@Override @Override
public void msgInfo(Player player) public void msgInfo(CommandSender cs)
{ {
player.sendMessage(ChatColor.DARK_GREEN + "" + GriefPrevention.instance.dataStore.getClaim(claimId).getArea() + cs.sendMessage(ChatColor.DARK_GREEN + "" + GriefPrevention.instance.dataStore.getClaim(claimId).getArea() +
ChatColor.AQUA + " blocks to " + ChatColor.DARK_GREEN + "Sell " + ChatColor.AQUA + "at " + ChatColor.DARK_GREEN + ChatColor.AQUA + " blocks to " + ChatColor.DARK_GREEN + "Sell " + ChatColor.AQUA + "at " + ChatColor.DARK_GREEN +
"[" + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getWorld().getName() + ", " + "[" + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getWorld().getName() + ", " +
"X: " + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getBlockX() + ", " + "X: " + GriefPrevention.instance.dataStore.getClaim(claimId).getLesserBoundaryCorner().getBlockX() + ", " +

View File

@ -3,6 +3,7 @@ package me.EtienneDx.RealEstate.Transactions;
import java.util.UUID; import java.util.UUID;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public interface Transaction public interface Transaction
@ -14,5 +15,5 @@ public interface Transaction
public void preview(Player player); public void preview(Player player);
public boolean update(); public boolean update();
public boolean tryCancelTransaction(Player p); public boolean tryCancelTransaction(Player p);
public void msgInfo(Player player); public void msgInfo(CommandSender cs);
} }