multiline permission description fix #24
This commit is contained in:
parent
92c4e0904e
commit
c64a24757d
@ -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
|
Flan 1.2.1
|
||||||
======================
|
======================
|
||||||
- Fix wrong claim size calculation #19
|
- Fix wrong claim size calculation #19
|
||||||
|
@ -10,15 +10,15 @@ import java.util.function.Supplier;
|
|||||||
public class ClaimPermission {
|
public class ClaimPermission {
|
||||||
|
|
||||||
private final Supplier<ItemStack> guiItem;
|
private final Supplier<ItemStack> guiItem;
|
||||||
public String desc;
|
public String[] desc;
|
||||||
public final String id;
|
public final String id;
|
||||||
public final ClaimTest test;
|
public final ClaimTest test;
|
||||||
|
|
||||||
public ClaimPermission(String id, Supplier<ItemStack> guiItem, String defaultDescription) {
|
public ClaimPermission(String id, Supplier<ItemStack> guiItem, String... defaultDescription) {
|
||||||
this(id, guiItem, defaultDescription, pass);
|
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.id = id;
|
||||||
this.guiItem = guiItem;
|
this.guiItem = guiItem;
|
||||||
this.desc = defaultDescription;
|
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 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 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 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 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 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"));
|
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 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 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 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 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 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 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 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 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"));
|
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.ClaimPermission;
|
||||||
import com.flemmli97.flan.api.PermissionRegistry;
|
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.JsonObject;
|
||||||
|
import com.google.gson.JsonParseException;
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
|
|
||||||
@ -107,8 +110,19 @@ public class LangConfig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (ClaimPermission perm : PermissionRegistry.getPerms()) {
|
for (ClaimPermission perm : PermissionRegistry.getPerms()) {
|
||||||
if (obj.has(perm.id + ".desc"))
|
if (obj.has(perm.id + ".desc")) {
|
||||||
perm.desc = obj.get(perm.id + ".desc").getAsString();
|
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) {
|
} catch (IOException | IllegalAccessException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@ -124,8 +138,16 @@ public class LangConfig {
|
|||||||
obj.addProperty(field.getName(), (String) field.get(this));
|
obj.addProperty(field.getName(), (String) field.get(this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (ClaimPermission perm : PermissionRegistry.getPerms())
|
for (ClaimPermission perm : PermissionRegistry.getPerms()) {
|
||||||
obj.addProperty(perm.id + ".desc", perm.desc);
|
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);
|
FileWriter writer = new FileWriter(this.config);
|
||||||
ConfigHandler.GSON.toJson(obj, writer);
|
ConfigHandler.GSON.toJson(obj, writer);
|
||||||
writer.close();
|
writer.close();
|
||||||
|
@ -29,8 +29,10 @@ public class ServerScreenHelper {
|
|||||||
ItemStack stack = perm.getItem();
|
ItemStack stack = perm.getItem();
|
||||||
stack.setCustomName(new LiteralText(perm.id).setStyle(Style.EMPTY.withFormatting(Formatting.GOLD)));
|
stack.setCustomName(new LiteralText(perm.id).setStyle(Style.EMPTY.withFormatting(Formatting.GOLD)));
|
||||||
ListTag lore = new ListTag();
|
ListTag lore = new ListTag();
|
||||||
Text trans = new LiteralText(perm.desc).setStyle(Style.EMPTY.withFormatting(Formatting.YELLOW));
|
for(String pdesc : perm.desc) {
|
||||||
lore.add(StringTag.of(Text.Serializer.toJson(trans)));
|
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);
|
Boolean global = ConfigHandler.config.getGlobal(claim.getWorld(), perm);
|
||||||
if (!claim.isAdminClaim() && global != null) {
|
if (!claim.isAdminClaim() && global != null) {
|
||||||
Text text = new LiteralText(ConfigHandler.lang.screenUneditable).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_RED));
|
Text text = new LiteralText(ConfigHandler.lang.screenUneditable).setStyle(Style.EMPTY.withFormatting(Formatting.DARK_RED));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user