Skip to content

Commit

Permalink
Merge pull request #30 from FabianGal45/master
Browse files Browse the repository at this point in the history
Added "UseDecimalCurrency" to the config.yml & changed the rent sign
  • Loading branch information
EtienneDx authored May 26, 2021
2 parents 44375fd + 00777b9 commit d7fa646
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 8 deletions.
4 changes: 4 additions & 0 deletions src/me/EtienneDx/RealEstate/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ public class Config extends AnnotationConfig
public String cfgReplaceRent = "FOR RENT";
@ConfigField(name="RealEstate.Keywords.Replace.Lease", comment = "What is displayed on signs for preoperties to lease")
public String cfgReplaceLease = "FOR LEASE";
@ConfigField(name="RealEstate.Keywords.Replace.Ongoing.Rent", comment = "What is displayed on the first line of the sign once someone rents a claim.")
public String cfgReplaceOngoingRent = "[Rented]";

@ConfigField(name="RealEstate.Rules.Sell", comment = "Is selling claims enabled?")
public boolean cfgEnableSell = true;
Expand All @@ -61,6 +63,8 @@ public class Config extends AnnotationConfig
public boolean cfgUseCurrencySymbol = false;
@ConfigField(name="RealEstate.Rules.CurrencySymbol", comment = "In case UseCurrencySymbol is true, what symbol should be used?")
public String cfgCurrencySymbol = "$";
@ConfigField(name="RealEstate.Rules.UseDecimalCurrency", comment = "Allow players to use decimal currency e.g. $10.15")
public boolean cfgUseDecimalCurrency = true;

@ConfigField(name="RealEstate.Messaging.MessageOwner", comment = "Should the owner get messaged once one of his claim is rented/leased/bought and on end of contracts?")
public boolean cfgMessageOwner = true;
Expand Down
21 changes: 21 additions & 0 deletions src/me/EtienneDx/RealEstate/REListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,13 @@ public void onSignChange(SignChangeEvent event)
event.getBlock().breakNaturally();
return;
}
if((price%1)!=0 && !RealEstate.instance.config.cfgUseDecimalCurrency) //if the price has a decimal number AND Decimal currency is disabled
{
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.RED + "The price cannot have a decimal number!");
event.setCancelled(true);
event.getBlock().breakNaturally();
return;
}

