From 44a4767612e9adb538c79b6037374cbd7fd2a577 Mon Sep 17 00:00:00 2001 From: Flemmli97 Date: Tue, 20 Jul 2021 22:57:34 +0200 Subject: [PATCH] improve api and add api jar to build.gradle --- Changelog.txt | 6 +++ .../java/io/github/flemmli97/flan/Flan.java | 2 +- .../flemmli97/flan/api/ClaimHandler.java | 42 +++++++++++++++++++ .../data}/IPermissionContainer.java | 9 +++- .../flan/api/data/IPermissionStorage.java | 8 ++++ .../flan/api/{ => data}/IPlayerData.java | 4 +- .../api/{ => permission}/ClaimPermission.java | 2 +- .../ObjectToPermissionMap.java | 2 +- .../{ => permission}/PermissionRegistry.java | 2 +- .../io/github/flemmli97/flan/claim/Claim.java | 5 ++- .../flan/claim/ClaimPermissionCheck.java | 2 +- .../flemmli97/flan/claim/ClaimStorage.java | 11 +++-- .../flemmli97/flan/claim/GlobalClaim.java | 5 ++- .../flemmli97/flan/claim/PermHelper.java | 2 +- .../flemmli97/flan/commands/CommandClaim.java | 8 ++-- .../flan/commands/CommandHelpers.java | 4 +- .../github/flemmli97/flan/config/Config.java | 16 ++++--- .../flemmli97/flan/config/LangConfig.java | 4 +- .../flan/event/BlockInteractEvents.java | 8 ++-- .../flan/event/EntityInteractEvents.java | 8 ++-- .../flan/event/ItemInteractEvents.java | 8 ++-- .../flemmli97/flan/event/WorldEvents.java | 4 +- .../flan/gui/ClaimMenuScreenHandler.java | 4 +- .../flan/gui/GroupScreenHandler.java | 2 +- .../flan/gui/PermissionScreenHandler.java | 4 +- .../flan/gui/PersonalGroupScreenHandler.java | 2 +- .../gui/PersonalPermissionScreenHandler.java | 4 +- .../flan/gui/ServerScreenHelper.java | 2 +- .../flan/player/OfflinePlayerData.java | 41 ++++++++++++++++-- .../flan/player/PlayerClaimData.java | 9 ++-- fabric/build.gradle | 21 ++++++++++ .../io/github/flemmli97/flan/FlanFabric.java | 2 +- .../flan/api/fabric/PermissionCheckEvent.java | 2 +- .../fabric/ClaimPermissionCheckImpl.java | 2 +- .../playerability/PlayerAbilityEvents.java | 4 +- fabric/src/main/resources/fabric.mod_api.json | 5 +++ forge/build.gradle | 15 +++++++ .../flan/api/forge/PermissionCheckEvent.java | 2 +- .../claim/forge/ClaimPermissionCheckImpl.java | 2 +- .../flan/forgeevent/ServerEvents.java | 2 +- gradle.properties | 2 +- 41 files changed, 219 insertions(+), 70 deletions(-) create mode 100644 common/src/main/java/io/github/flemmli97/flan/api/ClaimHandler.java rename common/src/main/java/io/github/flemmli97/flan/{claim => api/data}/IPermissionContainer.java (58%) create mode 100644 common/src/main/java/io/github/flemmli97/flan/api/data/IPermissionStorage.java rename common/src/main/java/io/github/flemmli97/flan/api/{ => data}/IPlayerData.java (84%) rename common/src/main/java/io/github/flemmli97/flan/api/{ => permission}/ClaimPermission.java (97%) rename common/src/main/java/io/github/flemmli97/flan/api/{ => permission}/ObjectToPermissionMap.java (99%) rename common/src/main/java/io/github/flemmli97/flan/api/{ => permission}/PermissionRegistry.java (99%) create mode 100644 fabric/src/main/resources/fabric.mod_api.json diff --git a/Changelog.txt b/Changelog.txt index 8b01c96..8405a23 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,9 @@ +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. + + Flan 1.5.4 ====================== - Safe read player data so it doesnt crash when the file is wrong diff --git a/common/src/main/java/io/github/flemmli97/flan/Flan.java b/common/src/main/java/io/github/flemmli97/flan/Flan.java index 1e49aad..714d619 100644 --- a/common/src/main/java/io/github/flemmli97/flan/Flan.java +++ b/common/src/main/java/io/github/flemmli97/flan/Flan.java @@ -1,6 +1,6 @@ package io.github.flemmli97.flan; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.config.ConfigHandler; import net.minecraft.server.MinecraftServer; import org.apache.logging.log4j.LogManager; diff --git a/common/src/main/java/io/github/flemmli97/flan/api/ClaimHandler.java b/common/src/main/java/io/github/flemmli97/flan/api/ClaimHandler.java new file mode 100644 index 0000000..5796c76 --- /dev/null +++ b/common/src/main/java/io/github/flemmli97/flan/api/ClaimHandler.java @@ -0,0 +1,42 @@ +package io.github.flemmli97.flan.api; + +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.data.IPermissionStorage; +import io.github.flemmli97.flan.api.data.IPlayerData; +import io.github.flemmli97.flan.claim.ClaimStorage; +import io.github.flemmli97.flan.player.OfflinePlayerData; +import io.github.flemmli97.flan.player.PlayerClaimData; +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.server.world.ServerWorld; + +import java.util.UUID; + +public class ClaimHandler { + + /** + * Get the permission storage for the world to check for permissions. + * You can then use IPermissionContainer#getForPermissionCheck + * to return an {@link IPermissionContainer} for which you can then check permissions against + */ + public static IPermissionStorage getPermissionStorage(ServerWorld world) { + return ClaimStorage.get(world); + } + + /** + * Gets the claim data for the given player + */ + public static IPlayerData getPlayerData(ServerPlayerEntity player) { + return PlayerClaimData.get(player); + } + + /** + * Same as the above but with an uuid. Use this if the player is not online. + */ + public static IPlayerData getPlayerData(MinecraftServer server, UUID uuid) { + ServerPlayerEntity player = server.getPlayerManager().getPlayer(uuid); + if (player != null) + return getPlayerData(player); + return new OfflinePlayerData(server, uuid); + } +} diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/IPermissionContainer.java b/common/src/main/java/io/github/flemmli97/flan/api/data/IPermissionContainer.java similarity index 58% rename from common/src/main/java/io/github/flemmli97/flan/claim/IPermissionContainer.java rename to common/src/main/java/io/github/flemmli97/flan/api/data/IPermissionContainer.java index a3369f5..a5138b2 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/IPermissionContainer.java +++ b/common/src/main/java/io/github/flemmli97/flan/api/data/IPermissionContainer.java @@ -1,6 +1,6 @@ -package io.github.flemmli97.flan.claim; +package io.github.flemmli97.flan.api.data; -import io.github.flemmli97.flan.api.ClaimPermission; +import io.github.flemmli97.flan.api.permission.ClaimPermission; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.math.BlockPos; @@ -10,6 +10,11 @@ public interface IPermissionContainer { return this.canInteract(player, perm, pos, false); } + /** + * Return true of the action for the given ClamPermission is allowed here at the BlockPos + * + * @param player The player doing the action. Can be null + */ boolean canInteract(ServerPlayerEntity player, ClaimPermission perm, BlockPos pos, boolean message); } diff --git a/common/src/main/java/io/github/flemmli97/flan/api/data/IPermissionStorage.java b/common/src/main/java/io/github/flemmli97/flan/api/data/IPermissionStorage.java new file mode 100644 index 0000000..ebc63bf --- /dev/null +++ b/common/src/main/java/io/github/flemmli97/flan/api/data/IPermissionStorage.java @@ -0,0 +1,8 @@ +package io.github.flemmli97.flan.api.data; + +import net.minecraft.util.math.BlockPos; + +public interface IPermissionStorage { + + IPermissionContainer getForPermissionCheck(BlockPos pos); +} diff --git a/common/src/main/java/io/github/flemmli97/flan/api/IPlayerData.java b/common/src/main/java/io/github/flemmli97/flan/api/data/IPlayerData.java similarity index 84% rename from common/src/main/java/io/github/flemmli97/flan/api/IPlayerData.java rename to common/src/main/java/io/github/flemmli97/flan/api/data/IPlayerData.java index 70b4664..0157ce0 100644 --- a/common/src/main/java/io/github/flemmli97/flan/api/IPlayerData.java +++ b/common/src/main/java/io/github/flemmli97/flan/api/data/IPlayerData.java @@ -1,4 +1,4 @@ -package io.github.flemmli97.flan.api; +package io.github.flemmli97.flan.api.data; import io.github.flemmli97.flan.config.ConfigHandler; @@ -10,6 +10,8 @@ public interface IPlayerData { int usedClaimBlocks(); + void setAdditionalClaims(int amount); + default boolean canUseClaimBlocks(int amount) { if (ConfigHandler.config.maxClaimBlocks == -1) return true; diff --git a/common/src/main/java/io/github/flemmli97/flan/api/ClaimPermission.java b/common/src/main/java/io/github/flemmli97/flan/api/permission/ClaimPermission.java similarity index 97% rename from common/src/main/java/io/github/flemmli97/flan/api/ClaimPermission.java rename to common/src/main/java/io/github/flemmli97/flan/api/permission/ClaimPermission.java index 16f1a8f..107c2e9 100644 --- a/common/src/main/java/io/github/flemmli97/flan/api/ClaimPermission.java +++ b/common/src/main/java/io/github/flemmli97/flan/api/permission/ClaimPermission.java @@ -1,4 +1,4 @@ -package io.github.flemmli97.flan.api; +package io.github.flemmli97.flan.api.permission; import io.github.flemmli97.flan.claim.Claim; import net.minecraft.entity.player.PlayerEntity; diff --git a/common/src/main/java/io/github/flemmli97/flan/api/ObjectToPermissionMap.java b/common/src/main/java/io/github/flemmli97/flan/api/permission/ObjectToPermissionMap.java similarity index 99% rename from common/src/main/java/io/github/flemmli97/flan/api/ObjectToPermissionMap.java rename to common/src/main/java/io/github/flemmli97/flan/api/permission/ObjectToPermissionMap.java index 4d5fd47..14e1656 100644 --- a/common/src/main/java/io/github/flemmli97/flan/api/ObjectToPermissionMap.java +++ b/common/src/main/java/io/github/flemmli97/flan/api/permission/ObjectToPermissionMap.java @@ -1,4 +1,4 @@ -package io.github.flemmli97.flan.api; +package io.github.flemmli97.flan.api.permission; import io.github.flemmli97.flan.CrossPlatformStuff; import net.minecraft.block.AbstractButtonBlock; diff --git a/common/src/main/java/io/github/flemmli97/flan/api/PermissionRegistry.java b/common/src/main/java/io/github/flemmli97/flan/api/permission/PermissionRegistry.java similarity index 99% rename from common/src/main/java/io/github/flemmli97/flan/api/PermissionRegistry.java rename to common/src/main/java/io/github/flemmli97/flan/api/permission/PermissionRegistry.java index 89745e1..527d6d4 100644 --- a/common/src/main/java/io/github/flemmli97/flan/api/PermissionRegistry.java +++ b/common/src/main/java/io/github/flemmli97/flan/api/permission/PermissionRegistry.java @@ -1,4 +1,4 @@ -package io.github.flemmli97.flan.api; +package io.github.flemmli97.flan.api.permission; import io.github.flemmli97.flan.config.ConfigHandler; import net.minecraft.item.ItemStack; diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java b/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java index 3571c0f..b097c42 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java @@ -8,8 +8,9 @@ import com.google.gson.JsonObject; import com.mojang.authlib.GameProfile; import io.github.flemmli97.flan.CrossPlatformStuff; import io.github.flemmli97.flan.Flan; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.config.Config; import io.github.flemmli97.flan.config.ConfigHandler; import io.github.flemmli97.flan.config.ConfigUpdater; diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/ClaimPermissionCheck.java b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimPermissionCheck.java index 1c02898..48ad36c 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/ClaimPermissionCheck.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimPermissionCheck.java @@ -1,6 +1,6 @@ package io.github.flemmli97.flan.claim; -import io.github.flemmli97.flan.api.ClaimPermission; +import io.github.flemmli97.flan.api.permission.ClaimPermission; import me.shedaniel.architectury.annotations.ExpectPlatform; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.ActionResult; diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java index 969d9a5..c3884ac 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java @@ -6,9 +6,11 @@ import com.google.common.collect.Sets; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import io.github.flemmli97.flan.Flan; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.IPlayerData; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.data.IPermissionStorage; +import io.github.flemmli97.flan.api.data.IPlayerData; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.config.ConfigHandler; import io.github.flemmli97.flan.player.EnumDisplayType; import io.github.flemmli97.flan.player.EnumEditMode; @@ -46,7 +48,7 @@ import java.util.Map; import java.util.Set; import java.util.UUID; -public class ClaimStorage { +public class ClaimStorage implements IPermissionStorage { public static final String adminClaimString = "!AdminClaims"; private final Long2ObjectArrayMap> claims = new Long2ObjectArrayMap<>(); @@ -203,6 +205,7 @@ public class ClaimStorage { return null; } + @Override public IPermissionContainer getForPermissionCheck(BlockPos pos) { Claim claim = this.getClaimAt(pos); if (claim != null) diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/GlobalClaim.java b/common/src/main/java/io/github/flemmli97/flan/claim/GlobalClaim.java index 8b8d144..527f091 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/GlobalClaim.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/GlobalClaim.java @@ -1,7 +1,8 @@ package io.github.flemmli97.flan.claim; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.config.Config; import io.github.flemmli97.flan.config.ConfigHandler; import io.github.flemmli97.flan.player.PlayerClaimData; diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/PermHelper.java b/common/src/main/java/io/github/flemmli97/flan/claim/PermHelper.java index 0f64592..89ae7d6 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/PermHelper.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/PermHelper.java @@ -1,6 +1,6 @@ package io.github.flemmli97.flan.claim; -import io.github.flemmli97.flan.api.ClaimPermission; +import io.github.flemmli97.flan.api.permission.ClaimPermission; import io.github.flemmli97.flan.config.ConfigHandler; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.LiteralText; diff --git a/common/src/main/java/io/github/flemmli97/flan/commands/CommandClaim.java b/common/src/main/java/io/github/flemmli97/flan/commands/CommandClaim.java index 5c3c003..1d03ba9 100644 --- a/common/src/main/java/io/github/flemmli97/flan/commands/CommandClaim.java +++ b/common/src/main/java/io/github/flemmli97/flan/commands/CommandClaim.java @@ -9,9 +9,9 @@ import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.IPlayerData; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPlayerData; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.ClaimStorage; import io.github.flemmli97.flan.claim.PermHelper; @@ -415,7 +415,7 @@ public class CommandClaim { } else { OfflinePlayerData data = new OfflinePlayerData(server, of); context.getSource().sendFeedback(PermHelper.simpleColoredText(String.format(ConfigHandler.lang.claimBlocksFormat, - data.claimBlocks, data.additionalClaimBlocks, data.usedClaimBlocks()), Formatting.GOLD), false); + data.claimBlocks, data.getAdditionalClaims(), data.usedClaimBlocks()), Formatting.GOLD), false); } } context.getSource().sendFeedback(PermHelper.simpleColoredText(ConfigHandler.lang.listClaims, Formatting.GOLD), false); diff --git a/common/src/main/java/io/github/flemmli97/flan/commands/CommandHelpers.java b/common/src/main/java/io/github/flemmli97/flan/commands/CommandHelpers.java index 1021ada..2a83f02 100644 --- a/common/src/main/java/io/github/flemmli97/flan/commands/CommandHelpers.java +++ b/common/src/main/java/io/github/flemmli97/flan/commands/CommandHelpers.java @@ -6,8 +6,8 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.brigadier.exceptions.SimpleCommandExceptionType; import com.mojang.brigadier.suggestion.Suggestions; import com.mojang.brigadier.suggestion.SuggestionsBuilder; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.ClaimStorage; import io.github.flemmli97.flan.config.ConfigHandler; diff --git a/common/src/main/java/io/github/flemmli97/flan/config/Config.java b/common/src/main/java/io/github/flemmli97/flan/config/Config.java index 7e3cf1c..adda9ae 100644 --- a/common/src/main/java/io/github/flemmli97/flan/config/Config.java +++ b/common/src/main/java/io/github/flemmli97/flan/config/Config.java @@ -5,8 +5,8 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import io.github.flemmli97.flan.CrossPlatformStuff; import io.github.flemmli97.flan.Flan; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import net.minecraft.item.Item; import net.minecraft.item.Items; import net.minecraft.server.MinecraftServer; @@ -35,6 +35,7 @@ public class Config { public int defaultClaimDepth = 10; public boolean lenientBlockEntityCheck; public List ignoredBlocks = new ArrayList<>(); + public List ignoredEntityTypes = new ArrayList<>(); public List blockEntityTagIgnore = Lists.newArrayList( "IsDeathChest", //vanilla death chest "gunpowder.owner" //gunpowder @@ -120,6 +121,8 @@ public class Config { this.lenientBlockEntityCheck = ConfigHandler.fromJson(obj, "lenientBlockEntityCheck", this.lenientBlockEntityCheck); this.ignoredBlocks.clear(); ConfigHandler.arryFromJson(obj, "ignoredBlocks").forEach(e -> this.ignoredBlocks.add(e.getAsString())); + this.ignoredEntityTypes.clear(); + ConfigHandler.arryFromJson(obj, "ignoredEntities").forEach(e -> this.ignoredEntityTypes.add(e.getAsString())); this.blockEntityTagIgnore.clear(); ConfigHandler.arryFromJson(obj, "blockEntityTagIgnore").forEach(e -> this.blockEntityTagIgnore.add(e.getAsString())); this.entityTagIgnore.clear(); @@ -195,13 +198,16 @@ public class Config { JsonArray blocks = new JsonArray(); this.ignoredBlocks.forEach(blocks::add); obj.add("ignoredBlocks", blocks); + JsonArray entities = new JsonArray(); + this.ignoredEntityTypes.forEach(entities::add); + obj.add("ignoredEntities", entities); obj.addProperty("lenientBlockEntityCheck", this.lenientBlockEntityCheck); JsonArray blocksEntities = new JsonArray(); this.blockEntityTagIgnore.forEach(blocksEntities::add); obj.add("blockEntityTagIgnore", blocksEntities); - JsonArray entities = new JsonArray(); - this.entityTagIgnore.forEach(entities::add); - obj.add("entityTagIgnore", entities); + JsonArray entitiesTags = new JsonArray(); + this.entityTagIgnore.forEach(entitiesTags::add); + obj.add("entityTagIgnore", entitiesTags); JsonArray arr = new JsonArray(); for (String blacklistedWorld : this.blacklistedWorlds) diff --git a/common/src/main/java/io/github/flemmli97/flan/config/LangConfig.java b/common/src/main/java/io/github/flemmli97/flan/config/LangConfig.java index c47a137..8638295 100644 --- a/common/src/main/java/io/github/flemmli97/flan/config/LangConfig.java +++ b/common/src/main/java/io/github/flemmli97/flan/config/LangConfig.java @@ -5,8 +5,8 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import io.github.flemmli97.flan.CrossPlatformStuff; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import net.minecraft.server.MinecraftServer; import java.io.File; diff --git a/common/src/main/java/io/github/flemmli97/flan/event/BlockInteractEvents.java b/common/src/main/java/io/github/flemmli97/flan/event/BlockInteractEvents.java index 95cee7a..3c9a441 100644 --- a/common/src/main/java/io/github/flemmli97/flan/event/BlockInteractEvents.java +++ b/common/src/main/java/io/github/flemmli97/flan/event/BlockInteractEvents.java @@ -1,11 +1,11 @@ package io.github.flemmli97.flan.event; import io.github.flemmli97.flan.CrossPlatformStuff; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.ObjectToPermissionMap; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.ObjectToPermissionMap; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.ClaimStorage; -import io.github.flemmli97.flan.claim.IPermissionContainer; import io.github.flemmli97.flan.config.ConfigHandler; import io.github.flemmli97.flan.gui.LockedLecternScreenHandler; import io.github.flemmli97.flan.player.EnumDisplayType; diff --git a/common/src/main/java/io/github/flemmli97/flan/event/EntityInteractEvents.java b/common/src/main/java/io/github/flemmli97/flan/event/EntityInteractEvents.java index 79599d1..860efc6 100644 --- a/common/src/main/java/io/github/flemmli97/flan/event/EntityInteractEvents.java +++ b/common/src/main/java/io/github/flemmli97/flan/event/EntityInteractEvents.java @@ -1,11 +1,11 @@ package io.github.flemmli97.flan.event; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.ObjectToPermissionMap; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.ObjectToPermissionMap; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.ClaimStorage; -import io.github.flemmli97.flan.claim.IPermissionContainer; import io.github.flemmli97.flan.config.ConfigHandler; import io.github.flemmli97.flan.mixin.IHungerAccessor; import io.github.flemmli97.flan.mixin.IPersistentProjectileVars; diff --git a/common/src/main/java/io/github/flemmli97/flan/event/ItemInteractEvents.java b/common/src/main/java/io/github/flemmli97/flan/event/ItemInteractEvents.java index 6437044..5b509fc 100644 --- a/common/src/main/java/io/github/flemmli97/flan/event/ItemInteractEvents.java +++ b/common/src/main/java/io/github/flemmli97/flan/event/ItemInteractEvents.java @@ -2,12 +2,12 @@ package io.github.flemmli97.flan.event; import com.google.common.collect.Sets; import com.mojang.authlib.GameProfile; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.ObjectToPermissionMap; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.ObjectToPermissionMap; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.ClaimStorage; -import io.github.flemmli97.flan.claim.IPermissionContainer; import io.github.flemmli97.flan.claim.PermHelper; import io.github.flemmli97.flan.config.ConfigHandler; import io.github.flemmli97.flan.integration.permissionapi.CommandPermission; diff --git a/common/src/main/java/io/github/flemmli97/flan/event/WorldEvents.java b/common/src/main/java/io/github/flemmli97/flan/event/WorldEvents.java index 69a7b7f..247f210 100644 --- a/common/src/main/java/io/github/flemmli97/flan/event/WorldEvents.java +++ b/common/src/main/java/io/github/flemmli97/flan/event/WorldEvents.java @@ -1,8 +1,8 @@ package io.github.flemmli97.flan.event; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.ClaimStorage; -import io.github.flemmli97.flan.claim.IPermissionContainer; import net.minecraft.block.BlockState; import net.minecraft.entity.LightningEntity; import net.minecraft.entity.SpawnGroup; diff --git a/common/src/main/java/io/github/flemmli97/flan/gui/ClaimMenuScreenHandler.java b/common/src/main/java/io/github/flemmli97/flan/gui/ClaimMenuScreenHandler.java index 49aec8e..0b36739 100644 --- a/common/src/main/java/io/github/flemmli97/flan/gui/ClaimMenuScreenHandler.java +++ b/common/src/main/java/io/github/flemmli97/flan/gui/ClaimMenuScreenHandler.java @@ -1,7 +1,7 @@ package io.github.flemmli97.flan.gui; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.ClaimStorage; import io.github.flemmli97.flan.claim.PermHelper; diff --git a/common/src/main/java/io/github/flemmli97/flan/gui/GroupScreenHandler.java b/common/src/main/java/io/github/flemmli97/flan/gui/GroupScreenHandler.java index acaa6bc..df93798 100644 --- a/common/src/main/java/io/github/flemmli97/flan/gui/GroupScreenHandler.java +++ b/common/src/main/java/io/github/flemmli97/flan/gui/GroupScreenHandler.java @@ -1,6 +1,6 @@ package io.github.flemmli97.flan.gui; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.PermHelper; import io.github.flemmli97.flan.gui.inv.SeparateInv; diff --git a/common/src/main/java/io/github/flemmli97/flan/gui/PermissionScreenHandler.java b/common/src/main/java/io/github/flemmli97/flan/gui/PermissionScreenHandler.java index b0ae380..cf4a110 100644 --- a/common/src/main/java/io/github/flemmli97/flan/gui/PermissionScreenHandler.java +++ b/common/src/main/java/io/github/flemmli97/flan/gui/PermissionScreenHandler.java @@ -1,7 +1,7 @@ package io.github.flemmli97.flan.gui; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.PermHelper; import io.github.flemmli97.flan.config.ConfigHandler; diff --git a/common/src/main/java/io/github/flemmli97/flan/gui/PersonalGroupScreenHandler.java b/common/src/main/java/io/github/flemmli97/flan/gui/PersonalGroupScreenHandler.java index 94ba591..1fdb48b 100644 --- a/common/src/main/java/io/github/flemmli97/flan/gui/PersonalGroupScreenHandler.java +++ b/common/src/main/java/io/github/flemmli97/flan/gui/PersonalGroupScreenHandler.java @@ -1,6 +1,6 @@ package io.github.flemmli97.flan.gui; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.PermHelper; import io.github.flemmli97.flan.config.ConfigHandler; import io.github.flemmli97.flan.gui.inv.SeparateInv; diff --git a/common/src/main/java/io/github/flemmli97/flan/gui/PersonalPermissionScreenHandler.java b/common/src/main/java/io/github/flemmli97/flan/gui/PersonalPermissionScreenHandler.java index 6f80197..8bba8ee 100644 --- a/common/src/main/java/io/github/flemmli97/flan/gui/PersonalPermissionScreenHandler.java +++ b/common/src/main/java/io/github/flemmli97/flan/gui/PersonalPermissionScreenHandler.java @@ -1,7 +1,7 @@ package io.github.flemmli97.flan.gui; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.PermHelper; import io.github.flemmli97.flan.config.ConfigHandler; import io.github.flemmli97.flan.gui.inv.SeparateInv; diff --git a/common/src/main/java/io/github/flemmli97/flan/gui/ServerScreenHelper.java b/common/src/main/java/io/github/flemmli97/flan/gui/ServerScreenHelper.java index 4c79757..5c31b30 100644 --- a/common/src/main/java/io/github/flemmli97/flan/gui/ServerScreenHelper.java +++ b/common/src/main/java/io/github/flemmli97/flan/gui/ServerScreenHelper.java @@ -1,6 +1,6 @@ package io.github.flemmli97.flan.gui; -import io.github.flemmli97.flan.api.ClaimPermission; +import io.github.flemmli97.flan.api.permission.ClaimPermission; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.PermHelper; import io.github.flemmli97.flan.config.Config; diff --git a/common/src/main/java/io/github/flemmli97/flan/player/OfflinePlayerData.java b/common/src/main/java/io/github/flemmli97/flan/player/OfflinePlayerData.java index 3a7cb43..9b5af6e 100644 --- a/common/src/main/java/io/github/flemmli97/flan/player/OfflinePlayerData.java +++ b/common/src/main/java/io/github/flemmli97/flan/player/OfflinePlayerData.java @@ -2,7 +2,7 @@ package io.github.flemmli97.flan.player; import com.google.gson.JsonObject; import io.github.flemmli97.flan.Flan; -import io.github.flemmli97.flan.api.IPlayerData; +import io.github.flemmli97.flan.api.data.IPlayerData; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.ClaimStorage; import io.github.flemmli97.flan.config.ConfigHandler; @@ -14,7 +14,6 @@ import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; -import java.time.DateTimeException; import java.time.LocalDateTime; import java.util.Collection; import java.util.HashMap; @@ -23,13 +22,16 @@ import java.util.UUID; public class OfflinePlayerData implements IPlayerData { - public final int claimBlocks, additionalClaimBlocks; + public final int claimBlocks; + private int additionalClaimBlocks; public final LocalDateTime lastOnline; public final UUID owner; public final MinecraftServer server; + public final File saveFile; public OfflinePlayerData(MinecraftServer server, UUID uuid) { File dir = new File(server.getSavePath(WorldSavePath.PLAYERDATA).toFile(), "/claimData/"); + this.saveFile = new File(dir, uuid + ".json"); int claim = ConfigHandler.config.startingBlocks; int add = 0; this.owner = uuid; @@ -43,7 +45,7 @@ public class OfflinePlayerData implements IPlayerData { reader.close(); claim = ConfigHandler.fromJson(obj, "ClaimBlocks", claim); add = ConfigHandler.fromJson(obj, "AdditionalBlocks", add); - if(obj.has("LastSeen")) { + if (obj.has("LastSeen")) { try { last = LocalDateTime.parse(obj.get("LastSeen").getAsString(), Flan.onlineTimeFormatter); } catch (RuntimeException e) { @@ -62,6 +64,7 @@ public class OfflinePlayerData implements IPlayerData { } private OfflinePlayerData(MinecraftServer server, File dataFile, UUID uuid) { + this.saveFile = dataFile; int claim = ConfigHandler.config.startingBlocks; int add = 0; LocalDateTime last = LocalDateTime.now(); @@ -115,6 +118,36 @@ public class OfflinePlayerData implements IPlayerData { return usedClaimsBlocks; } + @Override + public void setAdditionalClaims(int amount) { + this.additionalClaimBlocks = amount; + try { + if (!this.saveFile.getParentFile().exists()) { + this.saveFile.getParentFile().mkdirs(); + this.saveFile.createNewFile(); + } else if (!this.saveFile.exists()) + this.saveFile.createNewFile(); + FileReader reader = new FileReader(this.saveFile); + JsonObject obj = ConfigHandler.GSON.fromJson(reader, JsonObject.class); + reader.close(); + if (obj == null) { + obj = new JsonObject(); + obj.addProperty("ClaimBlocks", this.claimBlocks); + obj.addProperty("AdditionalBlocks", this.additionalClaimBlocks); + obj.addProperty("LastSeen", this.lastOnline.format(Flan.onlineTimeFormatter)); + JsonObject defPerm = new JsonObject(); + obj.add("DefaultGroups", defPerm); + } else + obj.addProperty("AdditionalBlocks", this.additionalClaimBlocks); + Flan.debug("Attempting to write following json data {} to file {}", obj, this.saveFile.getName()); + FileWriter writer = new FileWriter(this.saveFile); + ConfigHandler.GSON.toJson(obj, writer); + writer.close(); + } catch (IOException e) { + Flan.log("Error adding additional claimblocks to offline player {}", this.owner); + } + } + public static Map collectAllPlayerData(MinecraftServer server) { File dir = new File(server.getSavePath(WorldSavePath.PLAYERDATA).toFile(), "/claimData/"); Map playerDatas = new HashMap<>(); diff --git a/common/src/main/java/io/github/flemmli97/flan/player/PlayerClaimData.java b/common/src/main/java/io/github/flemmli97/flan/player/PlayerClaimData.java index 6f4dc97..7c3b45b 100644 --- a/common/src/main/java/io/github/flemmli97/flan/player/PlayerClaimData.java +++ b/common/src/main/java/io/github/flemmli97/flan/player/PlayerClaimData.java @@ -2,12 +2,12 @@ package io.github.flemmli97.flan.player; import com.google.gson.JsonObject; import io.github.flemmli97.flan.Flan; -import io.github.flemmli97.flan.api.ClaimPermission; -import io.github.flemmli97.flan.api.IPlayerData; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.data.IPlayerData; +import io.github.flemmli97.flan.api.permission.ClaimPermission; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.Claim; import io.github.flemmli97.flan.claim.ClaimStorage; -import io.github.flemmli97.flan.claim.IPermissionContainer; import io.github.flemmli97.flan.claim.ParticleIndicators; import io.github.flemmli97.flan.claim.PermHelper; import io.github.flemmli97.flan.config.ConfigHandler; @@ -102,6 +102,7 @@ public class PlayerClaimData implements IPlayerData { return this.additionalClaimBlocks; } + @Override public void setAdditionalClaims(int amount) { this.additionalClaimBlocks = Math.max(0, amount); updateScoreFor(this.player, ClaimCriterias.AMOUNT, this.claimBlocks + this.additionalClaimBlocks); diff --git a/fabric/build.gradle b/fabric/build.gradle index dfbd1b9..a3bdd82 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -93,6 +93,26 @@ sourcesJar { classifier "fabric-source" } +task apiJar(type: Jar, dependsOn: classes) { + archiveClassifier.set "fabric-api-source" + from project(":common").sourceSets.main.output + sourceSets.main.output + include "io/github/flemmli97/flan/api/**" + include "fabric.mod_api.json" //Include this so it gets remapped as a dependency + rename("fabric.mod_api.json", "fabric.mod.json") +} + +task remapApiJar(type: net.fabricmc.loom.task.RemapJarTask){ + archiveClassifier.set "fabric-api" + input.set apiJar.archiveFile + addNestedDependencies = false + dependsOn apiJar + from sourceSets.main.output + /* Putting it here doesnt seem to work... + include "fabric.mod_api.json" //Include this so it gets remapped as a dependency + rename("fabric.mod_api.json", "fabric.mod.json") + */ +} + publishing { publications { mavenJava(MavenPublication) { @@ -103,6 +123,7 @@ publishing { artifact(sourcesJar) { builtBy remapSourcesJar } + artifact(remapApiJar) artifactId project.archives_base_name version project.version } diff --git a/fabric/src/main/java/io/github/flemmli97/flan/FlanFabric.java b/fabric/src/main/java/io/github/flemmli97/flan/FlanFabric.java index 3e62949..8951702 100644 --- a/fabric/src/main/java/io/github/flemmli97/flan/FlanFabric.java +++ b/fabric/src/main/java/io/github/flemmli97/flan/FlanFabric.java @@ -1,6 +1,6 @@ package io.github.flemmli97.flan; -import io.github.flemmli97.flan.api.ObjectToPermissionMap; +import io.github.flemmli97.flan.api.permission.ObjectToPermissionMap; import io.github.flemmli97.flan.commands.CommandClaim; import io.github.flemmli97.flan.config.ConfigHandler; import io.github.flemmli97.flan.event.BlockInteractEvents; diff --git a/fabric/src/main/java/io/github/flemmli97/flan/api/fabric/PermissionCheckEvent.java b/fabric/src/main/java/io/github/flemmli97/flan/api/fabric/PermissionCheckEvent.java index 6869cb9..c79e9a8 100644 --- a/fabric/src/main/java/io/github/flemmli97/flan/api/fabric/PermissionCheckEvent.java +++ b/fabric/src/main/java/io/github/flemmli97/flan/api/fabric/PermissionCheckEvent.java @@ -1,6 +1,6 @@ package io.github.flemmli97.flan.api.fabric; -import io.github.flemmli97.flan.api.ClaimPermission; +import io.github.flemmli97.flan.api.permission.ClaimPermission; import net.fabricmc.fabric.api.event.Event; import net.fabricmc.fabric.api.event.EventFactory; import net.minecraft.server.network.ServerPlayerEntity; diff --git a/fabric/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java b/fabric/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java index 84769d2..574a6b7 100644 --- a/fabric/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java +++ b/fabric/src/main/java/io/github/flemmli97/flan/claim/fabric/ClaimPermissionCheckImpl.java @@ -1,7 +1,7 @@ package io.github.flemmli97.flan.claim.fabric; -import io.github.flemmli97.flan.api.ClaimPermission; import io.github.flemmli97.flan.api.fabric.PermissionCheckEvent; +import io.github.flemmli97.flan.api.permission.ClaimPermission; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.ActionResult; import net.minecraft.util.math.BlockPos; diff --git a/fabric/src/main/java/io/github/flemmli97/flan/integration/playerability/PlayerAbilityEvents.java b/fabric/src/main/java/io/github/flemmli97/flan/integration/playerability/PlayerAbilityEvents.java index 99eb7ab..32e58e3 100644 --- a/fabric/src/main/java/io/github/flemmli97/flan/integration/playerability/PlayerAbilityEvents.java +++ b/fabric/src/main/java/io/github/flemmli97/flan/integration/playerability/PlayerAbilityEvents.java @@ -1,8 +1,8 @@ package io.github.flemmli97.flan.integration.playerability; -import io.github.flemmli97.flan.api.PermissionRegistry; +import io.github.flemmli97.flan.api.data.IPermissionContainer; +import io.github.flemmli97.flan.api.permission.PermissionRegistry; import io.github.flemmli97.flan.claim.ClaimStorage; -import io.github.flemmli97.flan.claim.IPermissionContainer; import io.github.ladysnake.pal.AbilitySource; import io.github.ladysnake.pal.PlayerAbility; import io.github.ladysnake.pal.PlayerAbilityEnableCallback; diff --git a/fabric/src/main/resources/fabric.mod_api.json b/fabric/src/main/resources/fabric.mod_api.json new file mode 100644 index 0000000..fd664d3 --- /dev/null +++ b/fabric/src/main/resources/fabric.mod_api.json @@ -0,0 +1,5 @@ +{ + "schemaVersion": 1, + "id": "flan", + "version": "${version}" +} diff --git a/forge/build.gradle b/forge/build.gradle index a188de9..d8ebcb0 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -66,6 +66,20 @@ sourcesJar { classifier "forge-sources" } + +task apiJar(type: Jar, dependsOn: classes) { + archiveClassifier.set "forge-api-source" + from project(":common").sourceSets.main.output + sourceSets.main.output + include "io/github/flemmli97/flan/api/**" +} + +task remapApiJar(type: net.fabricmc.loom.task.RemapJarTask){ + archiveClassifier.set "forge-api" + input.set apiJar.archiveFile + addNestedDependencies = false + dependsOn apiJar +} + publishing { publications { mavenJava(MavenPublication) { @@ -76,6 +90,7 @@ publishing { artifact(sourcesJar) { builtBy remapSourcesJar } + artifact(remapApiJar) artifactId project.archives_base_name version project.version } diff --git a/forge/src/main/java/io/github/flemmli97/flan/api/forge/PermissionCheckEvent.java b/forge/src/main/java/io/github/flemmli97/flan/api/forge/PermissionCheckEvent.java index 5d6b557..f41795d 100644 --- a/forge/src/main/java/io/github/flemmli97/flan/api/forge/PermissionCheckEvent.java +++ b/forge/src/main/java/io/github/flemmli97/flan/api/forge/PermissionCheckEvent.java @@ -1,6 +1,6 @@ package io.github.flemmli97.flan.api.forge; -import io.github.flemmli97.flan.api.ClaimPermission; +import io.github.flemmli97.flan.api.permission.ClaimPermission; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.ActionResult; import net.minecraft.util.math.BlockPos; diff --git a/forge/src/main/java/io/github/flemmli97/flan/claim/forge/ClaimPermissionCheckImpl.java b/forge/src/main/java/io/github/flemmli97/flan/claim/forge/ClaimPermissionCheckImpl.java index 7bb6dec..ccfc445 100644 --- a/forge/src/main/java/io/github/flemmli97/flan/claim/forge/ClaimPermissionCheckImpl.java +++ b/forge/src/main/java/io/github/flemmli97/flan/claim/forge/ClaimPermissionCheckImpl.java @@ -1,7 +1,7 @@ package io.github.flemmli97.flan.claim.forge; -import io.github.flemmli97.flan.api.ClaimPermission; import io.github.flemmli97.flan.api.forge.PermissionCheckEvent; +import io.github.flemmli97.flan.api.permission.ClaimPermission; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.ActionResult; import net.minecraft.util.math.BlockPos; diff --git a/forge/src/main/java/io/github/flemmli97/flan/forgeevent/ServerEvents.java b/forge/src/main/java/io/github/flemmli97/flan/forgeevent/ServerEvents.java index b89f040..2685200 100644 --- a/forge/src/main/java/io/github/flemmli97/flan/forgeevent/ServerEvents.java +++ b/forge/src/main/java/io/github/flemmli97/flan/forgeevent/ServerEvents.java @@ -1,7 +1,7 @@ package io.github.flemmli97.flan.forgeevent; import io.github.flemmli97.flan.Flan; -import io.github.flemmli97.flan.api.ObjectToPermissionMap; +import io.github.flemmli97.flan.api.permission.ObjectToPermissionMap; import io.github.flemmli97.flan.commands.CommandClaim; import io.github.flemmli97.flan.config.ConfigHandler; import net.minecraftforge.event.RegisterCommandsEvent; diff --git a/gradle.properties b/gradle.properties index dded584..6026ac0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ minecraft_version=1.16.5 yarn_mappings=1.16.5+build.9 loader_version=0.11.3 # Mod Properties -mod_version=1.5.4 +mod_version=1.6.0 maven_group=io.github.flemmli97 archives_base_name=flan # Dependencies