diff --git a/pom.xml b/pom.xml
index 52605daa..38855197 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.massivecraft
Factions
- 1.6.9.5-2.3.6-RC
+ 1.6.9.5-2.3.7-RC
jar
SaberFactions
diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdShow.java b/src/main/java/com/massivecraft/factions/cmd/CmdShow.java
index 43204fc8..6de26d8a 100644
--- a/src/main/java/com/massivecraft/factions/cmd/CmdShow.java
+++ b/src/main/java/com/massivecraft/factions/cmd/CmdShow.java
@@ -8,11 +8,9 @@ import com.massivecraft.factions.zcore.util.TL;
import com.massivecraft.factions.zcore.util.TagReplacer;
import com.massivecraft.factions.zcore.util.TagUtil;
import mkremins.fanciful.FancyMessage;
-import org.bukkit.scheduler.BukkitScheduler;
import java.util.ArrayList;
import java.util.List;
-import java.util.Objects;
public class CmdShow extends FCommand {
@@ -85,9 +83,9 @@ public class CmdShow extends FCommand {
return; // we only show header for non-normal factions
}
+ List fancy = new ArrayList<>();
List finalShow = show;
Faction finalFaction = faction;
- List fancy = new ArrayList<>();
instance.getServer().getScheduler().runTaskAsynchronously(instance, () -> {
for (String raw : finalShow) {
String parsed = TagUtil.parsePlain(finalFaction, context.fPlayer, raw); // use relations
diff --git a/src/main/java/com/massivecraft/factions/cmd/relational/FRelationCommand.java b/src/main/java/com/massivecraft/factions/cmd/relational/FRelationCommand.java
index f39a7044..37274b7a 100644
--- a/src/main/java/com/massivecraft/factions/cmd/relational/FRelationCommand.java
+++ b/src/main/java/com/massivecraft/factions/cmd/relational/FRelationCommand.java
@@ -39,9 +39,9 @@ public abstract class FRelationCommand extends FCommand {
@Override
public void perform(CommandContext context) {
Faction them = context.argAsFaction(0);
- if (them == null) {
- return;
- }
+ if (them == null) return;
+
+ if(!context.faction.isNormal()) return;
if (!them.isNormal()) {
context.msg(TL.COMMAND_RELATIONS_ALLTHENOPE);
diff --git a/src/main/java/com/massivecraft/factions/cmd/wild/CmdWild.java b/src/main/java/com/massivecraft/factions/cmd/wild/CmdWild.java
index 5b864735..8a42ec0e 100644
--- a/src/main/java/com/massivecraft/factions/cmd/wild/CmdWild.java
+++ b/src/main/java/com/massivecraft/factions/cmd/wild/CmdWild.java
@@ -11,7 +11,6 @@ import com.massivecraft.factions.util.wait.WaitedTask;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.World;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerTeleportEvent;
diff --git a/src/main/java/com/massivecraft/factions/event/PowerRegenEvent.java b/src/main/java/com/massivecraft/factions/event/PowerRegenEvent.java
index eec49cf8..7189415c 100644
--- a/src/main/java/com/massivecraft/factions/event/PowerRegenEvent.java
+++ b/src/main/java/com/massivecraft/factions/event/PowerRegenEvent.java
@@ -1,6 +1,5 @@
package com.massivecraft.factions.event;
-import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.Faction;
import org.bukkit.event.Cancellable;
@@ -10,51 +9,20 @@ import org.bukkit.event.Cancellable;
*/
public class PowerRegenEvent extends FactionPlayerEvent implements Cancellable {
- /**
- * @author Illyria Team
- */
-
private boolean cancelled = false;
- private double modified = 0;
+ private double delta;
- public PowerRegenEvent(Faction f, FPlayer p) {
+ public PowerRegenEvent(Faction f, FPlayer p, double delta) {
super(f, p);
+ this.delta = delta;
}
- /**
- * Get the amount of power this player will regen by default
- *
- * @return power amount gained as a Double.
- */
- public double getDefaultPowerGained() {
- return fPlayer.getMillisPassed() * Conf.powerPerMinute / 60000;
+ public double getDelta() {
+ return delta;
}
- /**
- * Get the amount of custom power this player will gain. Ignored if less than or equal to 0.
- *
- * @return Custom power as a double
- */
- public double getCustomPower() {
- return modified;
- }
-
- /**
- * Set the custom power gain for this event.
- *
- * @param gain Amount of power to be added to player.
- */
- public void setCustomPower(Double gain) {
- modified = gain;
- }
-
- /**
- * Get if we will be using the custom power gain instead of default.
- *
- * @return If we will process the event custom returned as a Boolean.
- */
- public boolean usingCustomPower() {
- return modified > 0;
+ public void setDelta(double delta) {
+ this.delta = delta;
}
@Override
@@ -67,4 +35,4 @@ public class PowerRegenEvent extends FactionPlayerEvent implements Cancellable {
this.cancelled = c;
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java
index f9f25d3b..5f055dbf 100644
--- a/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java
+++ b/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java
@@ -259,8 +259,6 @@ public class FactionsEntityListener implements Listener {
private boolean checkExplosionForBlock(Entity boomer, Block block) {
Faction faction = Board.getInstance().getFactionAt(new FLocation(block.getLocation()));
- if(FactionsPlugin.getInstance().getTimerManager().graceTimer.getRemaining() > 0) return false;
-
if (faction.noExplosionsInTerritory() || (faction.isPeaceful() && Conf.peacefulTerritoryDisableBoom))
return false;
// faction is peaceful and has explosions set to disabled
diff --git a/src/main/java/com/massivecraft/factions/zcore/MPlugin.java b/src/main/java/com/massivecraft/factions/zcore/MPlugin.java
index f4237482..cc7c4a9b 100644
--- a/src/main/java/com/massivecraft/factions/zcore/MPlugin.java
+++ b/src/main/java/com/massivecraft/factions/zcore/MPlugin.java
@@ -176,15 +176,13 @@ public abstract class MPlugin extends JavaPlugin {
this.getServer().getScheduler().cancelTask(saveTask);
saveTask = null;
}
-
- this.getServer().getScheduler().cancelTasks(this);
-
// only save data if plugin actually loaded successfully
if (loadSuccessful) {
Factions.getInstance().forceSave();
FPlayers.getInstance().forceSave();
Board.getInstance().forceSave();
}
+
log("Disabled");
}
diff --git a/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFPlayer.java b/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFPlayer.java
index 1b875826..14f4623e 100644
--- a/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFPlayer.java
+++ b/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFPlayer.java
@@ -663,25 +663,34 @@ public abstract class MemoryFPlayer implements FPlayer {
public void updatePower() {
if (this.isOffline()) {
losePowerFromBeingOffline();
- if (!Conf.powerRegenOffline) return;
+ if (!Conf.powerRegenOffline) {
+ return;
+ }
} else if (hasFaction() && getFaction().isPowerFrozen()) {
return; // Don't let power regen if faction power is frozen.
}
long now = System.currentTimeMillis();
- this.millisPassed = now - this.lastPowerUpdateTime;
+ long millisPassed = now - this.lastPowerUpdateTime;
this.lastPowerUpdateTime = now;
Player thisPlayer = this.getPlayer();
- if (thisPlayer != null && thisPlayer.isDead())
+ if (thisPlayer != null && thisPlayer.isDead()) {
return; // don't let dead players regain power until they respawn
- PowerRegenEvent powerRegenEvent = new PowerRegenEvent(getFaction(), this);
- Bukkit.getScheduler().runTask(FactionsPlugin.getInstance(), () -> Bukkit.getServer().getPluginManager().callEvent(powerRegenEvent));
+ }
- if (!powerRegenEvent.isCancelled())
- if (!powerRegenEvent.usingCustomPower())
- this.alterPower(millisPassed * Conf.powerPerMinute / 60000); // millisPerMinute : 60 * 1000
- else this.alterPower(+powerRegenEvent.getCustomPower());
+ double delta = millisPassed * Conf.powerPerMinute / 60000; // millisPerMinute : 60 * 1000
+ if (Bukkit.getPluginManager().getPlugin("FactionsPlugin") != null) {
+ Bukkit.getScheduler().runTask(FactionsPlugin.getInstance(), () -> {
+ PowerRegenEvent powerRegenEvent = new PowerRegenEvent(getFaction(), this, delta);
+ Bukkit.getServer().getPluginManager().callEvent(powerRegenEvent);
+ if (!powerRegenEvent.isCancelled()) {
+ this.alterPower(powerRegenEvent.getDelta());
+ }
+ });
+ } else {
+ this.alterPower(delta);
+ }
}
public void losePowerFromBeingOffline() {
diff --git a/src/main/java/com/massivecraft/factions/zcore/util/TextUtil.java b/src/main/java/com/massivecraft/factions/zcore/util/TextUtil.java
index 1b271c0d..335d8f92 100644
--- a/src/main/java/com/massivecraft/factions/zcore/util/TextUtil.java
+++ b/src/main/java/com/massivecraft/factions/zcore/util/TextUtil.java
@@ -65,10 +65,14 @@ public class TextUtil {
text = "";
}
ChatColor tempColor = ChatColor.getByChar(chars[i + 1]);
- if (tempColor.isColor()) {
- color = tempColor;
- } else {
- style = tempColor;
+ if (tempColor != null) {
+ if (tempColor == ChatColor.RESET) {
+ color = ChatColor.WHITE;
+ } else if (tempColor.isColor()) {
+ color = tempColor;
+ } else {
+ style = tempColor;
+ }
}
i++; // skip color char
} else {
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 5a889bca..01f5ef74 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -1250,7 +1250,7 @@ fupgrades:
Members:
Max-Level: 3
Members-Limit:
- level-1: 5 #The Number Of Members It Will Increase By
+ level-1: 5 #The Number Of Members It Will Increase By
level-2: 10
level-3: 15
Cost:
@@ -1448,7 +1448,7 @@ Wild:
Zones:
# You may create your own zones here please just follow the original format #
Close:
- World: World
+ World: world
Range:
MinX: -200
MaxX: 200
@@ -1463,7 +1463,7 @@ Wild:
Name: '&cLow Range'
Slot: 1
Medium:
- World: World
+ World: world
Range:
MinX: -400
MaxX: 400
@@ -1478,7 +1478,7 @@ Wild:
Name: '&cMedium Range'
Slot: 4
Far:
- World: World
+ World: world
Range:
MinX: -800
MaxX: 800
diff --git a/src/main/resources/lang/ja_JP.yml b/src/main/resources/lang/ja_JP.yml
index 102ecf77..038cb28c 100644
--- a/src/main/resources/lang/ja_JP.yml
+++ b/src/main/resources/lang/ja_JP.yml
@@ -89,8 +89,8 @@ COMMAND:
INUSE: That tag is already in use.
TOCREATE: to create a new faction
FORCREATE: for creating a new faction
- ERROR: There was an internal error while trying to create your faction. Please try again.
- CREATED: %s created a new faction %s
+ ERROR: 'There was an internal error while trying to create your faction. Please try again.'
+ CREATED: '%s created a new faction %s'
CREATEDLOG: ' は新しい党派を造りました: '
YOUSHOULD: 'You should now: %s'
DEINVITE: