[factions-banking] Fixed faction block to be correct faction on first place. Added faction tiers.
Some checks are pending
build / build (21) (push) Waiting to run
Some checks are pending
build / build (21) (push) Waiting to run
This commit is contained in:
parent
fa5bc741ec
commit
0ed8838de0
@ -47,7 +47,7 @@ public class FactionBeacon extends AbstractNode {
|
||||
@Override
|
||||
public void RegisterCallbacks() {
|
||||
System.out.println("REGISTER CALLBACKS FOR FACTION BEACON CALLED");
|
||||
PlayerInBaseCallback.EVENT.register((player, world, power) -> {
|
||||
PlayerInBaseCallback.EVENT.register((player, world, power, factionTier) -> {
|
||||
// Make sure player can fly while inside the border. We don't ever want to run this more than once!
|
||||
// player.sendMessage(Text.of("Applying effects"));
|
||||
ApplyEffects((ServerPlayerEntity) player);
|
||||
|
@ -78,7 +78,7 @@ public class FactionFlight extends AbstractNode {
|
||||
|
||||
@Override
|
||||
public void RegisterCallbacks() {
|
||||
PlayerEnteredBaseCallback.EVENT.register((player, world, power) -> {
|
||||
PlayerEnteredBaseCallback.EVENT.register((player, world, power, factionTier) -> {
|
||||
player.sendMessage(Text.of("Faction flight enabled"));
|
||||
canFly = true;
|
||||
ServerPlayerEntity serverPlayer = (ServerPlayerEntity) player;
|
||||
@ -88,7 +88,9 @@ public class FactionFlight extends AbstractNode {
|
||||
return ActionResult.PASS;
|
||||
});
|
||||
|
||||
PlayerInBaseCallback.EVENT.register((player, world, power) -> {
|
||||
PlayerInBaseCallback.EVENT.register((player, world, power, factionTier) -> {
|
||||
System.out.println("Faction power is " + power);
|
||||
System.out.println("Faction tier is " + factionTier.name());
|
||||
// Make sure player can fly while inside the border. We don't ever want to run this more than once!
|
||||
if (!canFly && !loginInBaseToggle) {
|
||||
player.sendMessage(Text.of("Faction flight enabled"));
|
||||
@ -100,7 +102,7 @@ public class FactionFlight extends AbstractNode {
|
||||
return ActionResult.PASS;
|
||||
});
|
||||
|
||||
PlayerCommandFlightCallback.EVENT.register((player, world, power) -> {
|
||||
PlayerCommandFlightCallback.EVENT.register((player, world, power, factionTier) -> {
|
||||
ServerPlayerEntity serverPlayer = (ServerPlayerEntity) player;
|
||||
Boolean isFlying = TurnOnFlight(serverPlayer);
|
||||
// This is a toggle command; so first we get if the player is flying
|
||||
@ -124,7 +126,7 @@ public class FactionFlight extends AbstractNode {
|
||||
return ActionResult.PASS;
|
||||
});
|
||||
|
||||
PlayerExitedBaseCallback.EVENT.register((player, world, power) -> {
|
||||
PlayerExitedBaseCallback.EVENT.register((player, world, power, factionTier) -> {
|
||||
Timer timer = new Timer();
|
||||
canFly = false;
|
||||
player.sendMessage(Text.of("You left the faction's perimeter! Flight will disable in 5 seconds..."));
|
||||
|
@ -2,7 +2,6 @@ package jesse.keeblarcraft.Commands;
|
||||
|
||||
import com.mojang.brigadier.arguments.IntegerArgumentType;
|
||||
import com.mojang.brigadier.arguments.StringArgumentType;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -11,7 +10,6 @@ import java.util.Map.Entry;
|
||||
|
||||
import static java.util.Map.entry;
|
||||
|
||||
import jesse.keeblarcraft.BankMgr.BankAccountType;
|
||||
import jesse.keeblarcraft.BankMgr.BankManager;
|
||||
import jesse.keeblarcraft.BankMgr.IndividualAccount;
|
||||
import jesse.keeblarcraft.BankMgr.IndividualBank;
|
||||
@ -20,7 +18,6 @@ import jesse.keeblarcraft.ChatStuff.ChatFormatting.COLOR_CODE;
|
||||
import jesse.keeblarcraft.ChatStuff.ChatMsg;
|
||||
import jesse.keeblarcraft.ConfigMgr.ConfigManager;
|
||||
import net.minecraft.server.command.CommandManager;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.Text;
|
||||
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
|
||||
|
@ -8,11 +8,13 @@ import com.mojang.brigadier.context.CommandContext;
|
||||
|
||||
import jesse.keeblarcraft.FactionMgr.FactionManager;
|
||||
import jesse.keeblarcraft.FactionMgr.Callbacks.PlayerCommandFlightCallback;
|
||||
import jesse.keeblarcraft.FactionMgr.FactionTier.FactionTierEnum;
|
||||
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
|
||||
import net.minecraft.command.argument.EntityArgumentType;
|
||||
import net.minecraft.server.command.CommandManager;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.ActionResult;
|
||||
|
||||
@ -32,6 +34,9 @@ public class FactionCommands {
|
||||
var promote = CommandManager.literal("promote").build();
|
||||
var demote = CommandManager.literal("demote").build();
|
||||
var kick = CommandManager.literal("kick").build();
|
||||
var set = CommandManager.literal("set").build();
|
||||
var get = CommandManager.literal("get").build();
|
||||
var power = CommandManager.literal("power").build();
|
||||
var info = CommandManager.literal("info")
|
||||
.executes(context -> GetFactionInformation(context.getSource().getPlayer()))
|
||||
.build();
|
||||
@ -69,6 +74,15 @@ public class FactionCommands {
|
||||
.executes(context -> InvitePlayerToFaction(context, EntityArgumentType.getPlayer(context, "target_name")))
|
||||
.build();
|
||||
|
||||
var setPower = CommandManager.literal("power").build();
|
||||
var setPowerAmnt = CommandManager.argument("power_amount", IntegerArgumentType.integer()).build();
|
||||
var setPowerName = CommandManager.argument("set_power_name", StringArgumentType.string())
|
||||
.executes(context -> SetFactionPower(context.getSource().getPlayer(), StringArgumentType.getString(context, "set_power_name"), IntegerArgumentType.getInteger(context, "power_amount")))
|
||||
.build();
|
||||
|
||||
var getPowerName = CommandManager.argument("get_power_name", StringArgumentType.string())
|
||||
.executes(context -> GetFactionPower(context.getSource().getPlayer(), StringArgumentType.getString(context, "get_power_name"))).build();
|
||||
|
||||
var leaveFaction = CommandManager.literal("leave").executes(context -> LeaveFaction(context)
|
||||
).build();
|
||||
|
||||
@ -90,6 +104,15 @@ public class FactionCommands {
|
||||
factionNode.addChild(info);
|
||||
factionNode.addChild(invite);
|
||||
factionNode.addChild(fly);
|
||||
factionNode.addChild(set);
|
||||
factionNode.addChild(get);
|
||||
|
||||
get.addChild(power);
|
||||
power.addChild(getPowerName);
|
||||
|
||||
set.addChild(setPower);
|
||||
setPower.addChild(setPowerAmnt);
|
||||
setPowerAmnt.addChild(setPowerName);
|
||||
|
||||
promote.addChild(promoteName);
|
||||
demote.addChild(demoteName);
|
||||
@ -125,13 +148,26 @@ public class FactionCommands {
|
||||
|
||||
private int ForwardFlightCallback(CommandContext<ServerCommandSource> context) {
|
||||
if (context.getSource().isExecutedByPlayer()) {
|
||||
ActionResult result = PlayerCommandFlightCallback.EVENT.invoker().interact(context.getSource().getPlayer(), context.getSource().getWorld(), FactionManager.GetInstance().GetFactionPower(context.getSource().getPlayer()));
|
||||
ServerPlayerEntity player = context.getSource().getPlayer();
|
||||
ServerWorld world = context.getSource().getWorld();
|
||||
Integer fPower = FactionManager.GetInstance().GetFactionPower(player);
|
||||
FactionTierEnum fTier = FactionManager.GetInstance().GetFactionTier(FactionManager.GetInstance().GetFactionOfPlayer(player.getUuidAsString()));
|
||||
|
||||
|
||||
ActionResult result = PlayerCommandFlightCallback.EVENT.invoker().interact(player, world, fPower, fTier);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int SetFactionPower(ServerPlayerEntity caller, String faction, Integer amount) {
|
||||
FactionManager.GetInstance().SetFactionPower(caller, faction, amount);
|
||||
Boolean success = FactionManager.GetInstance().SetFactionPower(caller, faction, amount);
|
||||
|
||||
if (success) {
|
||||
caller.sendMessage(Text.of("Successfully set the faction " + faction + " power to " + amount));
|
||||
} else {
|
||||
caller.sendMessage(Text.of("This is an operator only command!"));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -140,6 +176,12 @@ public class FactionCommands {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int GetFactionPower(ServerPlayerEntity player, String factionName) {
|
||||
Integer amnt = FactionManager.GetInstance().GetFactionPower(factionName);
|
||||
player.sendMessage(Text.of("[" + factionName + " - POWER]:" + amnt));
|
||||
return 0;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
/// @fn CreateFaction
|
||||
///
|
||||
@ -236,13 +278,6 @@ public class FactionCommands {
|
||||
return retValue;
|
||||
}
|
||||
|
||||
// admin only
|
||||
private int SetFactionPower() {
|
||||
int retValue = -1;
|
||||
|
||||
return retValue;
|
||||
}
|
||||
|
||||
private int DeclareFactionEvent() {
|
||||
int retValue = -1;
|
||||
|
||||
|
@ -8,6 +8,7 @@ import jesse.keeblarcraft.FactionMgr.FactionManager;
|
||||
import jesse.keeblarcraft.FactionMgr.Callbacks.PlayerEnteredBaseCallback;
|
||||
import jesse.keeblarcraft.FactionMgr.Callbacks.PlayerExitedBaseCallback;
|
||||
import jesse.keeblarcraft.FactionMgr.Callbacks.PlayerInBaseCallback;
|
||||
import jesse.keeblarcraft.FactionMgr.FactionTier.FactionTierEnum;
|
||||
import jesse.keeblarcraft.GuiMgr.FactionBlockScreenHandler;
|
||||
import jesse.keeblarcraft.world.ImplementedInventory;
|
||||
import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory;
|
||||
@ -37,6 +38,7 @@ public class FactionBlockEntity extends BlockEntity implements ExtendedScreenHan
|
||||
private static final int OFFENSE_SLOT_TWO = 3;
|
||||
private String faction; // Faction this block belongs to
|
||||
private static int factionPower = 0;
|
||||
private FactionTierEnum factionTier = FactionTierEnum.TIER_INVALID;
|
||||
Boolean stopMobSpawn = true;
|
||||
Boolean hasBuildFlight = true;
|
||||
Boolean hasSuperBeacon = true;
|
||||
@ -49,6 +51,10 @@ public class FactionBlockEntity extends BlockEntity implements ExtendedScreenHan
|
||||
this.faction = faction;
|
||||
}
|
||||
|
||||
public void SetFaction(String faction) {
|
||||
this.faction = faction;
|
||||
}
|
||||
|
||||
public FactionBlockEntity(BlockPos pos, BlockState state) {
|
||||
super(BlockEntityRegistration.FACTION_BLOCK_ENTITY, pos, state);
|
||||
this.propertyDelegate = new PropertyDelegate() {
|
||||
@ -134,6 +140,7 @@ public class FactionBlockEntity extends BlockEntity implements ExtendedScreenHan
|
||||
}
|
||||
|
||||
factionPower = FactionManager.GetInstance().GetFactionPower(faction);
|
||||
factionTier = FactionManager.GetInstance().GetFactionTier(faction);
|
||||
|
||||
// TODO: Optimize this block so that when it is placed the placers UUID is related to a faction and only pull from a list of those players not the entire server
|
||||
for (PlayerEntity player : world.getPlayers()) {
|
||||
@ -144,13 +151,13 @@ public class FactionBlockEntity extends BlockEntity implements ExtendedScreenHan
|
||||
System.out.println("FACTION IS " + faction);
|
||||
if (!playersInRadius.contains(player.getUuidAsString())) {
|
||||
playersInRadius.add(player.getUuidAsString());
|
||||
ActionResult result = PlayerEnteredBaseCallback.EVENT.invoker().interact(player, world, factionPower);
|
||||
ActionResult result = PlayerEnteredBaseCallback.EVENT.invoker().interact(player, world, factionPower, factionTier);
|
||||
}
|
||||
|
||||
// Invoke the flight attribute on this player
|
||||
if (hasBuildFlight) {
|
||||
AttributeMgr.ApplyAttribute(player.getUuidAsString(), "faction_flight");
|
||||
ActionResult result = PlayerInBaseCallback.EVENT.invoker().interact(player, world, factionPower);
|
||||
ActionResult result = PlayerInBaseCallback.EVENT.invoker().interact(player, world, factionPower, factionTier);
|
||||
}
|
||||
|
||||
if (hasSuperBeacon) {
|
||||
@ -159,7 +166,7 @@ public class FactionBlockEntity extends BlockEntity implements ExtendedScreenHan
|
||||
}
|
||||
} else if (!isPlayerInFactionRadius && playersInRadius.contains(player.getUuidAsString())) {
|
||||
playersInRadius.remove(player.getUuidAsString());
|
||||
ActionResult result = PlayerExitedBaseCallback.EVENT.invoker().interact(player, world, factionPower);
|
||||
ActionResult result = PlayerExitedBaseCallback.EVENT.invoker().interact(player, world, factionPower, factionTier);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -51,13 +51,20 @@ public class FactionBaseBlock extends BlockWithEntity implements BlockEntityProv
|
||||
ServerPlayerEntity player = (ServerPlayerEntity) placer;
|
||||
String fac = FactionManager.GetInstance().GetFactionOfPlayer(player.getUuidAsString());
|
||||
|
||||
FactionBlockEntity bEntity = (FactionBlockEntity) world.getBlockEntity(pos);
|
||||
|
||||
// Update block entity
|
||||
if (bEntity != null) {
|
||||
bEntity.SetFaction(fac);
|
||||
}
|
||||
|
||||
// An empty string implies NO faction; only do things if it is NOT empty
|
||||
if (!fac.equals("")) {
|
||||
faction = fac;
|
||||
player.sendMessage(Text.of("This block now belongs to the " + faction + " faction."));
|
||||
} else {
|
||||
player.sendMessage(Text.of("You do not appear to be in a faction, and thus this block cannot be placed!"));
|
||||
world.removeBlock(pos, false);
|
||||
world.removeBlock(pos, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package jesse.keeblarcraft.FactionMgr.Callbacks;
|
||||
|
||||
import jesse.keeblarcraft.FactionMgr.FactionTier.FactionTierEnum;
|
||||
import net.fabricmc.fabric.api.event.Event;
|
||||
import net.fabricmc.fabric.api.event.EventFactory;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
@ -8,9 +9,9 @@ import net.minecraft.world.World;
|
||||
|
||||
public interface PlayerCommandFlightCallback {
|
||||
Event<PlayerCommandFlightCallback> EVENT = EventFactory.createArrayBacked(PlayerCommandFlightCallback.class,
|
||||
(listeners) -> (player, world, power) -> {
|
||||
(listeners) -> (player, world, power, factionTier) -> {
|
||||
for (PlayerCommandFlightCallback listener : listeners) {
|
||||
ActionResult result = listener.interact(player, world, power);
|
||||
ActionResult result = listener.interact(player, world, power, factionTier);
|
||||
|
||||
if (result != ActionResult.PASS) {
|
||||
return result;
|
||||
@ -20,5 +21,5 @@ public interface PlayerCommandFlightCallback {
|
||||
return ActionResult.PASS;
|
||||
});
|
||||
|
||||
ActionResult interact(PlayerEntity player, World world, Integer factionPower);
|
||||
ActionResult interact(PlayerEntity player, World world, Integer factionPower, FactionTierEnum factionTier);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package jesse.keeblarcraft.FactionMgr.Callbacks;
|
||||
|
||||
import jesse.keeblarcraft.FactionMgr.FactionTier.FactionTierEnum;
|
||||
import net.fabricmc.fabric.api.event.Event;
|
||||
import net.fabricmc.fabric.api.event.EventFactory;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
@ -8,9 +9,9 @@ import net.minecraft.world.World;
|
||||
|
||||
public interface PlayerEnteredBaseCallback {
|
||||
Event<PlayerEnteredBaseCallback> EVENT = EventFactory.createArrayBacked(PlayerEnteredBaseCallback.class,
|
||||
(listeners) -> (player, world, power) -> {
|
||||
(listeners) -> (player, world, power, factionTier) -> {
|
||||
for (PlayerEnteredBaseCallback listener : listeners) {
|
||||
ActionResult result = listener.interact(player, world, power);
|
||||
ActionResult result = listener.interact(player, world, power, factionTier);
|
||||
|
||||
if (result != ActionResult.PASS) {
|
||||
return result;
|
||||
@ -20,5 +21,5 @@ public interface PlayerEnteredBaseCallback {
|
||||
return ActionResult.PASS;
|
||||
});
|
||||
|
||||
ActionResult interact(PlayerEntity player, World world, Integer factionPower);
|
||||
ActionResult interact(PlayerEntity player, World world, Integer factionPower, FactionTierEnum factionTier);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package jesse.keeblarcraft.FactionMgr.Callbacks;
|
||||
|
||||
import jesse.keeblarcraft.FactionMgr.FactionTier.FactionTierEnum;
|
||||
import net.fabricmc.fabric.api.event.Event;
|
||||
import net.fabricmc.fabric.api.event.EventFactory;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
@ -8,9 +9,9 @@ import net.minecraft.world.World;
|
||||
|
||||
public interface PlayerExitedBaseCallback {
|
||||
Event<PlayerExitedBaseCallback> EVENT = EventFactory.createArrayBacked(PlayerExitedBaseCallback.class,
|
||||
(listeners) -> (player, world, power) -> {
|
||||
(listeners) -> (player, world, power, factionTier) -> {
|
||||
for (PlayerExitedBaseCallback listener : listeners) {
|
||||
ActionResult result = listener.interact(player, world, power);
|
||||
ActionResult result = listener.interact(player, world, power, factionTier);
|
||||
|
||||
if (result != ActionResult.PASS) {
|
||||
return result;
|
||||
@ -20,5 +21,5 @@ public interface PlayerExitedBaseCallback {
|
||||
return ActionResult.PASS;
|
||||
});
|
||||
|
||||
ActionResult interact(PlayerEntity player, World world, Integer factionPower);
|
||||
ActionResult interact(PlayerEntity player, World world, Integer factionPower, FactionTierEnum factionTier);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package jesse.keeblarcraft.FactionMgr.Callbacks;
|
||||
|
||||
import jesse.keeblarcraft.FactionMgr.FactionTier.FactionTierEnum;
|
||||
import net.fabricmc.fabric.api.event.Event;
|
||||
import net.fabricmc.fabric.api.event.EventFactory;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
@ -8,9 +9,9 @@ import net.minecraft.world.World;
|
||||
|
||||
public interface PlayerInBaseCallback {
|
||||
Event<PlayerInBaseCallback> EVENT = EventFactory.createArrayBacked(PlayerInBaseCallback.class,
|
||||
(listeners) -> (player, world, power) -> {
|
||||
(listeners) -> (player, world, power, factionTier) -> {
|
||||
for (PlayerInBaseCallback listener : listeners) {
|
||||
ActionResult result = listener.interact(player, world, power);
|
||||
ActionResult result = listener.interact(player, world, power, factionTier);
|
||||
|
||||
if (result != ActionResult.PASS) {
|
||||
return result;
|
||||
@ -20,5 +21,5 @@ public interface PlayerInBaseCallback {
|
||||
return ActionResult.PASS;
|
||||
});
|
||||
|
||||
ActionResult interact(PlayerEntity player, World world, Integer factionPower);
|
||||
ActionResult interact(PlayerEntity player, World world, Integer factionPower, FactionTierEnum factionTier);
|
||||
}
|
||||
|
@ -12,10 +12,9 @@ package jesse.keeblarcraft.FactionMgr;
|
||||
import java.util.List;
|
||||
|
||||
import jesse.keeblarcraft.ConfigMgr.ConfigManager;
|
||||
import jesse.keeblarcraft.FactionMgr.FactionTier.FactionTierEnum;
|
||||
import jesse.keeblarcraft.MailSystem.MailMgr;
|
||||
import jesse.keeblarcraft.Keeblarcraft;
|
||||
import jesse.keeblarcraft.ChatStuff.ChatMsg;
|
||||
import jesse.keeblarcraft.Utils.CustomExceptions.FILE_WRITE_EXCEPTION;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.Text;
|
||||
|
||||
@ -75,6 +74,8 @@ public class FactionManager {
|
||||
factionConfig.factions = new FactionConfig();
|
||||
FlashConfig();
|
||||
}
|
||||
|
||||
FactionTier.InitializeFactionTiers();
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@ -118,10 +119,10 @@ public class FactionManager {
|
||||
String facOfPlayer = factionConfig.factions.FindFactionOfPlayer(creator.getUuidAsString());
|
||||
|
||||
if (facOfPlayer == "") {
|
||||
creator.sendMessage(Text.of("Your display name: " + creator.getDisplayName().toString()));
|
||||
creator.sendMessage(Text.of("Your name: " + creator.getName()));
|
||||
creator.sendMessage(Text.of("Your custom name: " + creator.getCustomName()));
|
||||
creator.sendMessage(Text.of("Your entity name: " + creator.getEntityName()));
|
||||
// creator.sendMessage(Text.of("Your display name: " + creator.getDisplayName().toString()));
|
||||
// creator.sendMessage(Text.of("Your name: " + creator.getName()));
|
||||
// creator.sendMessage(Text.of("Your custom name: " + creator.getCustomName()));
|
||||
// creator.sendMessage(Text.of("Your entity name: " + creator.getEntityName()));
|
||||
success = factionConfig.factions.CreateFaction(factionName, creator.getUuidAsString(), creator.getEntityName());
|
||||
|
||||
if (!success) {
|
||||
@ -196,8 +197,9 @@ public class FactionManager {
|
||||
}
|
||||
|
||||
if (success) {
|
||||
String mailMsg = "You receive a faction invite from " + caller.getEntityName() + "! You can join with /faction join " + playerFaction;
|
||||
String mailMsg = "You received a faction invite from " + caller.getEntityName() + "! You can join with /faction join " + playerFaction;
|
||||
MailMgr.GetInstance().SendMail(inviteeUuid, mailMsg);
|
||||
FlashConfig();
|
||||
}
|
||||
return success;
|
||||
}
|
||||
@ -206,7 +208,8 @@ public class FactionManager {
|
||||
Boolean success = false;
|
||||
|
||||
if (caller.hasPermissionLevel(4)) {
|
||||
factionConfig.factions.SetPower(factionName, amount);
|
||||
success = factionConfig.factions.SetPower(factionName, amount);
|
||||
FlashConfig();
|
||||
} else {
|
||||
caller.sendMessage(Text.of("You do not have permission to use this command"));
|
||||
}
|
||||
@ -222,6 +225,10 @@ public class FactionManager {
|
||||
return fPower;
|
||||
}
|
||||
|
||||
public FactionTierEnum GetFactionTier(String factionName) {
|
||||
return FactionTier.GetFactionTier(factionConfig.factions.GetPower(factionName));
|
||||
}
|
||||
|
||||
public Integer GetFactionPower(ServerPlayerEntity caller) {
|
||||
Integer amount = 0;
|
||||
|
||||
|
39
src/main/java/jesse/keeblarcraft/FactionMgr/FactionTier.java
Normal file
39
src/main/java/jesse/keeblarcraft/FactionMgr/FactionTier.java
Normal file
@ -0,0 +1,39 @@
|
||||
package jesse.keeblarcraft.FactionMgr;
|
||||
|
||||
import com.google.common.collect.Range;
|
||||
import com.google.common.collect.RangeMap;
|
||||
import com.google.common.collect.TreeRangeMap;
|
||||
|
||||
public class FactionTier {
|
||||
public static enum FactionTierEnum {
|
||||
TIER_INVALID,
|
||||
TIER_I,
|
||||
TIER_II,
|
||||
TIER_III,
|
||||
TIER_IV,
|
||||
TIER_V,
|
||||
TIER_VI
|
||||
}
|
||||
|
||||
private static RangeMap<Integer, FactionTierEnum> factionTiers = TreeRangeMap.create();
|
||||
|
||||
public static void InitializeFactionTiers() {
|
||||
factionTiers.put(Range.closed(0, 29), FactionTierEnum.TIER_I);
|
||||
factionTiers.put(Range.closed(30, 74), FactionTierEnum.TIER_II);
|
||||
factionTiers.put(Range.closed(75, 99), FactionTierEnum.TIER_III);
|
||||
factionTiers.put(Range.closed(100, 149), FactionTierEnum.TIER_IV);
|
||||
factionTiers.put(Range.closed(150, 999), FactionTierEnum.TIER_V);
|
||||
factionTiers.put(Range.closed(1000, Integer.MAX_VALUE), FactionTierEnum.TIER_VI);
|
||||
}
|
||||
|
||||
// Make sure you initialize tiers by calling the above function first!
|
||||
public static FactionTierEnum GetFactionTier(Integer value) {
|
||||
FactionTierEnum tier = factionTiers.get(value);
|
||||
|
||||
if (tier == null) {
|
||||
tier = FactionTierEnum.TIER_INVALID;
|
||||
}
|
||||
|
||||
return tier;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user