if(claim.isAdminClaim())
{
Expand Down Expand Up @@ -175,6 +182,13 @@ else if(RealEstate.instance.config.cfgRentKeywords.contains(event.getLine(0).toL
event.getBlock().breakNaturally();
return;
}
if((price%1)!=0 && !RealEstate.instance.config.cfgUseDecimalCurrency) //if the price has a decimal number AND Decimal currency is disabled
{
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.RED + "The price cannot have a decimal number!");
event.setCancelled(true);
event.getBlock().breakNaturally();
return;
}

if(event.getLine(2).isEmpty())
{
Expand Down Expand Up @@ -279,6 +293,13 @@ else if(RealEstate.instance.config.cfgLeaseKeywords.contains(event.getLine(0).to
event.getBlock().breakNaturally();
return;
}
if((price%1)!=0 && !RealEstate.instance.config.cfgUseDecimalCurrency) //if the price has a decimal number AND Decimal currency is disabled
{
player.sendMessage(RealEstate.instance.config.chatPrefix + ChatColor.RED + "The price cannot have a decimal number!");
event.setCancelled(true);
event.getBlock().breakNaturally();
return;
}

if(event.getLine(2).isEmpty())
{
Expand Down
18 changes: 16 additions & 2 deletions src/me/EtienneDx/RealEstate/Transactions/ClaimLease.java
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,25 @@ public boolean update()
//s.setLine(2, paymentsLeft + "x " + price + " " + RealEstate.econ.currencyNamePlural());
if(RealEstate.instance.config.cfgUseCurrencySymbol)
{
s.setLine(2, paymentsLeft + "x " + RealEstate.instance.config.cfgCurrencySymbol + " " + price);
if(RealEstate.instance.config.cfgUseDecimalCurrency == false)
{
s.setLine(2, paymentsLeft + "x " + RealEstate.instance.config.cfgCurrencySymbol + " " + (int)Math.round(price));
}
else
{
s.setLine(2, paymentsLeft + "x " + RealEstate.instance.config.cfgCurrencySymbol + " " + price);
}
}
else
{
s.setLine(2, paymentsLeft + "x " + price + " " + RealEstate.econ.currencyNamePlural());
if(RealEstate.instance.config.cfgUseDecimalCurrency == false)
{
s.setLine(2, paymentsLeft + "x " + (int)Math.round(price) + " " + RealEstate.econ.currencyNamePlural());
}
else
{
s.setLine(2, paymentsLeft + "x " + price + " " + RealEstate.econ.currencyNamePlural());
}
}
s.setLine(3, Utils.getTime(frequency, null, false));
s.update(true);
Expand Down
23 changes: 19 additions & 4 deletions src/me/EtienneDx/RealEstate/Transactions/ClaimRent.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,26 @@ public boolean update()
//s.setLine(2, owner != null ? Bukkit.getOfflinePlayer(owner).getName() : "SERVER");
if(RealEstate.instance.config.cfgUseCurrencySymbol)
{
s.setLine(2, RealEstate.instance.config.cfgCurrencySymbol + " " + price);
if(RealEstate.instance.config.cfgUseDecimalCurrency == false)
{
s.setLine(2, RealEstate.instance.config.cfgCurrencySymbol + " " + (int)Math.round(price));
}
else
{
s.setLine(2, RealEstate.instance.config.cfgCurrencySymbol + " " + price);
}

}
else
{
s.setLine(2, price + " " + RealEstate.econ.currencyNamePlural());
if(RealEstate.instance.config.cfgUseDecimalCurrency == false)
{
s.setLine(2, (int)Math.round(price) + " " + RealEstate.econ.currencyNamePlural());
}
else
{
s.setLine(2, price + " " + RealEstate.econ.currencyNamePlural());
}
}
s.setLine(3, (maxPeriod > 1 ? maxPeriod + "x " : "") + Utils.getTime(duration, null, false));
s.update(true);
Expand All @@ -107,8 +122,8 @@ public boolean update()
else if(sign.getBlock().getState() instanceof Sign)
{
Sign s = (Sign) sign.getBlock().getState();
s.setLine(0, RealEstate.instance.config.cfgSignsHeader);
s.setLine(1, Utils.getSignString("Rented by " + Bukkit.getOfflinePlayer(buyer).getName()));
s.setLine(0, ChatColor.GOLD + RealEstate.instance.config.cfgReplaceOngoingRent); //Changed the header to "[Rented]" so that it won't waste space on the next line and allow the name of the player to show underneath.
s.setLine(1, Utils.getSignString(Bukkit.getOfflinePlayer(buyer).getName()));//remove "Rented by"
s.setLine(2, "Time remaining : ");

int daysLeft = duration - days - 1;// we need to remove the current day
Expand Down
18 changes: 16 additions & 2 deletions src/me/EtienneDx/RealEstate/Transactions/ClaimSell.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,25 @@ public boolean update()
s.setLine(2, owner != null ? Utils.getSignString(Bukkit.getOfflinePlayer(owner).getName()) : "SERVER");
if(RealEstate.instance.config.cfgUseCurrencySymbol)
{
s.setLine(3, RealEstate.instance.config.cfgCurrencySymbol + " " + price);
if(RealEstate.instance.config.cfgUseDecimalCurrency == false)
{
s.setLine(3, RealEstate.instance.config.cfgCurrencySymbol + " " + (int)Math.round(price));
}
else
{
s.setLine(3, RealEstate.instance.config.cfgCurrencySymbol + " " + price);
}
}
else
{
s.setLine(3, price + " " + RealEstate.econ.currencyNamePlural());
if(RealEstate.instance.config.cfgUseDecimalCurrency == false)
{
s.setLine(3, (int)Math.round(price) + " " + RealEstate.econ.currencyNamePlural());
}
else
{
s.setLine(3, price + " " + RealEstate.econ.currencyNamePlural());
}
}
s.update(true);
}
Expand Down

0 comments on commit d7fa646

Please sign in to comment.