multiline permission description fix #24
This commit is contained in:
parent
92c4e0904e
commit
c64a24757d
Changelog.txt
src/main/java/com/flemmli97/flan
@ -1,3 +1,9 @@
|
||||
Flan 1.2.2
|
||||
======================
|
||||
- Increase particle size
|
||||
- Fix thrown items activating pressure plates
|
||||
- Add option to have multiple lines for permission description in lang file
|
||||
|
||||
Flan 1.2.1
|
||||
======================
|
||||
- Fix wrong claim size calculation #19
|
||||
|
@ -10,15 +10,15 @@ import java.util.function.Supplier;
|
||||
public class ClaimPermission {
|
||||
|
||||
private final Supplier<ItemStack> guiItem;
|
||||
public String desc;
|
||||
public String[] desc;
|
||||
public final String id;
|
||||
public final ClaimTest test;
|
||||
|
||||
public ClaimPermission(String id, Supplier<ItemStack> guiItem, String defaultDescription) {
|
||||
this(id, guiItem, defaultDescription, pass);
|
||||
public ClaimPermission(String id, Supplier<ItemStack> guiItem, String... defaultDescription) {
|
||||
this(id, guiItem, pass, defaultDescription);
|
||||
}
|
||||
|
||||
public ClaimPermission(String id, Supplier<ItemStack> guiItem, String defaultDescription, ClaimTest test) {
|
||||
public ClaimPermission(String id, Supplier<ItemStack> guiItem, ClaimTest test, String... defaultDescription) {
|
||||
this.id = id;
|
||||
this.guiItem = guiItem;
|
||||
this.desc = defaultDescription;
|
||||
|
@ -30,7 +30,7 @@ public class PermissionRegistry {
|
||||
public static ClaimPermission EDITPERMS = register(new ClaimPermission("EDITPERMS", () -> new ItemStack(Items.COMMAND_BLOCK), "Gives permission to change the claims permissions"));
|
||||
public static ClaimPermission BREAK = register(new ClaimPermission("BREAK", () -> new ItemStack(Items.DIAMOND_PICKAXE), "Permission to break blocks in the claim"));
|
||||
public static ClaimPermission PLACE = register(new ClaimPermission("PLACE", () -> new ItemStack(Items.GRASS_BLOCK), "Permission to place blocks in the claim"));
|
||||
public static ClaimPermission OPENCONTAINER = register(new ClaimPermission("OPENCONTAINER", () -> new ItemStack(Items.CHEST), "Permission to open containers (chest, furnace etc.)"));
|
||||
public static ClaimPermission OPENCONTAINER = register(new ClaimPermission("OPENCONTAINER", () -> new ItemStack(Items.CHEST), "Permission to open containers" ,"(chest, furnace etc.)"));
|
||||
public static ClaimPermission ANVIL = register(new ClaimPermission("ANVIL", () -> new ItemStack(Items.ANVIL), "Permission to use anvils"));
|
||||
public static ClaimPermission BED = register(new ClaimPermission("BED", () -> new ItemStack(Items.RED_BED), "Permission to use beds"));
|
||||
public static ClaimPermission BEACON = register(new ClaimPermission("BEACON", () -> new ItemStack(Items.BEACON), "Permission to use beacons"));
|
||||
@ -46,10 +46,10 @@ public class PermissionRegistry {
|
||||
public static ClaimPermission LECTERNTAKE = register(new ClaimPermission("LECTERNTAKE", () -> new ItemStack(Items.LECTERN), "Permission to change books in a lectern"));
|
||||
public static ClaimPermission ENDCRYSTALPLACE = register(new ClaimPermission("ENDCRYSTALPLACE", () -> new ItemStack(Items.END_CRYSTAL), "Permission to place end crystals"));
|
||||
public static ClaimPermission TARGETBLOCK = register(new ClaimPermission("TARGETBLOCK", () -> new ItemStack(Items.TARGET), "Permission to trigger target blocks"));
|
||||
public static ClaimPermission PROJECTILES = register(new ClaimPermission("PROJECTILES", () -> new ItemStack(Items.ARROW), "Permission to let shot projectiles interact with blocks (e.g. arrow on button)"));
|
||||
public static ClaimPermission TRAMPLE = register(new ClaimPermission("TRAMPLE", () -> new ItemStack(Items.FARMLAND), "Permission to enable block trampling (farmland, turtle eggs)"));
|
||||
public static ClaimPermission PROJECTILES = register(new ClaimPermission("PROJECTILES", () -> new ItemStack(Items.ARROW), "Permission to let shot projectiles", "interact with blocks (e.g. arrow on button)"));
|
||||
public static ClaimPermission TRAMPLE = register(new ClaimPermission("TRAMPLE", () -> new ItemStack(Items.FARMLAND), "Permission to enable block trampling", "(farmland, turtle eggs)"));
|
||||
public static ClaimPermission PORTAL = register(new ClaimPermission("PORTAL", () -> new ItemStack(Items.OBSIDIAN), "Permission to use nether portals"));
|
||||
public static ClaimPermission RAID = register(new ClaimPermission("RAID", () -> Raid.getOminousBanner(), "Permission to trigger raids in claim. Wont prevent raids (just) outside"));
|
||||
public static ClaimPermission RAID = register(new ClaimPermission("RAID", () -> Raid.getOminousBanner(), "Permission to trigger raids in claim.", "Wont prevent raids (just) outside"));
|
||||
public static ClaimPermission BOAT = register(new ClaimPermission("BOAT", () -> new ItemStack(Items.OAK_BOAT), "Permission to sit in boats"));
|
||||
public static ClaimPermission MINECART = register(new ClaimPermission("MINECART", () -> new ItemStack(Items.MINECART), "Permission to sit in minecarts"));
|
||||
public static ClaimPermission BUCKET = register(new ClaimPermission("BUCKET", () -> new ItemStack(Items.BUCKET), "Permission to take liquids with buckets"));
|
||||
|
@ -2,7 +2,10 @@ package com.flemmli97.flan.config;
|
||||
|
||||
import com.flemmli97.flan.api.ClaimPermission;
|
||||
import com.flemmli97.flan.api.PermissionRegistry;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParseException;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
|
||||
@ -107,8 +110,19 @@ public class LangConfig {
|
||||
}
|
||||
}
|
||||
for (ClaimPermission perm : PermissionRegistry.getPerms()) {
|
||||
if (obj.has(perm.id + ".desc"))
|
||||
perm.desc = obj.get(perm.id + ".desc").getAsString();
|
||||
if (obj.has(perm.id + ".desc")) {
|
||||
JsonElement pe = obj.get(perm.id + ".desc");
|
||||
if(pe.isJsonObject())
|
||||
throw new JsonParseException("Lang cant be json objects");
|
||||
if(pe.isJsonArray()){
|
||||
String[] l = new String[pe.getAsJsonArray().size()];
|
||||
for(int i = 0; i < l.length; i++)
|
||||
l[i] = pe.getAsJsonArray().get(i).getAsString();
|
||||
perm.desc = l;
|
||||
}
|
||||
else
|
||||
perm.desc = new String[]{pe.getAsString()};
|
||||
}
|
||||
}
|
||||
} catch (IOException | IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
@ -124,8 +138,16 @@ public class LangConfig {
|
||||
obj.addProperty(field.getName(), (String) field.get(this));
|
||||
}
|
||||
}
|
||||
for (ClaimPermission perm : PermissionRegistry.getPerms())
|
||||
obj.addProperty(perm.id + ".desc", perm.desc);
|
||||
for (ClaimPermission perm : PermissionRegistry.getPerms()) {
|
||||
if (perm.desc.length == 1)
|
||||
obj.addProperty(perm.id + ".desc", perm.desc[0]);
|
||||
else {
|
||||
JsonArray arr = new JsonArray();
|
||||
for (String s : perm.desc)
|
||||
arr.add(s);
|
||||
obj.add(perm.id + ".desc", arr);
|
||||
}
|
||||
}
|
||||
FileWriter writer = new FileWriter(this.config);
|
||||
ConfigHandler.GSON.toJson(obj, writer);
|
||||
writer.close();
|
||||
|
@ -29,8 +29,10 @@ public class ServerScreenHelper {
|
||||
ItemStack stack = perm.getItem();
|
||||
stack.setCustomName(new LiteralText(perm.id).setStyle(Style.EMPTY.withFormatting(Formatting.GOLD)));
|
||||
ListTag lore = new ListTag();
|
||||
Text trans = new LiteralText(perm.desc).setStyle(Style.EMPTY.withFormatting(Formatting.YELLOW));
|
||||
lore.add(StringTag.of(Text.Serializer.toJson(trans)));
|
||||
for(String pdesc : perm.desc) {
|
||||
Text trans = new LiteralText(pdesc).setStyle(Style.EMPTY.withFormatting(Formatting.YELLOW));
|
||||
lore.add(StringTag.of(Text.Serializer.toJson(trans)));
|
||||
}
|
||||
Boolean global = ConfigHandler.config.getGlobal(claim.getWorld(), perm);
|
||||
if (!claim.isAdminClaim() && global != null) {
|
||||
Text text = new LiteralText(ConfigHandler.lang.screenUneditable).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_RED));
|
||||
|
Loading…
x
Reference in New Issue
Block a user