add ftbranks support
This commit is contained in:
parent
73d944799c
commit
a6098c02f8
@ -2,7 +2,12 @@ Flan 1.6.0
|
||||
======================
|
||||
- Separate some stuff to make it more api like and to make it into an api jar.
|
||||
Breaks compat with any potential mods using the previous system.
|
||||
|
||||
- Add ignoredEntities config to always ignore certain entities.
|
||||
Like grave mods that add the graves as an entity (e.g. corpse mod).
|
||||
Add the corpse entity from that mod to default list
|
||||
- Add modid support for ignoredBlocks and ignoredEntities.
|
||||
Use a modid to affect all things from that mod
|
||||
- Add FTBRanks support. Permission Nodes are the same
|
||||
|
||||
Flan 1.5.4
|
||||
======================
|
||||
|
@ -12,7 +12,7 @@ public class Flan {
|
||||
|
||||
public static final Logger logger = LogManager.getLogger("flan");
|
||||
|
||||
public static boolean permissionAPI, gunpowder, playerAbilityLib;
|
||||
public static boolean permissionAPI, gunpowder, playerAbilityLib, ftbRanks;
|
||||
|
||||
public static final DateTimeFormatter onlineTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
|
||||
|
||||
|
@ -19,7 +19,7 @@ import io.github.flemmli97.flan.config.ConfigHandler;
|
||||
import io.github.flemmli97.flan.gui.ClaimMenuScreenHandler;
|
||||
import io.github.flemmli97.flan.gui.PersonalGroupScreenHandler;
|
||||
import io.github.flemmli97.flan.integration.gunpowder.CommandCurrency;
|
||||
import io.github.flemmli97.flan.integration.permissionapi.CommandPermission;
|
||||
import io.github.flemmli97.flan.integration.permissions.PermissionNodeHandler;
|
||||
import io.github.flemmli97.flan.player.EnumDisplayType;
|
||||
import io.github.flemmli97.flan.player.EnumEditMode;
|
||||
import io.github.flemmli97.flan.player.OfflinePlayerData;
|
||||
@ -48,39 +48,39 @@ public class CommandClaim {
|
||||
|
||||
public static void register(CommandDispatcher<ServerCommandSource> dispatcher, boolean dedicated) {
|
||||
LiteralArgumentBuilder<ServerCommandSource> builder = CommandManager.literal("flan")
|
||||
.then(CommandManager.literal("reload").requires(src -> CommandPermission.perm(src, CommandPermission.cmdReload, true)).executes(CommandClaim::reloadConfig))
|
||||
.then(CommandManager.literal("addClaim").requires(src -> CommandPermission.perm(src, CommandPermission.claimCreate)).then(CommandManager.argument("from", BlockPosArgumentType.blockPos()).then(CommandManager.argument("to", BlockPosArgumentType.blockPos()).executes(CommandClaim::addClaim))))
|
||||
.then(CommandManager.literal("menu").requires(src -> CommandPermission.perm(src, CommandPermission.cmdMenu)).executes(CommandClaim::openMenu))
|
||||
.then(CommandManager.literal("setHome").requires(src -> CommandPermission.perm(src, CommandPermission.cmdHome)).executes(CommandClaim::setClaimHome))
|
||||
.then(CommandManager.literal("trapped").requires(src -> CommandPermission.perm(src, CommandPermission.cmdTrapped)).executes(CommandClaim::trapped))
|
||||
.then(CommandManager.literal("name").requires(src -> CommandPermission.perm(src, CommandPermission.cmdName)).then(CommandManager.argument("name", StringArgumentType.string()).executes(CommandClaim::nameClaim)))
|
||||
.then(CommandManager.literal("reload").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdReload, true)).executes(CommandClaim::reloadConfig))
|
||||
.then(CommandManager.literal("addClaim").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.claimCreate)).then(CommandManager.argument("from", BlockPosArgumentType.blockPos()).then(CommandManager.argument("to", BlockPosArgumentType.blockPos()).executes(CommandClaim::addClaim))))
|
||||
.then(CommandManager.literal("menu").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdMenu)).executes(CommandClaim::openMenu))
|
||||
.then(CommandManager.literal("setHome").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdHome)).executes(CommandClaim::setClaimHome))
|
||||
.then(CommandManager.literal("trapped").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdTrapped)).executes(CommandClaim::trapped))
|
||||
.then(CommandManager.literal("name").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdName)).then(CommandManager.argument("name", StringArgumentType.string()).executes(CommandClaim::nameClaim)))
|
||||
.then(CommandManager.literal("unlockDrops").executes(CommandClaim::unlockDrops)
|
||||
.then(CommandManager.argument("players", GameProfileArgumentType.gameProfile()).requires(src -> CommandPermission.perm(src, CommandPermission.cmdUnlockAll, true)).executes(CommandClaim::unlockDropsPlayers)))
|
||||
.then(CommandManager.literal("personalGroups").requires(src -> CommandPermission.perm(src, CommandPermission.cmdPGroup)).executes(CommandClaim::openPersonalGroups))
|
||||
.then(CommandManager.literal("claimInfo").requires(src -> CommandPermission.perm(src, CommandPermission.cmdInfo)).executes(ctx -> CommandClaim.claimInfo(ctx, Claim.InfoType.ALL))
|
||||
.then(CommandManager.argument("players", GameProfileArgumentType.gameProfile()).requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdUnlockAll, true)).executes(CommandClaim::unlockDropsPlayers)))
|
||||
.then(CommandManager.literal("personalGroups").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdPGroup)).executes(CommandClaim::openPersonalGroups))
|
||||
.then(CommandManager.literal("claimInfo").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdInfo)).executes(ctx -> CommandClaim.claimInfo(ctx, Claim.InfoType.ALL))
|
||||
.then(CommandManager.argument("type", StringArgumentType.word()).suggests((src, b) -> CommandHelpers.enumSuggestion(Claim.InfoType.class, b)).executes(CommandClaim::claimInfo)))
|
||||
.then(CommandManager.literal("transferClaim").requires(src -> CommandPermission.perm(src, CommandPermission.cmdTransfer)).then(CommandManager.argument("player", GameProfileArgumentType.gameProfile()).executes(CommandClaim::transferClaim)))
|
||||
.then(CommandManager.literal("delete").requires(src -> CommandPermission.perm(src, CommandPermission.cmdTransfer)).executes(CommandClaim::deleteClaim))
|
||||
.then(CommandManager.literal("deleteAll").requires(src -> CommandPermission.perm(src, CommandPermission.cmdTransfer)).executes(CommandClaim::deleteAllClaim))
|
||||
.then(CommandManager.literal("deleteSubClaim").requires(src -> CommandPermission.perm(src, CommandPermission.cmdTransfer)).executes(CommandClaim::deleteSubClaim))
|
||||
.then(CommandManager.literal("deleteAllSubClaims").requires(src -> CommandPermission.perm(src, CommandPermission.cmdTransfer)).executes(CommandClaim::deleteAllSubClaim))
|
||||
.then(CommandManager.literal("list").requires(src -> CommandPermission.perm(src, CommandPermission.cmdList)).executes(CommandClaim::listClaims).then(CommandManager.argument("player", GameProfileArgumentType.gameProfile()).requires(src -> CommandPermission.perm(src, CommandPermission.cmdListAll, true))
|
||||
.then(CommandManager.literal("transferClaim").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdTransfer)).then(CommandManager.argument("player", GameProfileArgumentType.gameProfile()).executes(CommandClaim::transferClaim)))
|
||||
.then(CommandManager.literal("delete").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdTransfer)).executes(CommandClaim::deleteClaim))
|
||||
.then(CommandManager.literal("deleteAll").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdTransfer)).executes(CommandClaim::deleteAllClaim))
|
||||
.then(CommandManager.literal("deleteSubClaim").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdTransfer)).executes(CommandClaim::deleteSubClaim))
|
||||
.then(CommandManager.literal("deleteAllSubClaims").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdTransfer)).executes(CommandClaim::deleteAllSubClaim))
|
||||
.then(CommandManager.literal("list").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdList)).executes(CommandClaim::listClaims).then(CommandManager.argument("player", GameProfileArgumentType.gameProfile()).requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdListAll, true))
|
||||
.executes(cmd -> listClaims(cmd, GameProfileArgumentType.getProfileArgument(cmd, "player")))))
|
||||
.then(CommandManager.literal("switchMode").requires(src -> CommandPermission.perm(src, CommandPermission.cmdClaimMode)).executes(CommandClaim::switchClaimMode))
|
||||
.then(CommandManager.literal("adminMode").requires(src -> CommandPermission.perm(src, CommandPermission.cmdAdminMode, true)).executes(CommandClaim::switchAdminMode))
|
||||
.then(CommandManager.literal("readGriefPrevention").requires(src -> CommandPermission.perm(src, CommandPermission.cmdGriefPrevention, true)).executes(CommandClaim::readGriefPreventionData))
|
||||
.then(CommandManager.literal("setAdminClaim").requires(src -> CommandPermission.perm(src, CommandPermission.cmdAdminSet, true)).then(CommandManager.argument("toggle", BoolArgumentType.bool()).executes(CommandClaim::toggleAdminClaim)))
|
||||
.then(CommandManager.literal("listAdminClaims").requires(src -> CommandPermission.perm(src, CommandPermission.cmdAdminList, true)).executes(CommandClaim::listAdminClaims))
|
||||
.then(CommandManager.literal("adminDelete").requires(src -> CommandPermission.perm(src, CommandPermission.cmdAdminDelete, true)).executes(CommandClaim::adminDelete)
|
||||
.then(CommandManager.literal("switchMode").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdClaimMode)).executes(CommandClaim::switchClaimMode))
|
||||
.then(CommandManager.literal("adminMode").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdAdminMode, true)).executes(CommandClaim::switchAdminMode))
|
||||
.then(CommandManager.literal("readGriefPrevention").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdGriefPrevention, true)).executes(CommandClaim::readGriefPreventionData))
|
||||
.then(CommandManager.literal("setAdminClaim").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdAdminSet, true)).then(CommandManager.argument("toggle", BoolArgumentType.bool()).executes(CommandClaim::toggleAdminClaim)))
|
||||
.then(CommandManager.literal("listAdminClaims").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdAdminList, true)).executes(CommandClaim::listAdminClaims))
|
||||
.then(CommandManager.literal("adminDelete").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdAdminDelete, true)).executes(CommandClaim::adminDelete)
|
||||
.then(CommandManager.literal("all").then(CommandManager.argument("players", GameProfileArgumentType.gameProfile())
|
||||
.executes(CommandClaim::adminDeleteAll))))
|
||||
.then(CommandManager.literal("giveClaimBlocks").requires(src -> CommandPermission.perm(src, CommandPermission.cmdAdminGive, true)).then(CommandManager.argument("players", GameProfileArgumentType.gameProfile())
|
||||
.then(CommandManager.literal("giveClaimBlocks").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdAdminGive, true)).then(CommandManager.argument("players", GameProfileArgumentType.gameProfile())
|
||||
.then(CommandManager.argument("amount", IntegerArgumentType.integer()).executes(CommandClaim::giveClaimBlocks))))
|
||||
.then(CommandManager.literal("buyBlocks").requires(src -> CommandPermission.perm(src, CommandPermission.cmdBuy, false))
|
||||
.then(CommandManager.literal("buyBlocks").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdBuy, false))
|
||||
.then(CommandManager.argument("amount", IntegerArgumentType.integer()).executes(CommandCurrency::buyClaimBlocks)))
|
||||
.then(CommandManager.literal("sellBlocks").requires(src -> CommandPermission.perm(src, CommandPermission.cmdSell, false))
|
||||
.then(CommandManager.literal("sellBlocks").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdSell, false))
|
||||
.then(CommandManager.argument("amount", IntegerArgumentType.integer()).executes(CommandCurrency::sellClaimBlocks)))
|
||||
.then(CommandManager.literal("group").requires(src -> CommandPermission.perm(src, CommandPermission.cmdGroup))
|
||||
.then(CommandManager.literal("group").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdGroup))
|
||||
.then(CommandManager.literal("add").then(CommandManager.argument("group", StringArgumentType.string()).executes(CommandClaim::addGroup)))
|
||||
.then(CommandManager.literal("remove").then(CommandManager.argument("group", StringArgumentType.string())
|
||||
.suggests(CommandHelpers::groupSuggestion).executes(CommandClaim::removeGroup)))
|
||||
@ -100,14 +100,14 @@ public class CommandClaim {
|
||||
}
|
||||
return CommandSource.suggestMatching(list, build);
|
||||
}).executes(CommandClaim::removePlayer))))))
|
||||
.then(CommandManager.literal("teleport").requires(src -> CommandPermission.perm(src, CommandPermission.cmdTeleport))
|
||||
.then(CommandManager.literal("teleport").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdTeleport))
|
||||
.then(CommandManager.literal("self").then(CommandManager.argument("claim", StringArgumentType.string()).suggests((ctx, b) -> CommandHelpers.claimSuggestions(ctx, b, ctx.getSource().getPlayer().getUuid()))
|
||||
.executes(CommandClaim::teleport)))
|
||||
.then(CommandManager.literal("admin").then(CommandManager.argument("claim", StringArgumentType.string()).suggests((ctx, b) -> CommandHelpers.claimSuggestions(ctx, b, null))
|
||||
.executes(CommandClaim::teleportAdminClaims)))
|
||||
.then(CommandManager.literal("other").then(CommandManager.argument("player", GameProfileArgumentType.gameProfile()).then(CommandManager.argument("claim", StringArgumentType.string()).suggests((ctx, b) -> CommandHelpers.claimSuggestions(ctx, b, CommandHelpers.singleProfile(ctx, "player").getId()))
|
||||
.executes(src -> CommandClaim.teleport(src, CommandHelpers.singleProfile(src, "player").getId()))))))
|
||||
.then(CommandManager.literal("permission").requires(src -> CommandPermission.perm(src, CommandPermission.cmdPermission))
|
||||
.then(CommandManager.literal("permission").requires(src -> PermissionNodeHandler.perm(src, PermissionNodeHandler.cmdPermission))
|
||||
.then(CommandManager.literal("personal").then(CommandManager.argument("group", StringArgumentType.string()).suggests(CommandHelpers::personalGroupSuggestion)
|
||||
.then(CommandManager.argument("permission", StringArgumentType.word()).suggests((ctx, b) -> CommandHelpers.permSuggestions(ctx, b, true))
|
||||
.then(CommandManager.argument("toggle", StringArgumentType.word())
|
||||
@ -164,7 +164,7 @@ public class CommandClaim {
|
||||
}
|
||||
if (!enoughBlocks) {
|
||||
player.sendMessage(PermHelper.simpleColoredText(ConfigHandler.lang.ownerTransferNoBlocks, Formatting.RED), false);
|
||||
if (CommandPermission.perm(context.getSource(), CommandPermission.cmdAdminMode, true))
|
||||
if (PermissionNodeHandler.perm(context.getSource(), PermissionNodeHandler.cmdAdminMode, true))
|
||||
player.sendMessage(PermHelper.simpleColoredText(ConfigHandler.lang.ownerTransferNoBlocksAdmin, Formatting.RED), false);
|
||||
return 0;
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ import io.github.flemmli97.flan.claim.Claim;
|
||||
import io.github.flemmli97.flan.claim.ClaimStorage;
|
||||
import io.github.flemmli97.flan.claim.PermHelper;
|
||||
import io.github.flemmli97.flan.config.ConfigHandler;
|
||||
import io.github.flemmli97.flan.integration.permissionapi.CommandPermission;
|
||||
import io.github.flemmli97.flan.integration.permissions.PermissionNodeHandler;
|
||||
import io.github.flemmli97.flan.mixin.IItemAccessor;
|
||||
import io.github.flemmli97.flan.player.EnumDisplayType;
|
||||
import io.github.flemmli97.flan.player.EnumEditMode;
|
||||
@ -151,7 +151,7 @@ public class ItemInteractEvents {
|
||||
}
|
||||
|
||||
public static void claimLandHandling(ServerPlayerEntity player, BlockPos target) {
|
||||
if (!CommandPermission.perm(player, CommandPermission.claimCreate, false)) {
|
||||
if (!PermissionNodeHandler.perm(player, PermissionNodeHandler.claimCreate, false)) {
|
||||
player.sendMessage(PermHelper.simpleColoredText(ConfigHandler.lang.noPermission, Formatting.DARK_RED), true);
|
||||
return;
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
package io.github.flemmli97.flan.integration.permissionapi;
|
||||
package io.github.flemmli97.flan.integration.permissions;
|
||||
|
||||
import me.shedaniel.architectury.annotations.ExpectPlatform;
|
||||
import net.minecraft.command.CommandSource;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
|
||||
public class CommandPermission {
|
||||
public class PermissionNodeHandler {
|
||||
|
||||
public static final String cmdReload = "flan.command.reload";
|
||||
public static final String cmdGriefPrevention = "flan.command.read.griefprevention";
|
||||
@ -44,12 +44,14 @@ public class CommandPermission {
|
||||
public static final String cmdHome = "flan.command.home";
|
||||
public static final String cmdTeleport = "flan.command.teleport";
|
||||
|
||||
public static boolean perm(CommandSource src, String perm) {
|
||||
public static final String permClaimBlocks = "flan.claim.blocks.max";
|
||||
|
||||
public static boolean perm(ServerCommandSource src, String perm) {
|
||||
return perm(src, perm, false);
|
||||
}
|
||||
|
||||
@ExpectPlatform
|
||||
public static boolean perm(CommandSource src, String perm, boolean adminCmd) {
|
||||
public static boolean perm(ServerCommandSource src, String perm, boolean adminCmd) {
|
||||
throw new AssertionError();
|
||||
}
|
||||
|
||||
@ -57,4 +59,9 @@ public class CommandPermission {
|
||||
public static boolean perm(ServerPlayerEntity src, String perm, boolean adminCmd) {
|
||||
throw new AssertionError();
|
||||
}
|
||||
|
||||
@ExpectPlatform
|
||||
public static boolean permBelowEqVal(ServerPlayerEntity src, String perm, int val) {
|
||||
throw new AssertionError();
|
||||
}
|
||||
}
|
@ -12,6 +12,7 @@ import io.github.flemmli97.flan.claim.ParticleIndicators;
|
||||
import io.github.flemmli97.flan.claim.PermHelper;
|
||||
import io.github.flemmli97.flan.config.ConfigHandler;
|
||||
import io.github.flemmli97.flan.event.EntityInteractEvents;
|
||||
import io.github.flemmli97.flan.integration.permissions.PermissionNodeHandler;
|
||||
import io.github.flemmli97.flan.scoreboard.ClaimCriterias;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.network.packet.s2c.play.ParticleS2CPacket;
|
||||
@ -91,10 +92,15 @@ public class PlayerClaimData implements IPlayerData {
|
||||
}
|
||||
|
||||
public boolean addClaimBlocks(int amount) {
|
||||
if (this.claimBlocks + amount > ConfigHandler.config.maxClaimBlocks)
|
||||
return false;
|
||||
this.setClaimBlocks(this.claimBlocks + amount);
|
||||
return true;
|
||||
if (this.canIncrease(this.claimBlocks + amount)) {
|
||||
this.setClaimBlocks(this.claimBlocks + amount);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean canIncrease(int blocks) {
|
||||
return blocks <= ConfigHandler.config.maxClaimBlocks || PermissionNodeHandler.permBelowEqVal(this.player, PermissionNodeHandler.permClaimBlocks, blocks);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -12,6 +12,10 @@ public class ClaimCriterias {
|
||||
public static ScoreboardCriterion FREE = create("flan:free_claimblocks", true, ScoreboardCriterion.RenderType.INTEGER);
|
||||
public static ScoreboardCriterion CLAIMS = create("flan:claim_number", true, ScoreboardCriterion.RenderType.INTEGER);
|
||||
|
||||
public static void init() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Just reflection cause its only called once during init
|
||||
*/
|
||||
|
@ -33,6 +33,10 @@ repositories {
|
||||
name = "HavenKing"
|
||||
url = "https://hephaestus.dev/release"
|
||||
}
|
||||
maven {
|
||||
name = "FTB"
|
||||
url = "https://maven.saps.dev/minecraft"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@ -57,6 +61,8 @@ dependencies {
|
||||
shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) {
|
||||
transitive = false
|
||||
}
|
||||
|
||||
modImplementation("dev.ftb.mods:ftb-ranks-fabric:1605.1.2-build.17")
|
||||
}
|
||||
|
||||
processResources {
|
||||
@ -101,7 +107,7 @@ task apiJar(type: Jar, dependsOn: classes) {
|
||||
rename("fabric.mod_api.json", "fabric.mod.json")
|
||||
}
|
||||
|
||||
task remapApiJar(type: net.fabricmc.loom.task.RemapJarTask){
|
||||
task remapApiJar(type: net.fabricmc.loom.task.RemapJarTask) {
|
||||
archiveClassifier.set "fabric-api"
|
||||
input.set apiJar.archiveFile
|
||||
addNestedDependencies = false
|
||||
|
@ -7,6 +7,7 @@ import io.github.flemmli97.flan.event.BlockInteractEvents;
|
||||
import io.github.flemmli97.flan.event.EntityInteractEvents;
|
||||
import io.github.flemmli97.flan.event.ItemInteractEvents;
|
||||
import io.github.flemmli97.flan.integration.playerability.PlayerAbilityEvents;
|
||||
import io.github.flemmli97.flan.scoreboard.ClaimCriterias;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
||||
@ -34,8 +35,10 @@ public class FlanFabric implements ModInitializer {
|
||||
Flan.permissionAPI = FabricLoader.getInstance().isModLoaded("fabric-permissions-api-v0");
|
||||
Flan.gunpowder = FabricLoader.getInstance().isModLoaded("gunpowder-currency");
|
||||
Flan.playerAbilityLib = FabricLoader.getInstance().isModLoaded("playerabilitylib");
|
||||
Flan.ftbRanks = FabricLoader.getInstance().isModLoaded("ftbranks");
|
||||
if (Flan.playerAbilityLib)
|
||||
PlayerAbilityEvents.register();
|
||||
ClaimCriterias.init();
|
||||
}
|
||||
|
||||
public static void serverLoad(MinecraftServer server) {
|
||||
|
@ -1,26 +0,0 @@
|
||||
package io.github.flemmli97.flan.integration.permissionapi.fabric;
|
||||
|
||||
import io.github.flemmli97.flan.Flan;
|
||||
import io.github.flemmli97.flan.config.ConfigHandler;
|
||||
import me.lucko.fabric.api.permissions.v0.Permissions;
|
||||
import net.minecraft.command.CommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
|
||||
public class CommandPermissionImpl {
|
||||
|
||||
public static boolean perm(CommandSource src, String perm, boolean adminCmd) {
|
||||
if (!Flan.permissionAPI)
|
||||
return !adminCmd || src.hasPermissionLevel(ConfigHandler.config.permissionLevel);
|
||||
if (adminCmd)
|
||||
return Permissions.check(src, perm, ConfigHandler.config.permissionLevel);
|
||||
return Permissions.check(src, perm, true);
|
||||
}
|
||||
|
||||
public static boolean perm(ServerPlayerEntity src, String perm, boolean adminCmd) {
|
||||
if (!Flan.permissionAPI)
|
||||
return !adminCmd || src.hasPermissionLevel(ConfigHandler.config.permissionLevel);
|
||||
if (adminCmd)
|
||||
return Permissions.check(src, perm, ConfigHandler.config.permissionLevel);
|
||||
return Permissions.check(src, perm, true);
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package io.github.flemmli97.flan.integration.permissions.fabric;
|
||||
|
||||
import dev.ftb.mods.ftbranks.api.FTBRanksAPI;
|
||||
import io.github.flemmli97.flan.Flan;
|
||||
import io.github.flemmli97.flan.config.ConfigHandler;
|
||||
import me.lucko.fabric.api.permissions.v0.Permissions;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
|
||||
public class PermissionNodeHandlerImpl {
|
||||
|
||||
public static boolean perm(ServerCommandSource src, String perm, boolean adminCmd) {
|
||||
if (Flan.permissionAPI) {
|
||||
if (adminCmd)
|
||||
return Permissions.check(src, perm, ConfigHandler.config.permissionLevel);
|
||||
return Permissions.check(src, perm, true);
|
||||
}
|
||||
if (Flan.ftbRanks && src.getEntity() instanceof ServerPlayerEntity) {
|
||||
ServerPlayerEntity player = (ServerPlayerEntity) src.getEntity();
|
||||
if (adminCmd)
|
||||
return FTBRanksAPI.getPermissionValue(player, perm).asBooleanOrFalse();
|
||||
return FTBRanksAPI.getPermissionValue(player, perm).asBooleanOrTrue();
|
||||
}
|
||||
return !adminCmd || src.hasPermissionLevel(ConfigHandler.config.permissionLevel);
|
||||
}
|
||||
|
||||
public static boolean perm(ServerPlayerEntity src, String perm, boolean adminCmd) {
|
||||
if (Flan.permissionAPI) {
|
||||
if (adminCmd)
|
||||
return Permissions.check(src, perm, ConfigHandler.config.permissionLevel);
|
||||
return Permissions.check(src, perm, true);
|
||||
}
|
||||
if (Flan.ftbRanks) {
|
||||
if (adminCmd)
|
||||
return FTBRanksAPI.getPermissionValue(src, perm).asBooleanOrFalse();
|
||||
return FTBRanksAPI.getPermissionValue(src, perm).asBooleanOrTrue();
|
||||
}
|
||||
return !adminCmd || src.hasPermissionLevel(ConfigHandler.config.permissionLevel);
|
||||
}
|
||||
|
||||
public static boolean permBelowEqVal(ServerPlayerEntity src, String perm, int val) {
|
||||
if (Flan.ftbRanks) {
|
||||
int max = FTBRanksAPI.getPermissionValue(src, perm).asInteger().orElse(0);
|
||||
return val <= max;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -16,6 +16,14 @@ loom {
|
||||
useFabricMixin = true
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven {
|
||||
name = "FTB"
|
||||
url = "https://maven.saps.dev/minecraft"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
forge "net.minecraftforge:forge:${rootProject.minecraft_version}-${rootProject.forge_version}"
|
||||
|
||||
@ -28,6 +36,8 @@ dependencies {
|
||||
shadowCommon(project(path: ":common", configuration: "transformProductionForge")) {
|
||||
transitive = false
|
||||
}
|
||||
|
||||
modImplementation("dev.ftb.mods:ftb-ranks-forge:1605.1.2-build.17")
|
||||
}
|
||||
|
||||
processResources {
|
||||
@ -73,7 +83,7 @@ task apiJar(type: Jar, dependsOn: classes) {
|
||||
include "io/github/flemmli97/flan/api/**"
|
||||
}
|
||||
|
||||
task remapApiJar(type: net.fabricmc.loom.task.RemapJarTask){
|
||||
task remapApiJar(type: net.fabricmc.loom.task.RemapJarTask) {
|
||||
archiveClassifier.set "forge-api"
|
||||
input.set apiJar.archiveFile
|
||||
addNestedDependencies = false
|
||||
|
@ -5,8 +5,10 @@ import io.github.flemmli97.flan.forgeevent.EntityInteractEventsForge;
|
||||
import io.github.flemmli97.flan.forgeevent.ItemInteractEventsForge;
|
||||
import io.github.flemmli97.flan.forgeevent.ServerEvents;
|
||||
import io.github.flemmli97.flan.forgeevent.WorldEventsForge;
|
||||
import io.github.flemmli97.flan.scoreboard.ClaimCriterias;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.fml.ModList;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
|
||||
@Mod(FlanForge.MODID)
|
||||
@ -15,6 +17,8 @@ public class FlanForge {
|
||||
public static final String MODID = "flan";
|
||||
|
||||
public FlanForge() {
|
||||
Flan.ftbRanks = ModList.get().isLoaded("ftbranks");
|
||||
|
||||
IEventBus forge = MinecraftForge.EVENT_BUS;
|
||||
forge.addListener(WorldEventsForge::modifyExplosion);
|
||||
forge.addListener(WorldEventsForge::pistonCanPush);
|
||||
@ -34,5 +38,7 @@ public class FlanForge {
|
||||
|
||||
forge.addListener(ServerEvents::serverStart);
|
||||
forge.addListener(ServerEvents::commands);
|
||||
|
||||
ClaimCriterias.init();
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +0,0 @@
|
||||
package io.github.flemmli97.flan.integration.permissionapi.forge;
|
||||
|
||||
import io.github.flemmli97.flan.config.ConfigHandler;
|
||||
import net.minecraft.command.CommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
|
||||
public class CommandPermissionImpl {
|
||||
|
||||
public static boolean perm(CommandSource src, String perm, boolean adminCmd) {
|
||||
return !adminCmd || src.hasPermissionLevel(ConfigHandler.config.permissionLevel);
|
||||
}
|
||||
|
||||
public static boolean perm(ServerPlayerEntity src, String perm, boolean adminCmd) {
|
||||
return !adminCmd || src.hasPermissionLevel(ConfigHandler.config.permissionLevel);
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package io.github.flemmli97.flan.integration.permissions.forge;
|
||||
|
||||
import dev.ftb.mods.ftbranks.api.FTBRanksAPI;
|
||||
import io.github.flemmli97.flan.Flan;
|
||||
import io.github.flemmli97.flan.config.ConfigHandler;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
|
||||
public class PermissionNodeHandlerImpl {
|
||||
|
||||
public static boolean perm(ServerCommandSource src, String perm, boolean adminCmd) {
|
||||
if (!Flan.ftbRanks || !(src.getEntity() instanceof ServerPlayerEntity))
|
||||
return !adminCmd || src.hasPermissionLevel(ConfigHandler.config.permissionLevel);
|
||||
ServerPlayerEntity player = (ServerPlayerEntity) src.getEntity();
|
||||
if (adminCmd)
|
||||
return FTBRanksAPI.getPermissionValue(player, perm).asBooleanOrFalse();
|
||||
return FTBRanksAPI.getPermissionValue(player, perm).asBooleanOrTrue();
|
||||
}
|
||||
|
||||
public static boolean perm(ServerPlayerEntity src, String perm, boolean adminCmd) {
|
||||
if (!Flan.ftbRanks)
|
||||
return !adminCmd || src.hasPermissionLevel(ConfigHandler.config.permissionLevel);
|
||||
if (adminCmd)
|
||||
return FTBRanksAPI.getPermissionValue(src, perm).asBooleanOrFalse();
|
||||
return FTBRanksAPI.getPermissionValue(src, perm).asBooleanOrTrue();
|
||||
}
|
||||
|
||||
public static boolean permBelowEqVal(ServerPlayerEntity src, String perm, int val) {
|
||||
if (Flan.ftbRanks) {
|
||||
int max = FTBRanksAPI.getPermissionValue(src, perm).asInteger().orElse(0);
|
||||
return val <= max;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -18,6 +18,7 @@ gunpowder_version=0.5.7+1.16.5
|
||||
gunpowder_currency_version=1.0.2+gunpowder.0.3.7.mc.1.16.5
|
||||
fabric_permissions_api=0.1-SNAPSHOT
|
||||
player_ability_lib=1.2.2
|
||||
ftb_ranks=1605.1.2-build.17
|
||||
# Curse properties
|
||||
curse_page_fabric=https://www.curseforge.com/minecraft/mc-mods/flan
|
||||
curse_versions=1.16.5, Java 8
|
||||
|
Loading…
Reference in New Issue
Block a user