diff --git a/src/main/java/exopandora/worldhandler/builder/component/abstr/ComponentAttribute.java b/src/main/java/exopandora/worldhandler/builder/component/abstr/ComponentAttribute.java index 2279b9f..a0b9881 100644 --- a/src/main/java/exopandora/worldhandler/builder/component/abstr/ComponentAttribute.java +++ b/src/main/java/exopandora/worldhandler/builder/component/abstr/ComponentAttribute.java @@ -2,6 +2,7 @@ package exopandora.worldhandler.builder.component.abstr; import java.util.HashMap; import java.util.Map; +import java.util.Set; import java.util.function.Function; import exopandora.worldhandler.builder.component.IBuilderComponent; @@ -12,7 +13,7 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public abstract class ComponentAttribute implements IBuilderComponent { - protected Map attributes = new HashMap(); + protected Map attributes = new HashMap(); protected Function applyable; public ComponentAttribute(Function applyable) @@ -20,13 +21,28 @@ public abstract class ComponentAttribute implements IBuilderComponent this.applyable = applyable; } - public void set(EnumAttributes attribute, float ammount) + public void set(EnumAttributes attribute, double ammount) { this.attributes.put(attribute, ammount); } + public double getAmmount(EnumAttributes attribute) + { + if(this.attributes.containsKey(attribute)) + { + return this.attributes.get(attribute); + } + + return 0; + } + public void remove(EnumAttributes attribute) { this.attributes.remove(attribute); } + + public Set getAttributes() + { + return this.attributes.keySet(); + } } diff --git a/src/main/java/exopandora/worldhandler/builder/component/abstr/ComponentPotion.java b/src/main/java/exopandora/worldhandler/builder/component/abstr/ComponentPotion.java index 5a21f33..8fd7f00 100644 --- a/src/main/java/exopandora/worldhandler/builder/component/abstr/ComponentPotion.java +++ b/src/main/java/exopandora/worldhandler/builder/component/abstr/ComponentPotion.java @@ -2,6 +2,7 @@ package exopandora.worldhandler.builder.component.abstr; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Nullable; @@ -169,6 +170,11 @@ public abstract class ComponentPotion implements IBuilderComponent return false; } + public Set getPotions() + { + return this.potions.keySet(); + } + @Nullable public PotionMetadata get(Potion potion) { diff --git a/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentAttributeItem.java b/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentAttributeItem.java index 1a01317..c16b991 100644 --- a/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentAttributeItem.java +++ b/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentAttributeItem.java @@ -28,7 +28,7 @@ public class ComponentAttributeItem extends ComponentAttribute { NBTTagList attributes = new NBTTagList(); - for(Entry entry : this.attributes.entrySet()) + for(Entry entry : this.attributes.entrySet()) { if(this.applyable.apply(entry.getKey()) && entry.getValue() != 0) { diff --git a/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentAttributeMob.java b/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentAttributeMob.java index 5cca8da..1981e55 100644 --- a/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentAttributeMob.java +++ b/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentAttributeMob.java @@ -27,7 +27,7 @@ public class ComponentAttributeMob extends ComponentAttribute { NBTTagList attributes = new NBTTagList(); - for(Entry entry : this.attributes.entrySet()) + for(Entry entry : this.attributes.entrySet()) { if(this.applyable.apply(entry.getKey()) && entry.getValue() != 0) { diff --git a/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentEnchantment.java b/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentEnchantment.java index d37b06b..bede153 100644 --- a/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentEnchantment.java +++ b/src/main/java/exopandora/worldhandler/builder/component/impl/ComponentEnchantment.java @@ -2,6 +2,7 @@ package exopandora.worldhandler.builder.component.impl; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Nullable; @@ -51,11 +52,16 @@ public class ComponentEnchantment implements IBuilderComponent this.enchantments.put(enchantment, level); } - public int getLevel(Enchantment enchantment) + public short getLevel(Enchantment enchantment) { return this.enchantments.get(enchantment); } + public Set getEnchantments() + { + return this.enchantments.keySet(); + } + @Override public String getTag() { diff --git a/src/main/java/exopandora/worldhandler/builder/impl/BuilderCustomItem.java b/src/main/java/exopandora/worldhandler/builder/impl/BuilderCustomItem.java index 7ebdba1..a0611a2 100644 --- a/src/main/java/exopandora/worldhandler/builder/impl/BuilderCustomItem.java +++ b/src/main/java/exopandora/worldhandler/builder/impl/BuilderCustomItem.java @@ -1,5 +1,7 @@ package exopandora.worldhandler.builder.impl; +import java.util.Set; + import exopandora.worldhandler.builder.component.impl.ComponentAttributeItem; import exopandora.worldhandler.builder.component.impl.ComponentDisplay; import exopandora.worldhandler.builder.component.impl.ComponentEnchantment; @@ -39,7 +41,17 @@ public class BuilderCustomItem extends BuilderGive this.enchantment.setLevel(enchantment, level); } - public void setAttribute(EnumAttributes attribute, float ammount) + public short getEnchantmentLevel(Enchantment enchantment) + { + return this.enchantment.getLevel(enchantment); + } + + public Set getEnchantments() + { + return this.enchantment.getEnchantments(); + } + + public void setAttribute(EnumAttributes attribute, double ammount) { this.attribute.set(attribute, ammount); } @@ -49,6 +61,16 @@ public class BuilderCustomItem extends BuilderGive this.attribute.remove(attribute); } + public double getAttributeAmmount(EnumAttributes attribute) + { + return this.attribute.getAmmount(attribute); + } + + public Set getAttributes() + { + return this.attribute.getAttributes(); + } + public void setName(ColoredString name) { this.display.setName(name); diff --git a/src/main/java/exopandora/worldhandler/builder/impl/BuilderPotionItem.java b/src/main/java/exopandora/worldhandler/builder/impl/BuilderPotionItem.java index 4af6842..a1257b6 100644 --- a/src/main/java/exopandora/worldhandler/builder/impl/BuilderPotionItem.java +++ b/src/main/java/exopandora/worldhandler/builder/impl/BuilderPotionItem.java @@ -1,5 +1,7 @@ package exopandora.worldhandler.builder.impl; +import java.util.Set; + import exopandora.worldhandler.builder.component.impl.ComponentPotionItem; import net.minecraft.item.Item; import net.minecraft.potion.Potion; @@ -85,6 +87,11 @@ public class BuilderPotionItem extends BuilderGive return this.potion.get(potion).getAmbient(); } + public Set getPotions() + { + return this.potion.getPotions(); + } + public BuilderPotionItem getBuilderForPotion(Item item) { return new BuilderPotionItem(item.getRegistryName(), this.getPlayer(), this.potion); diff --git a/src/main/java/exopandora/worldhandler/builder/impl/BuilderSummon.java b/src/main/java/exopandora/worldhandler/builder/impl/BuilderSummon.java index d8a9374..e5f7a1b 100644 --- a/src/main/java/exopandora/worldhandler/builder/impl/BuilderSummon.java +++ b/src/main/java/exopandora/worldhandler/builder/impl/BuilderSummon.java @@ -1,5 +1,6 @@ package exopandora.worldhandler.builder.impl; +import java.util.Set; import java.util.function.Consumer; import javax.annotation.Nonnull; @@ -131,7 +132,7 @@ public class BuilderSummon extends CommandBuilderNBT return this.getNodeAsCoordinate(3); } - public void setAttribute(EnumAttributes attribute, float ammount) + public void setAttribute(EnumAttributes attribute, double ammount) { this.attribute.set(attribute, ammount); } @@ -141,6 +142,16 @@ public class BuilderSummon extends CommandBuilderNBT this.attribute.remove(attribute); } + public double getAttributeAmmount(EnumAttributes attribute) + { + return this.attribute.getAmmount(attribute); + } + + public Set getAttributes() + { + return this.attribute.getAttributes(); + } + public void setCustomName(ColoredString name) { this.customName.setValue(name); @@ -291,7 +302,7 @@ public class BuilderSummon extends CommandBuilderNBT { this.potion.get(potion).setAmplifier(amplifier); } - + public void setSeconds(Potion potion, int seconds) { this.potion.get(potion).setSeconds(seconds); @@ -347,6 +358,11 @@ public class BuilderSummon extends CommandBuilderNBT return this.potion.get(potion).getAmbient(); } + public Set getPotions() + { + return this.potion.getPotions(); + } + private NBTBase itemListSerializer(NBTTagList list) { for(int x = 0; x < list.tagCount(); x++) diff --git a/src/main/java/exopandora/worldhandler/builder/impl/abstr/EnumAttributes.java b/src/main/java/exopandora/worldhandler/builder/impl/abstr/EnumAttributes.java index 106ebcc..c07078f 100644 --- a/src/main/java/exopandora/worldhandler/builder/impl/abstr/EnumAttributes.java +++ b/src/main/java/exopandora/worldhandler/builder/impl/abstr/EnumAttributes.java @@ -12,23 +12,20 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public enum EnumAttributes { - MAX_HEALTH("generic.maxHealth", EnumOperation.ADDITIVE, 0, 100, 0, Applyable.BOTH), - FOLLOW_RANGE("generic.followRange", EnumOperation.ADDITIVE, 0, 100, 0, Applyable.MOB), - KNOCKBACK_RESISTANCE("generic.knockbackResistance", EnumOperation.PERCENTAGE, 0, 100, 0, Applyable.BOTH), - MOVEMENT_SPEED("generic.movementSpeed", EnumOperation.PERCENTAGE, 0, 100, 0, Applyable.BOTH), - ATTACK_DAMAGE("generic.attackDamage", EnumOperation.ADDITIVE, 0, 100, 0, Applyable.BOTH), - ARMOR("generic.armor", EnumOperation.ADDITIVE, 0, 100, 0, Applyable.BOTH), - ARMOR_TOUGHNESS("generic.armorToughness", EnumOperation.ADDITIVE, 0, 100, 0, Applyable.BOTH), - ATTACK_SPEED("generic.attackSpeed", EnumOperation.PERCENTAGE, 0, 100, 0, Applyable.BOTH), - LUCK("generic.luck", EnumOperation.PERCENTAGE, -100, 100, 0, Applyable.PLAYER), - HORSE_JUMP_STRENGTH("horse.jumpStrength", EnumOperation.PERCENTAGE, 0, 100, 0, Applyable.MOB), - ZOMBIE_SPAWN_REINFORCEMENTS("zombie.spawnReinforcements", EnumOperation.PERCENTAGE, 0, 100, 0, Applyable.MOB); + MAX_HEALTH("generic.maxHealth", EnumOperation.ADDITIVE, Applyable.BOTH), + FOLLOW_RANGE("generic.followRange", EnumOperation.ADDITIVE, Applyable.MOB), + KNOCKBACK_RESISTANCE("generic.knockbackResistance", EnumOperation.PERCENTAGE, Applyable.BOTH), + MOVEMENT_SPEED("generic.movementSpeed", EnumOperation.PERCENTAGE, Applyable.BOTH), + ATTACK_DAMAGE("generic.attackDamage", EnumOperation.ADDITIVE, Applyable.BOTH), + ARMOR("generic.armor", EnumOperation.ADDITIVE, Applyable.BOTH), + ARMOR_TOUGHNESS("generic.armorToughness", EnumOperation.ADDITIVE, Applyable.BOTH), + ATTACK_SPEED("generic.attackSpeed", EnumOperation.PERCENTAGE, Applyable.BOTH), + LUCK("generic.luck", EnumOperation.PERCENTAGE, Applyable.PLAYER), + HORSE_JUMP_STRENGTH("horse.jumpStrength", EnumOperation.PERCENTAGE, Applyable.MOB), + ZOMBIE_SPAWN_REINFORCEMENTS("zombie.spawnReinforcements", EnumOperation.PERCENTAGE, Applyable.MOB); private String attribute; private EnumOperation operation; - private float min; - private float max; - private float start; private Applyable applyable; public enum Applyable @@ -38,13 +35,10 @@ public enum EnumAttributes MOB } - private EnumAttributes(String attribute, EnumOperation operation, float min, float max, float start, Applyable applyable) + private EnumAttributes(String attribute, EnumOperation operation, Applyable applyable) { this.attribute = attribute; this.operation = operation; - this.min = min; - this.max = max; - this.start = start; this.applyable = applyable; } @@ -68,29 +62,14 @@ public enum EnumAttributes return this.operation; } - public float getMin() - { - return this.min; - } - - public float getMax() - { - return this.max; - } - - public float getStart() - { - return this.start; - } - public Applyable getApplyable() { return this.applyable; } - public double calculate(Float value) + public double calculate(Double value) { - return this.operation.getOperation().apply(value.doubleValue()); + return this.operation.getOperation().apply(value); } public enum EnumOperation diff --git a/src/main/java/exopandora/worldhandler/config/ConfigSliders.java b/src/main/java/exopandora/worldhandler/config/ConfigSliders.java new file mode 100644 index 0000000..4aacbe4 --- /dev/null +++ b/src/main/java/exopandora/worldhandler/config/ConfigSliders.java @@ -0,0 +1,84 @@ +package exopandora.worldhandler.config; + +import net.minecraft.client.resources.I18n; +import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class ConfigSliders +{ + private static double MAX_POTION_AMPLIFIER; + + private static double MAX_ITEM_ENCHANTENT; + private static double MAX_ITEM_ATTRIBUTES; + + private static double MAX_SUMMON_POTION_AMPLIFIER; + private static double MAX_SUMMON_POTION_MINUTES; + private static double MAX_SUMMON_ATTRIBUTES; + + private static double MAX_EXPERIENCE; + private static double MAX_PLAYER_POINTS; + + public static final String CATEGORY = "sliders"; + + public static void load(Configuration config) + { + MAX_POTION_AMPLIFIER = config.get(CATEGORY, "max_potion_amplifier", 100D, I18n.format("gui.worldhandler.config.comment.sliders.max_potion_amplifier"), 0D, Byte.MAX_VALUE).setLanguageKey("gui.worldhandler.config.key.sliders.max_potion_amplifier").getDouble(); + + MAX_ITEM_ENCHANTENT = config.get(CATEGORY, "max_item_enchantment", 100D, I18n.format("gui.worldhandler.config.comment.sliders.max_item_enchantment"), 0D, Integer.MAX_VALUE).setLanguageKey("gui.worldhandler.config.key.sliders.max_item_enchantment").getDouble(); + MAX_ITEM_ATTRIBUTES = config.get(CATEGORY, "max_item_attributes", 100D, I18n.format("gui.worldhandler.config.comment.sliders.max_item_attributes"), 0D, Double.MAX_VALUE).setLanguageKey("gui.worldhandler.config.key.sliders.max_item_attributes").getDouble(); + + MAX_SUMMON_POTION_AMPLIFIER = config.get(CATEGORY, "max_summon_potion_amplifier", 100D, I18n.format("gui.worldhandler.config.comment.sliders.max_summon_potion_amplifier"), 0D, Byte.MAX_VALUE).setLanguageKey("gui.worldhandler.config.key.sliders.max_summon_potion_amplifier").getDouble(); + MAX_SUMMON_POTION_MINUTES = config.get(CATEGORY, "max_summon_potion_minutes", 100D, I18n.format("gui.worldhandler.config.comment.sliders.max_summon_potion_minutes"), 0D, 16000).setLanguageKey("gui.worldhandler.config.key.sliders.max_summon_potion_minutes").getDouble(); + MAX_SUMMON_ATTRIBUTES = config.get(CATEGORY, "max_summon_attributes", 100D, I18n.format("gui.worldhandler.config.comment.sliders.max_summon_attributes"), 0D, Double.MAX_VALUE).setLanguageKey("gui.worldhandler.config.key.sliders.max_summon_attributes").getDouble(); + + MAX_EXPERIENCE = config.get(CATEGORY, "max_experience", 100D, I18n.format("gui.worldhandler.config.comment.sliders.max_experience"), 0D, 100000D).setLanguageKey("gui.worldhandler.config.key.sliders.max_experience").getDouble(); + MAX_PLAYER_POINTS = config.get(CATEGORY, "max_player_points", 100D, I18n.format("gui.worldhandler.config.comment.sliders.max_player_points"), 0D, 100000D).setLanguageKey("gui.worldhandler.config.key.sliders.max_player_points").getDouble(); + + if(config.hasChanged()) + { + config.save(); + } + } + + public static double getMaxPotionAmplifier() + { + return MAX_POTION_AMPLIFIER; + } + + public static double getMaxItemEnchantment() + { + return MAX_ITEM_ENCHANTENT; + } + + public static double getMaxItemAttributes() + { + return MAX_ITEM_ATTRIBUTES; + } + + public static double getMaxSummonPotionAmplifier() + { + return MAX_SUMMON_POTION_AMPLIFIER; + } + + public static double getMaxSummonPotionMinutes() + { + return MAX_SUMMON_POTION_MINUTES; + } + + public static double getMaxSummonAttributes() + { + return MAX_SUMMON_ATTRIBUTES; + } + + public static double getMaxExperience() + { + return MAX_EXPERIENCE; + } + + public static double getMaxPlayerPoints() + { + return MAX_PLAYER_POINTS; + } +} diff --git a/src/main/java/exopandora/worldhandler/gui/button/GuiSlider.java b/src/main/java/exopandora/worldhandler/gui/button/GuiSlider.java index a94f4b3..42ca799 100644 --- a/src/main/java/exopandora/worldhandler/gui/button/GuiSlider.java +++ b/src/main/java/exopandora/worldhandler/gui/button/GuiSlider.java @@ -11,6 +11,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.resources.I18n; +import net.minecraft.util.math.MathHelper; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -26,7 +27,7 @@ public class GuiSlider extends GuiButton private final Container frame; private final ButtonStorage storage; - public GuiSlider(Content container, Container frame, Object key, int x, int y, int width, int height, String name, float min, float max, float start, ISliderResponder responder) + public GuiSlider(Content container, Container frame, Object key, int x, int y, int width, int height, String name, double min, double max, double start, ISliderResponder responder) { super(Integer.MAX_VALUE, x, y, width, height, null); this.frame = frame; @@ -34,35 +35,50 @@ public class GuiSlider extends GuiButton this.name = name; this.responder = responder; this.storage = container.getStorage(key); - - if(this.storage.getObject() == null || this.storage.getObject().getMin() != min || this.storage.getObject().getMax() != max) - { - this.storage.setObject(new SliderStorage(min, max, min == max ? 0 : ((start - min) / (max - min)))); - } - + this.initStorage(Math.round(min), Math.round(max), Math.round(start)); this.displayString = this.getDisplayString(); } - private void setFloat(float value) + private void initStorage(double min, double max, double start) { - this.storage.getObject().setFloat(value); + if(this.storage.getObject() == null || this.storage.getObject().getMin() != min || this.storage.getObject().getMax() != max) + { + if(this.storage.getObject() == null) + { + if(min == max) + { + this.storage.setObject(new SliderStorage(min, max, 0)); + } + else + { + this.storage.setObject(new SliderStorage(min, max, (start - min) / (max - min))); + } + } + else + { + this.storage.setObject(new SliderStorage(min, max, (int) MathHelper.clamp(this.getValue(), min, max))); + } + } } - private float getFloat() + private void setPosition(double position) { - return this.storage.getObject().getFloat(); + this.storage.getObject().setPosition(position); + } + + private double getPosition() + { + return this.storage.getObject().getPosition(); } private void setValue(int value) { - SliderStorage slider = this.storage.getObject(); - this.storage.getObject().setFloat((value - slider.getMin()) / (slider.getMax() - slider.getMin())); + this.storage.getObject().setValue(value); } private int getValue() { - SliderStorage slider = this.storage.getObject(); - return (int) (slider.getMin() + (slider.getMax() - slider.getMin()) * this.getFloat()); + return this.storage.getObject().getValue(); } private String getDisplayString() @@ -118,7 +134,7 @@ public class GuiSlider extends GuiButton sliderValue = 1.0F; } - this.setFloat(sliderValue); + this.setPosition(sliderValue); this.displayString = this.getDisplayString(); this.responder.setValue(this.key, this.getValue()); } @@ -139,8 +155,8 @@ public class GuiSlider extends GuiButton GlStateManager.enableBlend(); GlStateManager.color((float) ConfigSkin.getButtonRed() / 255, (float) ConfigSkin.getButtonGreen() / 255, (float) ConfigSkin.getButtonBlue() / 255, (float) ConfigSkin.getButtonAlpha() / 255); - this.drawTexturedModalRect(this.x + (int) (this.getFloat() * (float) (this.width - 8)), this.y, 0, 66 + textureXOffset, 4, 20); - this.drawTexturedModalRect(this.x + (int) (this.getFloat() * (float) (this.width - 8)) + 4, this.y, 196, 66 + textureXOffset, 4, 20); + this.drawTexturedModalRect(this.x + (int) (this.getPosition() * (float) (this.width - 8)), this.y, 0, 66 + textureXOffset, 4, 20); + this.drawTexturedModalRect(this.x + (int) (this.getPosition() * (float) (this.width - 8)) + 4, this.y, 196, 66 + textureXOffset, 4, 20); GlStateManager.disableBlend(); GlStateManager.popMatrix(); diff --git a/src/main/java/exopandora/worldhandler/gui/button/storage/SliderStorage.java b/src/main/java/exopandora/worldhandler/gui/button/storage/SliderStorage.java index 6650beb..fd38fa8 100644 --- a/src/main/java/exopandora/worldhandler/gui/button/storage/SliderStorage.java +++ b/src/main/java/exopandora/worldhandler/gui/button/storage/SliderStorage.java @@ -6,34 +6,56 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class SliderStorage { - private final float min; - private final float max; - private float value; + private final double min; + private final double max; + private double position; - public SliderStorage(float min, float max, float value) + public SliderStorage(double min, double max, double position) { this.min = min; this.max = max; - this.value = value; + this.position = position; } - public float getMin() + public SliderStorage(double min, double max, int value) + { + this.min = min; + this.max = max; + this.position = this.valueToPosition(value); + } + + public double getMin() { return this.min; } - public float getMax() + public double getMax() { return this.max; } - public float getFloat() + public double getPosition() { - return this.value; + return this.position; } - public void setFloat(float value) + public void setPosition(double position) { - this.value = value; + this.position = position; + } + + public int getValue() + { + return (int) (this.min + (this.max - this.min) * this.position); + } + + public void setValue(int value) + { + this.position = this.valueToPosition(value); + } + + private double valueToPosition(int value) + { + return (value - this.min) / (this.max - this.min); } } \ No newline at end of file diff --git a/src/main/java/exopandora/worldhandler/gui/config/GuiConfigWorldHandler.java b/src/main/java/exopandora/worldhandler/gui/config/GuiConfigWorldHandler.java index cb72774..f558c71 100644 --- a/src/main/java/exopandora/worldhandler/gui/config/GuiConfigWorldHandler.java +++ b/src/main/java/exopandora/worldhandler/gui/config/GuiConfigWorldHandler.java @@ -6,13 +6,14 @@ import java.util.List; import exopandora.worldhandler.config.ConfigButcher; import exopandora.worldhandler.config.ConfigSettings; import exopandora.worldhandler.config.ConfigSkin; +import exopandora.worldhandler.config.ConfigSliders; import exopandora.worldhandler.main.Main; import exopandora.worldhandler.main.WorldHandler; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.resources.I18n; import net.minecraftforge.common.config.ConfigCategory; import net.minecraftforge.common.config.ConfigElement; -import net.minecraftforge.fml.client.config.DummyConfigElement; +import net.minecraftforge.fml.client.config.DummyConfigElement.DummyCategoryElement; import net.minecraftforge.fml.client.config.GuiConfig; import net.minecraftforge.fml.client.config.IConfigElement; import net.minecraftforge.fml.relauncher.Side; @@ -45,9 +46,10 @@ public class GuiConfigWorldHandler extends GuiConfig { List list = new ArrayList(); - list.add(new DummyConfigElement.DummyCategoryElement(I18n.format("gui.worldhandler.config.category.settings"), "gui.worldhandler.config", new ConfigElement(WorldHandler.CONFIG.getCategory(ConfigSettings.CATEGORY)).getChildElements())); - list.add(new DummyConfigElement.DummyCategoryElement(I18n.format("gui.worldhandler.config.category.skin"), "gui.worldhandler.config", new ConfigElement(WorldHandler.CONFIG.getCategory(ConfigSkin.CATEGORY)).getChildElements())); - list.add(new DummyConfigElement.DummyCategoryElement(I18n.format("gui.worldhandler.config.category.butcher"), "gui.worldhandler.config", new ConfigElement(WorldHandler.CONFIG.getCategory(ConfigButcher.CATEGORY)).getChildElements())); + list.add(new DummyCategoryElement(I18n.format("gui.worldhandler.config.category.settings"), "gui.worldhandler.config", new ConfigElement(WorldHandler.CONFIG.getCategory(ConfigSettings.CATEGORY)).getChildElements())); + list.add(new DummyCategoryElement(I18n.format("gui.worldhandler.config.category.skin"), "gui.worldhandler.config", new ConfigElement(WorldHandler.CONFIG.getCategory(ConfigSkin.CATEGORY)).getChildElements())); + list.add(new DummyCategoryElement(I18n.format("gui.worldhandler.config.category.butcher"), "gui.worldhandler.config", new ConfigElement(WorldHandler.CONFIG.getCategory(ConfigButcher.CATEGORY)).getChildElements())); + list.add(new DummyCategoryElement(I18n.format("gui.worldhandler.config.category.sliders"), "gui.worldhandler.config", new ConfigElement(WorldHandler.CONFIG.getCategory(ConfigSliders.CATEGORY)).getChildElements())); return list; } diff --git a/src/main/java/exopandora/worldhandler/gui/container/impl/GuiWorldHandlerContainer.java b/src/main/java/exopandora/worldhandler/gui/container/impl/GuiWorldHandlerContainer.java index b7e4c4d..6e269ef 100644 --- a/src/main/java/exopandora/worldhandler/gui/container/impl/GuiWorldHandlerContainer.java +++ b/src/main/java/exopandora/worldhandler/gui/container/impl/GuiWorldHandlerContainer.java @@ -76,6 +76,7 @@ public class GuiWorldHandlerContainer extends Container this.tabWidth = (this.bgTextureWidth - this.tabDistanceTotal) / Math.max(this.tabSize, 2); this.tabHalf = this.tabWidth / 2D; this.tabEpsilon = this.bgTextureWidth - (this.tabDistanceTotal + this.tabHalf * Math.max(this.tabSize, 2) * 2D); + this.content.init(this); } @Override diff --git a/src/main/java/exopandora/worldhandler/gui/content/IContent.java b/src/main/java/exopandora/worldhandler/gui/content/IContent.java index 484b60b..650c56e 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/IContent.java +++ b/src/main/java/exopandora/worldhandler/gui/content/IContent.java @@ -12,6 +12,11 @@ import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public interface IContent { + default void init(Container container) + { + + } + default void initGui(Container container, int x, int y) { diff --git a/src/main/java/exopandora/worldhandler/gui/content/element/impl/ElementColorMenu.java b/src/main/java/exopandora/worldhandler/gui/content/element/impl/ElementColorMenu.java index 9a8e02c..50b3a71 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/element/impl/ElementColorMenu.java +++ b/src/main/java/exopandora/worldhandler/gui/content/element/impl/ElementColorMenu.java @@ -63,6 +63,12 @@ public class ElementColorMenu extends Element { string.setColor(storage.getIndex()); } + + @Override + public String getId() + { + return logic.getId(); + } })); container.add(new GuiButtonWorldHandler(this.ids[1], this.x + 118, this.y + 48, 20, 20, (this.string.isItalic() ? ChatFormatting.ITALIC : ChatFormatting.RESET) + "I")); diff --git a/src/main/java/exopandora/worldhandler/gui/content/element/impl/ElementPageList.java b/src/main/java/exopandora/worldhandler/gui/content/element/impl/ElementPageList.java index 381add8..b76bd1b 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/element/impl/ElementPageList.java +++ b/src/main/java/exopandora/worldhandler/gui/content/element/impl/ElementPageList.java @@ -2,6 +2,7 @@ package exopandora.worldhandler.gui.content.element.impl; import java.util.List; +import exopandora.worldhandler.config.ConfigSkin; import exopandora.worldhandler.format.TextFormatting; import exopandora.worldhandler.gui.button.GuiButtonWorldHandler; import exopandora.worldhandler.gui.button.storage.ButtonStorage; @@ -132,7 +133,7 @@ public class ElementPageList extends Element @Override public void draw() { - Minecraft.getMinecraft().fontRenderer.drawString((this.storage.getObject() + 1) + "/" + this.getTotalPages(), this.x, this.y - 11, 0x4F4F4F); + Minecraft.getMinecraft().fontRenderer.drawString((this.storage.getObject() + 1) + "/" + this.getTotalPages(), this.x, this.y - 11, ConfigSkin.getHeadlineColor()); } private int getTotalPages() diff --git a/src/main/java/exopandora/worldhandler/gui/content/element/logic/ILogicColorMenu.java b/src/main/java/exopandora/worldhandler/gui/content/element/logic/ILogicColorMenu.java index 72ca679..851aff3 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/element/logic/ILogicColorMenu.java +++ b/src/main/java/exopandora/worldhandler/gui/content/element/logic/ILogicColorMenu.java @@ -19,4 +19,9 @@ public interface ILogicColorMenu { return true; } + + default String getId() + { + return "color"; + } } diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentAdvancements.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentAdvancements.java index 14d603e..a2e141e 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentAdvancements.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentAdvancements.java @@ -185,12 +185,6 @@ public class ContentAdvancements extends Content return I18n.format("gui.worldhandler.tab.player.advancements"); } - @Override - public String[] getHeadline() - { - return new String[] {null, I18n.format("gui.worldhandler.generic.options")}; - } - @Override public Content getActiveContent() { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentContinue.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentContinue.java index 60d4f10..4aa6885 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentContinue.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentContinue.java @@ -91,12 +91,6 @@ public class ContentContinue extends ContentChild this.commandField.drawTextBox(); } - @Override - public String[] getHeadline() - { - return new String[]{I18n.format("gui.worldhandler.continue.question")}; - } - @Override public void keyTyped(Container container, char typedChar, int keyCode) { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentCustomItem.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentCustomItem.java index bd23c0e..7a94c62 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentCustomItem.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentCustomItem.java @@ -1,6 +1,7 @@ package exopandora.worldhandler.gui.content.impl; import java.util.ArrayList; +import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -10,6 +11,7 @@ import exopandora.worldhandler.builder.ICommandBuilder; import exopandora.worldhandler.builder.impl.BuilderCustomItem; import exopandora.worldhandler.builder.impl.abstr.EnumAttributes; import exopandora.worldhandler.builder.impl.abstr.EnumAttributes.Applyable; +import exopandora.worldhandler.config.ConfigSliders; import exopandora.worldhandler.gui.button.GuiButtonList; import exopandora.worldhandler.gui.button.GuiButtonWorldHandler; import exopandora.worldhandler.gui.button.GuiSlider; @@ -49,24 +51,50 @@ public class ContentCustomItem extends Content private GuiButtonList colorButton; + private final List attributes = Stream.concat(EnumAttributes.getAttributesFor(Applyable.BOTH).stream(), EnumAttributes.getAttributesFor(Applyable.PLAYER).stream()).collect(Collectors.toList()); + @Override public ICommandBuilder getCommandBuilder() { return this.builderCutomItem; } + @Override + public void init(Container container) + { + for(EnumAttributes attribute : this.builderCutomItem.getAttributes()) + { + double ammount = this.builderCutomItem.getAttributeAmmount(attribute); + + if(ammount > ConfigSliders.getMaxItemAttributes()) + { + this.builderCutomItem.setAttribute(attribute, ConfigSliders.getMaxItemAttributes()); + } + } + + for(Enchantment enchantment : this.builderCutomItem.getEnchantments()) + { + short level = this.builderCutomItem.getEnchantmentLevel(enchantment); + + if(level > ConfigSliders.getMaxItemEnchantment()) + { + this.builderCutomItem.setEnchantment(enchantment, (short) ConfigSliders.getMaxItemEnchantment()); + } + } + } + @Override public void initGui(Container container, int x, int y) { - this.itemField = new GuiTextFieldTooltip(x + 118, y, 114, 20, I18n.format("gui.worldhandler.items.give_custom_item.start.item_id")); + this.itemField = new GuiTextFieldTooltip(x + 118, y, 114, 20, I18n.format("gui.worldhandler.items.custom_item.start.item_id")); this.itemField.setValidator(Predicates.notNull()); this.itemField.setText(this.item); - this.itemLore1Field = new GuiTextFieldTooltip(x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.items.give_custom_item.start.lore_1")); + this.itemLore1Field = new GuiTextFieldTooltip(x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.items.custom_item.start.lore_1")); this.itemLore1Field.setValidator(Predicates.notNull()); this.itemLore1Field.setText(this.builderCutomItem.getLore1()); - this.itemLore2Field = new GuiTextFieldTooltip(x + 118, y + 48, 114, 20, I18n.format("gui.worldhandler.items.give_custom_item.start.lore_2")); + this.itemLore2Field = new GuiTextFieldTooltip(x + 118, y + 48, 114, 20, I18n.format("gui.worldhandler.items.custom_item.start.lore_2")); this.itemLore2Field.setValidator(Predicates.notNull()); this.itemLore2Field.setText(this.builderCutomItem.getLore2()); @@ -74,7 +102,7 @@ public class ContentCustomItem extends Content { if(this.startPage == 1) { - ElementColorMenu colors = new ElementColorMenu(this, x, y, "gui.worldhandler.items.give_custom_item.start.custom_name", this.builderCutomItem.getName(), new int[] {10, 11, 12, 13, 14, 15}); + ElementColorMenu colors = new ElementColorMenu(this, x, y, "gui.worldhandler.items.custom_item.start.custom_name", this.builderCutomItem.getName(), new int[] {10, 11, 12, 13, 14, 15}); container.add(colors); } } @@ -103,7 +131,7 @@ public class ContentCustomItem extends Content @Override public void onRegister(int id, int x, int y, int width, int height, String display, String registry, boolean enabled, ResourceLocation value, Container container) { - container.add(new GuiSlider(Contents.CUSTOM_ITEM, container, value, x, y, width, height, display, 0, 100, 0, new SimpleResponder(response -> + container.add(new GuiSlider(Contents.CUSTOM_ITEM, container, value, x, y, width, height, display, 0, ConfigSliders.getMaxItemEnchantment(), 0, new SimpleResponder(response -> { builderCutomItem.setEnchantment(Enchantment.REGISTRY.getObject(value), response.shortValue()); }))); @@ -131,7 +159,7 @@ public class ContentCustomItem extends Content } else if(this.selectedPage.equals("attributes")) { - ElementPageList attributes = new ElementPageList(x + 118, y, Stream.concat(EnumAttributes.getAttributesFor(Applyable.BOTH).stream(), EnumAttributes.getAttributesFor(Applyable.PLAYER).stream()).collect(Collectors.toList()), null, 114, 20, 3, this, new int[] {13, 14, 15}, new ILogicPageList() + ElementPageList attributes = new ElementPageList(x + 118, y, this.attributes, null, 114, 20, 3, this, new int[] {13, 14, 15}, new ILogicPageList() { @Override public String translate(EnumAttributes key) @@ -154,7 +182,7 @@ public class ContentCustomItem extends Content @Override public void onRegister(int id, int x, int y, int width, int height, String display, String registry, boolean enabled, EnumAttributes value, Container container) { - container.add(new GuiSlider(Contents.CUSTOM_ITEM, container, value, x, y, width, height, display, value.getMin(), value.getMax(), value.getStart(), new AttributeResponder(response -> + container.add(new GuiSlider(Contents.CUSTOM_ITEM, container, value, x, y, width, height, display, -ConfigSliders.getMaxItemAttributes(), ConfigSliders.getMaxItemAttributes(), 0, new AttributeResponder(response -> { builderCutomItem.setAttribute(value, response); }))); @@ -193,9 +221,9 @@ public class ContentCustomItem extends Content container.add(new GuiButtonWorldHandler(0, x, y + 96, 114, 20, I18n.format("gui.worldhandler.generic.back"))); container.add(new GuiButtonWorldHandler(1, x + 118, y + 96, 114, 20, I18n.format("gui.worldhandler.generic.backToGame"))); - container.add(button3 = new GuiButtonWorldHandler(3, x, y, 114, 20, I18n.format("gui.worldhandler.items.give_custom_item.start"))); - container.add(button4 = new GuiButtonWorldHandler(4, x, y + 24, 114, 20, I18n.format("gui.worldhandler.items.give_custom_item.enchantment"))); - container.add(button5 = new GuiButtonWorldHandler(5, x, y + 48, 114, 20, I18n.format("gui.worldhandler.items.give_custom_item.attributes"))); + container.add(button3 = new GuiButtonWorldHandler(3, x, y, 114, 20, I18n.format("gui.worldhandler.items.custom_item.start"))); + container.add(button4 = new GuiButtonWorldHandler(4, x, y + 24, 114, 20, I18n.format("gui.worldhandler.items.custom_item.enchantment"))); + container.add(button5 = new GuiButtonWorldHandler(5, x, y + 48, 114, 20, I18n.format("gui.worldhandler.items.custom_item.attributes"))); if(this.selectedPage.equals("start")) { @@ -218,7 +246,7 @@ public class ContentCustomItem extends Content if(!this.builderCutomItem.needsCommandBlock() && !this.builderCutomItem.getName().isSpecial()) { - container.add(button6 = new GuiButtonWorldHandler(9, x, y + 72, 114, 20, I18n.format("gui.worldhandler.items.give_custom_item.give_custom_item"))); + container.add(button6 = new GuiButtonWorldHandler(9, x, y + 72, 114, 20, I18n.format("gui.worldhandler.items.custom_item.custom_item"))); } else { @@ -321,28 +349,13 @@ public class ContentCustomItem extends Content @Override public String getTitle() { - return I18n.format("gui.worldhandler.title.items.give_custom_item"); + return I18n.format("gui.worldhandler.title.items.custom_item"); } @Override public String getTabTitle() { - return I18n.format("gui.worldhandler.tab.items.give_custom_item"); - } - - @Override - public String[] getHeadline() - { - String[] headline = new String[2]; - - headline[0] = I18n.format("gui.worldhandler.generic.browse"); - - if(this.selectedPage.equals("start")) - { - headline[1] = I18n.format("gui.worldhandler.generic.options"); - } - - return headline; + return I18n.format("gui.worldhandler.tab.items.custom_item"); } @Override diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentEditBlocks.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentEditBlocks.java index 8321aa5..731887c 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentEditBlocks.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentEditBlocks.java @@ -394,12 +394,6 @@ public class ContentEditBlocks extends Content return I18n.format("gui.worldhandler.tab.blocks.edit_blocks"); } - @Override - public String[] getHeadline() - { - return new String[] {I18n.format("gui.worldhandler.generic.browse"), I18n.format("gui.worldhandler.generic.options")}; - } - @Override public Content getActiveContent() { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentExperience.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentExperience.java index c935fc3..c10bba6 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentExperience.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentExperience.java @@ -2,6 +2,7 @@ package exopandora.worldhandler.gui.content.impl; import exopandora.worldhandler.builder.ICommandBuilder; import exopandora.worldhandler.builder.impl.BuilderExperience; +import exopandora.worldhandler.config.ConfigSliders; import exopandora.worldhandler.gui.button.EnumTooltip; import exopandora.worldhandler.gui.button.GuiButtonWorldHandler; import exopandora.worldhandler.gui.button.GuiSlider; @@ -31,19 +32,28 @@ public class ContentExperience extends Content return this.builderExperience; } + @Override + public void init(Container container) + { + if(this.builderExperience.getLevel() > ConfigSliders.getMaxExperience()) + { + this.builderExperience.setLevel((int) ConfigSliders.getMaxExperience()); + } + } + @Override public void initButtons(Container container, int x, int y) { container.add(new GuiButtonWorldHandler(0, x, y + 96, 114, 20, I18n.format("gui.worldhandler.generic.back"))); container.add(new GuiButtonWorldHandler(1, x + 118, y + 96, 114, 20, I18n.format("gui.worldhandler.generic.backToGame"))); - container.add(new GuiSlider(this, container, "experience", x + 116 / 2, y, 114, 20, I18n.format("gui.worldhandler.title.player.experience"), 0, 100, 0, new SimpleResponder(value -> + container.add(new GuiSlider(this, container, "experience", x + 116 / 2, y, 114, 20, I18n.format("gui.worldhandler.title.player.experience"), 0, ConfigSliders.getMaxExperience(), 0, new SimpleResponder(value -> { this.builderExperience.setLevel(value); }))); - container.add(addButton = new GuiButtonWorldHandler(3, x + 116 / 2, y + 24, 114, 20, I18n.format("gui.worldhandler.actions.add"))); - container.add(removeButton = new GuiButtonWorldHandler(4, x + 116 / 2, y + 48, 114, 20, I18n.format("gui.worldhandler.actions.remove"))); + container.add(this.addButton = new GuiButtonWorldHandler(3, x + 116 / 2, y + 24, 114, 20, I18n.format("gui.worldhandler.actions.add"))); + container.add(this.removeButton = new GuiButtonWorldHandler(4, x + 116 / 2, y + 48, 114, 20, I18n.format("gui.worldhandler.actions.remove"))); container.add(new GuiButtonWorldHandler(5, x + 116 / 2, y + 72, 114, 20, I18n.format("gui.worldhandler.actions.reset"), I18n.format("gui.worldhandler.actions.set_to_0"), EnumTooltip.TOP_RIGHT)); boolean enabled = this.builderExperience.getLevel() > 0; diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentGamerules.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentGamerules.java index 6d3c600..b1cddff 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentGamerules.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentGamerules.java @@ -184,12 +184,6 @@ public class ContentGamerules extends Content return I18n.format("gui.worldhandler.tab.world.gamerules"); } - @Override - public String[] getHeadline() - { - return new String[] {null, I18n.format("gui.worldhandler.generic.options")}; - } - @Override public Content getActiveContent() { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentMultiplayer.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentMultiplayer.java index c516287..1ed41f3 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentMultiplayer.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentMultiplayer.java @@ -306,12 +306,6 @@ public class ContentMultiplayer extends Content return I18n.format("gui.worldhandler.tab.multiplayer"); } - @Override - public String[] getHeadline() - { - return new String[]{I18n.format("gui.worldhandler.generic.browse"), I18n.format("gui.worldhandler.generic.options")}; - } - @Override public Content getActiveContent() { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentNoteEditor.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentNoteEditor.java index 5e3aec9..66367cd 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentNoteEditor.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentNoteEditor.java @@ -38,15 +38,18 @@ public class ContentNoteEditor extends Content { private final BuilderNoteEditor builderNoteEditor = new BuilderNoteEditor(); + private boolean isActive; + @Override public ICommandBuilder getCommandBuilder() { - return this.isActive() ? this.builderNoteEditor : null; + return this.isActive ? this.builderNoteEditor : null; } @Override - public void initGui(Container container, int x, int y) + public void init(Container container) { + this.isActive = BlockHelper.isFocusedBlockEqualTo(Blocks.NOTEBLOCK); this.builderNoteEditor.setPosition(BlockHelper.getFocusedBlockPos()); } @@ -56,9 +59,9 @@ public class ContentNoteEditor extends Content container.add(new GuiButtonWorldHandler(0, x, y + 96, 114, 20, I18n.format("gui.worldhandler.generic.back"))); container.add(new GuiButtonWorldHandler(1, x + 118, y + 96, 114, 20, I18n.format("gui.worldhandler.generic.backToGame"))); - if(this.isActive()) + if(this.isActive) { - BlockPos pos = BlockHelper.getFocusedBlockPos(); + BlockPos pos = this.builderNoteEditor.getBlockPos(); SoundEvent sound = this.getSoundEvent(pos.down()); container.add(new GuiButtonKeyboard(4, x - 3 + 15, y, 14, 92, I18n.format("gui.worldhandler.blocks.note_block_editor.g"), Orientation.NORMAL, 0.53F, container, this, pos, sound)); @@ -95,15 +98,6 @@ public class ContentNoteEditor extends Content } } - @Override - public void updateScreen(Container container) - { - if(!this.isActive()) - { - container.initGui(); - } - } - @Override public void actionPerformed(Container container, GuiButton button) { @@ -192,7 +186,7 @@ public class ContentNoteEditor extends Content @Override public void drawScreen(Container container, int x, int y, int mouseX, int mouseY, float partialTicks) { - if(this.isActive()) + if(this.isActive) { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("worldhandler:textures/misc/note.png")); @@ -273,11 +267,6 @@ public class ContentNoteEditor extends Content return SoundEvents.BLOCK_NOTE_HARP; } - private boolean isActive() - { - return BlockHelper.isFocusedBlockEqualTo(Blocks.NOTEBLOCK); - } - @Override public Category getCategory() { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentPlayer.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentPlayer.java index ac65afb..3656ea1 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentPlayer.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentPlayer.java @@ -218,12 +218,6 @@ public class ContentPlayer extends Content return I18n.format("gui.worldhandler.tab.player.player"); } - @Override - public String[] getHeadline() - { - return new String[]{I18n.format("gui.worldhandler.generic.browse")}; - } - @Override public Content getActiveContent() { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentPotions.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentPotions.java index 8be9554..90169bb 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentPotions.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentPotions.java @@ -6,6 +6,7 @@ import exopandora.worldhandler.builder.ICommandBuilder; import exopandora.worldhandler.builder.impl.BuilderMultiCommand; import exopandora.worldhandler.builder.impl.BuilderPotionEffect; import exopandora.worldhandler.builder.impl.BuilderPotionItem; +import exopandora.worldhandler.config.ConfigSliders; import exopandora.worldhandler.gui.button.EnumTooltip; import exopandora.worldhandler.gui.button.GuiButtonWorldHandler; import exopandora.worldhandler.gui.button.GuiSlider; @@ -37,6 +38,25 @@ public class ContentPotions extends ContentChild return new BuilderMultiCommand(this.builderPotion, this.builderPotionItem); } + @Override + public void init(Container container) + { + if(this.builderPotion.getAmplifier() > ConfigSliders.getMaxPotionAmplifier()) + { + this.builderPotion.setAmplifier((byte) ConfigSliders.getMaxPotionAmplifier()); + } + + for(Potion potion : this.builderPotionItem.getPotions()) + { + byte amplifier = this.builderPotionItem.getAmplifier(potion); + + if(amplifier > ConfigSliders.getMaxPotionAmplifier()) + { + this.builderPotionItem.setAmplifier(potion, (byte) ConfigSliders.getMaxPotionAmplifier()); + } + } + } + @Override public void initGui(Container container, int x, int y) { @@ -113,7 +133,7 @@ public class ContentPotions extends ContentChild container.add(new GuiButtonWorldHandler(8, x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.potions.effect.ambient", (this.builderPotionItem.getAmbient(potion) ? I18n.format("gui.worldhandler.generic.on") : I18n.format("gui.worldhandler.generic.off"))))); container.add(new GuiButtonWorldHandler(9, x + 118, y + 48, 114, 20, I18n.format("gui.worldhandler.potions.effect.particles", (this.builderPotion.getHideParticles() ? I18n.format("gui.worldhandler.generic.off") : I18n.format("gui.worldhandler.generic.on"))))); - container.add(new GuiSlider(this, container, "potions_amplifier" + potion, x + 118, y, 114, 20, I18n.format("gui.worldhandler.potions.effect.amplifier"), 0, 100, 0, new SimpleResponder(value -> + container.add(new GuiSlider(this, container, "potions_amplifier" + potion.getRegistryName(), x + 118, y, 114, 20, I18n.format("gui.worldhandler.potions.effect.amplifier"), 0, ConfigSliders.getMaxPotionAmplifier(), 0, new SimpleResponder(value -> { this.builderPotion.setAmplifier(value.byteValue()); this.builderPotionItem.setAmplifier(potion, value.byteValue()); @@ -123,17 +143,17 @@ public class ContentPotions extends ContentChild { Potion potion = this.builderPotion.getEffectAsPotion(); - container.add(new GuiSlider(this, container, "seconds" + potion, x + 118, y, 114, 20, I18n.format("gui.worldhandler.potion.time.seconds"), 0, 59, 0, new SimpleResponder(value -> + container.add(new GuiSlider(this, container, "seconds" + potion.getRegistryName(), x + 118, y, 114, 20, I18n.format("gui.worldhandler.potion.time.seconds"), 0, 59, 0, new SimpleResponder(value -> { this.builderPotion.setSeconds(value.intValue()); this.builderPotionItem.setSeconds(potion, value.intValue()); }))); - container.add(new GuiSlider(this, container, "minutes" + potion, x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.potion.time.minutes"), 0, 59, 0, new SimpleResponder(value -> + container.add(new GuiSlider(this, container, "minutes" + potion.getRegistryName(), x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.potion.time.minutes"), 0, 59, 0, new SimpleResponder(value -> { this.builderPotion.setMinutes(value.intValue()); this.builderPotionItem.setMinutes(potion, value.intValue()); }))); - container.add(new GuiSlider(this, container, "hours" + potion, x + 118, y + 48, 114, 20, I18n.format("gui.worldhandler.potion.time.hours"), 0, 99, 0, new SimpleResponder(value -> + container.add(new GuiSlider(this, container, "hours" + potion.getRegistryName(), x + 118, y + 48, 114, 20, I18n.format("gui.worldhandler.potion.time.hours"), 0, 99, 0, new SimpleResponder(value -> { this.builderPotion.setHours(value.intValue()); this.builderPotionItem.setHours(potion, value.intValue()); diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentScoreboardPlayers.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentScoreboardPlayers.java index 13224fc..1038054 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentScoreboardPlayers.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentScoreboardPlayers.java @@ -6,6 +6,7 @@ import exopandora.worldhandler.builder.ICommandBuilder; import exopandora.worldhandler.builder.impl.BuilderScoreboardPlayers; import exopandora.worldhandler.builder.impl.BuilderScoreboardPlayers.EnumPoints; import exopandora.worldhandler.builder.impl.BuilderScoreboardPlayers.EnumTag; +import exopandora.worldhandler.config.ConfigSliders; import exopandora.worldhandler.gui.button.EnumTooltip; import exopandora.worldhandler.gui.button.GuiButtonWorldHandler; import exopandora.worldhandler.gui.button.GuiSlider; @@ -42,6 +43,15 @@ public class ContentScoreboardPlayers extends ContentScoreboard return this.builderPlayers; } + @Override + public void init(Container container) + { + if(this.builderPlayers.getPoints() > ConfigSliders.getMaxPlayerPoints()) + { + this.builderPlayers.setPoints((int) ConfigSliders.getMaxPlayerPoints()); + } + } + @Override public void initGui(Container container, int x, int y) { @@ -78,7 +88,7 @@ public class ContentScoreboardPlayers extends ContentScoreboard if(this.selectedPlayer.equals("add|set|remove")) { - container.add(new GuiSlider(this, container, "points", x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.scoreboard.players.points"), 0, 100, 0, new SimpleResponder(value -> + container.add(new GuiSlider(this, container, "points", x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.scoreboard.players.points"), 0, ConfigSliders.getMaxPlayerPoints(), 0, new SimpleResponder(value -> { this.builderPlayers.setPoints(value); }))); diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentSignEditor.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentSignEditor.java index 6dd2be5..0331603 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentSignEditor.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentSignEditor.java @@ -45,19 +45,26 @@ public class ContentSignEditor extends Content private final BuilderSignEditor builderSignEditor = new BuilderSignEditor(); + private boolean isActive; + @Override public ICommandBuilder getCommandBuilder() { - return this.isActive() ? this.builderSignEditor : null; + return this.isActive ? this.builderSignEditor : null; + } + + @Override + public void init(Container container) + { + this.isActive = BlockHelper.isFocusedBlockEqualTo(Blocks.STANDING_SIGN) || BlockHelper.isFocusedBlockEqualTo(Blocks.WALL_SIGN); + this.builderSignEditor.setPosition(BlockHelper.getFocusedBlockPos()); } @Override public void initGui(Container container, int x, int y) { - if(this.isActive()) - { - this.builderSignEditor.setPosition(BlockHelper.getFocusedBlockPos()); - + if(this.isActive) + { this.commandField = new GuiTextFieldTooltip(x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.blocks.sign_editor.commmand")); this.commandField.setValidator(Predicates.notNull()); this.commandField.setText(this.builderSignEditor.getCommand(this.selectedLine)); @@ -76,6 +83,12 @@ public class ContentSignEditor extends Content { return editColor; } + + @Override + public String getId() + { + return "color" + selectedLine; + } }); container.add(colors); @@ -93,7 +106,7 @@ public class ContentSignEditor extends Content container.add(new GuiButtonWorldHandler(0, x, y + 96, 114, 20, I18n.format("gui.worldhandler.generic.back"))); container.add(new GuiButtonWorldHandler(1, x + 118, y + 96, 114, 20, I18n.format("gui.worldhandler.generic.backToGame"))); - if(this.isActive()) + if(this.isActive) { container.add(button3 = new GuiButtonWorldHandler(3, x, y, 114, 20, I18n.format("gui.worldhandler.blocks.sign_editor.text_line_1"))); container.add(button4 = new GuiButtonWorldHandler(4, x, y + 24, 114, 20, I18n.format("gui.worldhandler.blocks.sign_editor.text_line_2"))); @@ -117,15 +130,6 @@ public class ContentSignEditor extends Content } } - @Override - public void updateScreen(Container container) - { - if(!this.isActive()) - { - container.initGui(); - } - } - @Override public void actionPerformed(Container container, GuiButton button) { @@ -162,7 +166,7 @@ public class ContentSignEditor extends Content @Override public void drawScreen(Container container, int x, int y, int mouseX, int mouseY, float partialTicks) { - if(this.isActive()) + if(this.isActive) { if(!this.editColor) { @@ -190,15 +194,10 @@ public class ContentSignEditor extends Content } } - private boolean isActive() - { - return BlockHelper.isFocusedBlockEqualTo(Blocks.STANDING_SIGN) || BlockHelper.isFocusedBlockEqualTo(Blocks.WALL_SIGN); - } - @Override public void keyTyped(Container container, char charTyped, int keyCode) { - if(this.isActive()) + if(this.isActive) { if(this.commandField.textboxKeyTyped(charTyped, keyCode)) { @@ -211,7 +210,7 @@ public class ContentSignEditor extends Content @Override public void mouseClicked(int mouseX, int mouseY, int mouseButton) { - if(this.isActive()) + if(this.isActive) { this.commandField.mouseClicked(mouseX, mouseY, mouseButton); } @@ -235,17 +234,6 @@ public class ContentSignEditor extends Content return I18n.format("gui.worldhandler.tab.blocks.sign_editor"); } - @Override - public String[] getHeadline() - { - if(BlockHelper.isFocusedBlockEqualTo(Blocks.STANDING_SIGN) || BlockHelper.isFocusedBlockEqualTo(Blocks.WALL_SIGN)) - { - return new String[] {I18n.format("gui.worldhandler.generic.browse"), I18n.format("gui.worldhandler.generic.options")}; - } - - return null; - } - @Override public Content getActiveContent() { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentSummon.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentSummon.java index dcc36f6..56fa1c2 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentSummon.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentSummon.java @@ -13,6 +13,7 @@ import exopandora.worldhandler.builder.ICommandBuilder; import exopandora.worldhandler.builder.impl.BuilderSummon; import exopandora.worldhandler.builder.impl.abstr.EnumAttributes; import exopandora.worldhandler.builder.impl.abstr.EnumAttributes.Applyable; +import exopandora.worldhandler.config.ConfigSliders; import exopandora.worldhandler.gui.button.GuiButtonItem; import exopandora.worldhandler.gui.button.GuiButtonWorldHandler; import exopandora.worldhandler.gui.button.GuiSlider; @@ -57,12 +58,45 @@ public class ContentSummon extends Content private final BuilderSummon builderSummon = new BuilderSummon(); + private final List attributes = Stream.concat(EnumAttributes.getAttributesFor(Applyable.BOTH).stream(), EnumAttributes.getAttributesFor(Applyable.MOB).stream()).collect(Collectors.toList()); + @Override public ICommandBuilder getCommandBuilder() { return this.builderSummon; } + @Override + public void init(Container container) + { + for(EnumAttributes attribute : this.builderSummon.getAttributes()) + { + double ammount = this.builderSummon.getAttributeAmmount(attribute); + + if(ammount > ConfigSliders.getMaxSummonAttributes()) + { + this.builderSummon.setAttribute(attribute, ConfigSliders.getMaxSummonAttributes()); + } + } + + for(Potion potion : this.builderSummon.getPotions()) + { + byte amplifier = this.builderSummon.getAmplifier(potion); + + if(amplifier > ConfigSliders.getMaxSummonPotionAmplifier()) + { + this.builderSummon.setAmplifier(potion, (byte) ConfigSliders.getMaxSummonPotionAmplifier()); + } + + int minutes = this.builderSummon.getMinutes(potion); + + if(minutes > ConfigSliders.getMaxSummonPotionMinutes()) + { + this.builderSummon.setMinutes(potion, (int) ConfigSliders.getMaxSummonPotionMinutes()); + } + } + } + @Override public void initGui(Container container, int x, int y) { @@ -82,7 +116,7 @@ public class ContentSummon extends Content if(this.page.equals("attributes")) { - ElementPageList attributes = new ElementPageList(x + 118, y, Stream.concat(EnumAttributes.getAttributesFor(Applyable.BOTH).stream(), EnumAttributes.getAttributesFor(Applyable.MOB).stream()).collect(Collectors.toList()), null, 114, 20, 3, this, new int[] {6, 7, 8}, new ILogicPageList() + ElementPageList attributes = new ElementPageList(x + 118, y, this.attributes, null, 114, 20, 3, this, new int[] {6, 7, 8}, new ILogicPageList() { @Override public String translate(EnumAttributes key) @@ -105,7 +139,7 @@ public class ContentSummon extends Content @Override public void onRegister(int id, int x, int y, int width, int height, String display, String registry, boolean enabled, EnumAttributes value, Container container) { - container.add(new GuiSlider(Contents.SUMMON, container, value, x, y, width, height, display, value.getMin(), value.getMax(), value.getStart(), new AttributeResponder(response -> + container.add(new GuiSlider(Contents.SUMMON, container, value, x, y, width, height, display, -ConfigSliders.getMaxSummonAttributes(), ConfigSliders.getMaxSummonAttributes(), 0, new AttributeResponder(response -> { builderSummon.setAttribute(value, response); }))); @@ -208,11 +242,11 @@ public class ContentSummon extends Content if(count == this.potionPage) { - container.add(new GuiSlider(this, container, "amplifier" + potion, x + 118, y, 114, 20, I18n.format(potion.getName()), 0, 100, 0, new SimpleResponder(value -> + container.add(new GuiSlider(this, container, "amplifier" + potion.getRegistryName(), x + 118, y, 114, 20, I18n.format(potion.getName()), 0, ConfigSliders.getMaxSummonPotionAmplifier(), 0, new SimpleResponder(value -> { this.builderSummon.setAmplifier(potion, value.byteValue()); }))); - container.add(new GuiSlider(this, container, "duration" + potion, x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.potion.time.minutes"), 0, 100, 0, new SimpleResponder(value -> + container.add(new GuiSlider(this, container, "duration" + potion.getRegistryName(), x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.potion.time.minutes"), 0, ConfigSliders.getMaxSummonPotionMinutes(), 0, new SimpleResponder(value -> { this.builderSummon.setMinutes(potion, value); }))); @@ -627,8 +661,6 @@ public class ContentSummon extends Content { String[] headline = new String[2]; - headline[0] = I18n.format("gui.worldhandler.generic.browse"); - if(this.page.equals("potionEffects")) { headline[1] = (this.potionPage + 1) + "/" + (Potion.REGISTRY.getKeys().size() - 2); @@ -637,10 +669,6 @@ public class ContentSummon extends Content { headline[1] = (this.equipmentPage + 1) + "/2"; } - else if(this.page.equals("main")) - { - headline[1] = I18n.format("gui.worldhandler.generic.options"); - } return headline; } diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentWorldInfo.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentWorldInfo.java index ddf751e..30aafe1 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentWorldInfo.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentWorldInfo.java @@ -219,12 +219,6 @@ public class ContentWorldInfo extends Content return I18n.format("gui.worldhandler.tab.world.world"); } - @Override - public String[] getHeadline() - { - return new String[] {I18n.format("gui.worldhandler.generic.browse")}; - } - @Override public Content getActiveContent() { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/abstr/ContentScoreboard.java b/src/main/java/exopandora/worldhandler/gui/content/impl/abstr/ContentScoreboard.java index 1376c6f..6d12a48 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/abstr/ContentScoreboard.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/abstr/ContentScoreboard.java @@ -25,10 +25,4 @@ public abstract class ContentScoreboard extends Content { return I18n.format("gui.worldhandler.title.scoreboard"); } - - @Override - public String[] getHeadline() - { - return new String[] {I18n.format("gui.worldhandler.generic.browse"), I18n.format("gui.worldhandler.generic.options")}; - } } diff --git a/src/main/java/exopandora/worldhandler/main/Main.java b/src/main/java/exopandora/worldhandler/main/Main.java index 55c0d56..15f96af 100644 --- a/src/main/java/exopandora/worldhandler/main/Main.java +++ b/src/main/java/exopandora/worldhandler/main/Main.java @@ -17,7 +17,7 @@ public class Main public static final String MODID = "worldhandler"; public static final String MC_VERSION = "1.12.2"; public static final String MC_COMPATIBLE = "1.12"; - public static final String VERSION = "2.0"; + public static final String VERSION = "2.1"; public static final String FULL_VERSION = MC_VERSION + "-" + VERSION; public static final String NAME_AND_VERSION = NAME + " " + FULL_VERSION; public static final String URL = "https://minecraft.curseforge.com/projects/world-handler-command-gui"; @@ -43,7 +43,7 @@ public class Main String os = System.getProperty("os.name").toLowerCase(Locale.ENGLISH); String minecraft = ".minecraft"; - if(os.contains("win") && (System.getenv("APPDATA") != null)) + if(os.contains("win") && System.getenv("APPDATA") != null) { return new File(System.getenv("APPDATA"), minecraft); } diff --git a/src/main/java/exopandora/worldhandler/main/WorldHandler.java b/src/main/java/exopandora/worldhandler/main/WorldHandler.java index d492d39..fc9cf9a 100644 --- a/src/main/java/exopandora/worldhandler/main/WorldHandler.java +++ b/src/main/java/exopandora/worldhandler/main/WorldHandler.java @@ -11,6 +11,7 @@ import exopandora.worldhandler.command.CommandWorldHandler; import exopandora.worldhandler.config.ConfigButcher; import exopandora.worldhandler.config.ConfigSettings; import exopandora.worldhandler.config.ConfigSkin; +import exopandora.worldhandler.config.ConfigSliders; import exopandora.worldhandler.gui.category.Category; import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.helper.BlockHelper; @@ -66,6 +67,7 @@ public class WorldHandler ConfigSettings.load(CONFIG); ConfigSkin.load(CONFIG); + ConfigSliders.load(CONFIG); } @EventHandler @@ -102,6 +104,7 @@ public class WorldHandler ConfigSettings.load(CONFIG); ConfigSkin.load(CONFIG); ConfigButcher.load(CONFIG); + ConfigSliders.load(CONFIG); updateKeyBindings(); } diff --git a/src/main/resources/assets/worldhandler/lang/de_de.lang b/src/main/resources/assets/worldhandler/lang/de_de.lang index 3ba03df..bbf1410 100644 --- a/src/main/resources/assets/worldhandler/lang/de_de.lang +++ b/src/main/resources/assets/worldhandler/lang/de_de.lang @@ -3,6 +3,7 @@ gui.worldhandler.config.tooltip=World Handler Einstellungen gui.worldhandler.config.category.settings=Einstellungen gui.worldhandler.config.category.skin=Skin gui.worldhandler.config.category.butcher=Metzler +gui.worldhandler.config.category.sliders=Regler gui.worldhandler.config.key.settings.biome_indicator=Biome Indikator gui.worldhandler.config.key.settings.command_syntax=Befehlssyntax @@ -68,6 +69,24 @@ gui.worldhandler.config.comment.skin.button_alpha=Schaltflächen Alpha gui.worldhandler.config.comment.butcher=Metzeln von %s Aktiviert +gui.worldhandler.config.key.sliders.max_potion_amplifier=Max Trank Verstärker +gui.worldhandler.config.key.sliders.max_item_enchantment=Max Item Verzauberung +gui.worldhandler.config.key.sliders.max_item_attributes=Max Item Attribute +gui.worldhandler.config.key.sliders.max_summon_potion_amplifier=Max Trank Verstärker (Beschwören) +gui.worldhandler.config.key.sliders.max_summon_potion_minutes=Max Trank Minuten (Beschwören) +gui.worldhandler.config.key.sliders.max_summon_attributes=Max Attribute (Beschwören) +gui.worldhandler.config.key.sliders.max_experience=Max Erfahrungspunkte +gui.worldhandler.config.key.sliders.max_player_points=Max Spielerpunkte + +gui.worldhandler.config.comment.sliders.max_potion_amplifier=Max Trank Verstärker +gui.worldhandler.config.comment.sliders.max_item_enchantment=Max Item Verzauberung +gui.worldhandler.config.comment.sliders.max_item_attributes=Max Item Attribute +gui.worldhandler.config.comment.sliders.max_summon_potion_amplifier=Max Trank Verstärker (Beschwören) +gui.worldhandler.config.comment.sliders.max_summon_potion_minutes=Max Trank Minuten (Beschwören) +gui.worldhandler.config.comment.sliders.max_summon_attributes=Max Attribute (Beschwören) +gui.worldhandler.config.comment.sliders.max_experience=Max Erfahrungspunkte +gui.worldhandler.config.comment.sliders.max_player_points=Max Spielerpunkte + gui.worldhandler.tab.scoreboard.objectives=Objekte gui.worldhandler.tab.scoreboard.teams=Teams gui.worldhandler.tab.scoreboard.players=Spieler @@ -85,7 +104,7 @@ gui.worldhandler.tab.blocks.edit_blocks=Blöcke Ändern gui.worldhandler.tab.blocks.sign_editor=Schilder Ändern gui.worldhandler.tab.blocks.note_block_editor=Noten Ändern -gui.worldhandler.tab.items.give_custom_item=Item Erstellen +gui.worldhandler.tab.items.custom_item=Item Erstellen gui.worldhandler.tab.items.enchantment=Verzaubern gui.worldhandler.tab.containers=Container @@ -93,7 +112,7 @@ gui.worldhandler.tab.multiplayer=Mehrspieler gui.worldhandler.title.entities.summon=Beschwören -gui.worldhandler.title.items.give_custom_item=Item Erstellen +gui.worldhandler.title.items.custom_item=Item Erstellen gui.worldhandler.title.items.enchantment=Verzaubern gui.worldhandler.title.blocks.edit_blocks=Blöcke Ändern @@ -124,8 +143,6 @@ gui.worldhandler.advancements.from=Von gui.worldhandler.advancements.through=Durch gui.worldhandler.advancements.everything=Alles -gui.worldhandler.continue.question=Bist du sicher ? - gui.worldhandler.change_world.singleplayer=Einzelspieler Welt gui.worldhandler.change_world.multiplayer=Mehrspieler Server @@ -176,15 +193,15 @@ gui.worldhandler.world=Welt gui.worldhandler.blocks=Blöcke gui.worldhandler.player=Spieler -gui.worldhandler.items.give_custom_item.start=Start -gui.worldhandler.items.give_custom_item.enchantment=Verzauberung -gui.worldhandler.items.give_custom_item.attributes=Attribute -gui.worldhandler.items.give_custom_item.give_custom_item=Gebe Eigenes Item +gui.worldhandler.items.custom_item.start=Start +gui.worldhandler.items.custom_item.enchantment=Verzauberung +gui.worldhandler.items.custom_item.attributes=Attribute +gui.worldhandler.items.custom_item.custom_item=Erstellen -gui.worldhandler.items.give_custom_item.start.item_id=Item ID -gui.worldhandler.items.give_custom_item.start.lore_1=Sage I -gui.worldhandler.items.give_custom_item.start.lore_2=Sage II -gui.worldhandler.items.give_custom_item.start.custom_name=Eigener Name +gui.worldhandler.items.custom_item.start.item_id=Item +gui.worldhandler.items.custom_item.start.lore_1=Sage I +gui.worldhandler.items.custom_item.start.lore_2=Sage II +gui.worldhandler.items.custom_item.start.custom_name=Eigener Name gui.worldhandler.items.enchantment.level=Level gui.worldhandler.items.enchantment.enchant=Verzaubern @@ -385,8 +402,6 @@ gui.worldhandler.shortcuts.tooltip.time.dawn=Sonnenaufgang (%s) gui.worldhandler.generic.back=Zurück gui.worldhandler.generic.backToGame=Schließen -gui.worldhandler.generic.browse=Blättern -gui.worldhandler.generic.options=Optionen gui.worldhandler.generic.on=An gui.worldhandler.generic.off=Aus gui.worldhandler.generic.yes=Ja diff --git a/src/main/resources/assets/worldhandler/lang/en_us.lang b/src/main/resources/assets/worldhandler/lang/en_us.lang index 64c337a..6b1a53e 100644 --- a/src/main/resources/assets/worldhandler/lang/en_us.lang +++ b/src/main/resources/assets/worldhandler/lang/en_us.lang @@ -3,6 +3,7 @@ gui.worldhandler.config.tooltip=World Handler Settings gui.worldhandler.config.category.settings=Settings gui.worldhandler.config.category.skin=Skin gui.worldhandler.config.category.butcher=Butcher +gui.worldhandler.config.category.sliders=Sliders gui.worldhandler.config.key.settings.biome_indicator=Biome Indicator gui.worldhandler.config.key.settings.command_syntax=Command Syntax @@ -20,21 +21,21 @@ gui.worldhandler.config.key.settings.custom_time_sunset=Custom Sunset Ticks gui.worldhandler.config.key.settings.custom_time_midnight=Custom Midnight Ticks gui.worldhandler.config.key.settings.block_placing_mode=Block Placing Mode -gui.worldhandler.config.comment.settings.biome_indicator=Biome Indicator Enabled -gui.worldhandler.config.comment.settings.command_syntax=Command Syntax Enabled -gui.worldhandler.config.comment.settings.shortcuts=Shortcuts Enabled -gui.worldhandler.config.comment.settings.key_shortcuts=Key Shortcuts Enabled -gui.worldhandler.config.comment.settings.tooltips=Tooltips Enabled -gui.worldhandler.config.comment.settings.watch=Watch Enabled -gui.worldhandler.config.comment.settings.smooth_watch=Smooth Watch Enabled -gui.worldhandler.config.comment.settings.pause_game=Pause Game -gui.worldhandler.config.comment.settings.custom_times=Custom Times Enabled -gui.worldhandler.config.comment.settings.permission_query=Permission Query Enabled -gui.worldhandler.config.comment.settings.custom_time_dawn=Ticks When Dawn -gui.worldhandler.config.comment.settings.custom_time_noon=Ticks When Noon -gui.worldhandler.config.comment.settings.custom_time_sunset=Ticks When Sunset -gui.worldhandler.config.comment.settings.custom_time_midnight=Ticks When Midnight -gui.worldhandler.config.comment.settings.block_placing_mode=Block Placing Mode +gui.worldhandler.config.comment.settings.biome_indicator=Displays a text when you walk into another biome +gui.worldhandler.config.comment.settings.command_syntax=Displays the current command at the bottom +gui.worldhandler.config.comment.settings.shortcuts=Adds a row of buttons at the top for quick access +gui.worldhandler.config.comment.settings.key_shortcuts=Enables button keys for pos1 and pos2 +gui.worldhandler.config.comment.settings.tooltips=Whether or not to display tooltips +gui.worldhandler.config.comment.settings.watch=Whether or not to display a watch +gui.worldhandler.config.comment.settings.smooth_watch=Whether or not the watch pointers move smooth +gui.worldhandler.config.comment.settings.pause_game=Whether or not to pause the game when the gui is opened +gui.worldhandler.config.comment.settings.custom_times=Whether or not to use the custom times +gui.worldhandler.config.comment.settings.permission_query=Whether or not the permission query is enabled +gui.worldhandler.config.comment.settings.custom_time_dawn=Ticks upon dawn +gui.worldhandler.config.comment.settings.custom_time_noon=Ticks upon noon +gui.worldhandler.config.comment.settings.custom_time_sunset=Ticks upon sunset +gui.worldhandler.config.comment.settings.custom_time_midnight=Ticks upon midnight +gui.worldhandler.config.comment.settings.block_placing_mode=Block placing mode gui.worldhandler.config.key.skin.icons=Icon Size gui.worldhandler.config.key.skin.label_color=Label Color @@ -51,23 +52,41 @@ gui.worldhandler.config.key.skin.draw_background=Draw Background gui.worldhandler.config.key.skin.background_alpha=Background Alpha gui.worldhandler.config.key.skin.button_alpha=Button Alpha -gui.worldhandler.config.comment.skin.icons=Size of the Icons -gui.worldhandler.config.comment.skin.label_color=Label Color -gui.worldhandler.config.comment.skin.headline_color=Headline Color -gui.worldhandler.config.comment.skin.background_red=Background Red -gui.worldhandler.config.comment.skin.background_green=Background Green -gui.worldhandler.config.comment.skin.background_blue=Background Blue -gui.worldhandler.config.comment.skin.button_red=Button Red -gui.worldhandler.config.comment.skin.button_green=Button Green -gui.worldhandler.config.comment.skin.button_blue=Button Blue -gui.worldhandler.config.comment.skin.textures=Background Texture -gui.worldhandler.config.comment.skin.sharp_tab_edges=Sharp Tab Edges Enabled -gui.worldhandler.config.comment.skin.draw_background=Background Drawing Enabled -gui.worldhandler.config.comment.skin.background_alpha=Background Alpha -gui.worldhandler.config.comment.skin.button_alpha=Button Alpha +gui.worldhandler.config.comment.skin.icons=Size of the icons +gui.worldhandler.config.comment.skin.label_color=Label color +gui.worldhandler.config.comment.skin.headline_color=Headline color +gui.worldhandler.config.comment.skin.background_red=Background red +gui.worldhandler.config.comment.skin.background_green=Background green +gui.worldhandler.config.comment.skin.background_blue=Background blue +gui.worldhandler.config.comment.skin.button_red=Button red +gui.worldhandler.config.comment.skin.button_green=Button green +gui.worldhandler.config.comment.skin.button_blue=Button blue +gui.worldhandler.config.comment.skin.textures=Background texture +gui.worldhandler.config.comment.skin.sharp_tab_edges=Disables the background blending +gui.worldhandler.config.comment.skin.draw_background=Background drawing enabled +gui.worldhandler.config.comment.skin.background_alpha=Background alpha +gui.worldhandler.config.comment.skin.button_alpha=Button alpha gui.worldhandler.config.comment.butcher=Butcher %s Enabled +gui.worldhandler.config.key.sliders.max_potion_amplifier=Max Potion Amplifier +gui.worldhandler.config.key.sliders.max_item_enchantment=Max Item Enchantment +gui.worldhandler.config.key.sliders.max_item_attributes=Max Item Attribute +gui.worldhandler.config.key.sliders.max_summon_potion_amplifier=Max Summon Potion Amplifier +gui.worldhandler.config.key.sliders.max_summon_potion_minutes=Max Summon Potion Minutes +gui.worldhandler.config.key.sliders.max_summon_attributes=Max Summon Attributes +gui.worldhandler.config.key.sliders.max_experience=Max Experience +gui.worldhandler.config.key.sliders.max_player_points=Max Player Points + +gui.worldhandler.config.comment.sliders.max_potion_amplifier=Maximum value for the potion amplifier +gui.worldhandler.config.comment.sliders.max_item_enchantment=Maximum value for an item enchantment +gui.worldhandler.config.comment.sliders.max_item_attributes=Maximum value for an item attribute +gui.worldhandler.config.comment.sliders.max_summon_potion_amplifier=Maximum value for the potion amplifier for summon +gui.worldhandler.config.comment.sliders.max_summon_potion_minutes=Maximum value for the potion duration in minutes for summon +gui.worldhandler.config.comment.sliders.max_summon_attributes=Maximum value for attributes +gui.worldhandler.config.comment.sliders.max_experience=Maximum value for experience +gui.worldhandler.config.comment.sliders.max_player_points=Maximum value for player points + gui.worldhandler.tab.scoreboard.objectives=Objectives gui.worldhandler.tab.scoreboard.teams=Teams gui.worldhandler.tab.scoreboard.players=Players @@ -85,7 +104,7 @@ gui.worldhandler.tab.blocks.edit_blocks=Edit Blocks gui.worldhandler.tab.blocks.sign_editor=Sign Editor gui.worldhandler.tab.blocks.note_block_editor=Note Editor -gui.worldhandler.tab.items.give_custom_item=Give Custom Item +gui.worldhandler.tab.items.custom_item=Custom Item gui.worldhandler.tab.items.enchantment=Enchantment gui.worldhandler.tab.containers=Containers @@ -93,7 +112,7 @@ gui.worldhandler.tab.multiplayer=Multiplayer gui.worldhandler.title.entities.summon=Summon -gui.worldhandler.title.items.give_custom_item=Give Custom Item +gui.worldhandler.title.items.custom_item=Custom Item gui.worldhandler.title.items.enchantment=Enchantment gui.worldhandler.title.blocks.edit_blocks=Edit Blocks @@ -124,8 +143,6 @@ gui.worldhandler.advancements.from=From gui.worldhandler.advancements.through=Through gui.worldhandler.advancements.everything=Everything -gui.worldhandler.continue.question=Continue ? - gui.worldhandler.change_world.singleplayer=Singleplayer World gui.worldhandler.change_world.multiplayer=Multiplayer Server @@ -176,15 +193,15 @@ gui.worldhandler.world=World gui.worldhandler.blocks=Blocks gui.worldhandler.player=Player -gui.worldhandler.items.give_custom_item.start=Start -gui.worldhandler.items.give_custom_item.enchantment=Enchantment -gui.worldhandler.items.give_custom_item.attributes=Attributes -gui.worldhandler.items.give_custom_item.give_custom_item=Give Custom Item +gui.worldhandler.items.custom_item.start=Start +gui.worldhandler.items.custom_item.enchantment=Enchantment +gui.worldhandler.items.custom_item.attributes=Attributes +gui.worldhandler.items.custom_item.custom_item=Give -gui.worldhandler.items.give_custom_item.start.item_id=Item ID -gui.worldhandler.items.give_custom_item.start.lore_1=Lore I -gui.worldhandler.items.give_custom_item.start.lore_2=Lore II -gui.worldhandler.items.give_custom_item.start.custom_name=Custom Name +gui.worldhandler.items.custom_item.start.item_id=Item +gui.worldhandler.items.custom_item.start.lore_1=Lore I +gui.worldhandler.items.custom_item.start.lore_2=Lore II +gui.worldhandler.items.custom_item.start.custom_name=Custom Name gui.worldhandler.items.enchantment.level=Level gui.worldhandler.items.enchantment.enchant=Enchant @@ -385,8 +402,6 @@ gui.worldhandler.shortcuts.tooltip.time.dawn=Dawn (%s) gui.worldhandler.generic.back=Back gui.worldhandler.generic.backToGame=Back to Game -gui.worldhandler.generic.browse=Browse -gui.worldhandler.generic.options=Options gui.worldhandler.generic.on=On gui.worldhandler.generic.off=Off gui.worldhandler.generic.yes=Yes diff --git a/src/main/resources/assets/worldhandler/lang/zh_cn.lang b/src/main/resources/assets/worldhandler/lang/zh_cn.lang index 17fd7a2..e0e6348 100644 --- a/src/main/resources/assets/worldhandler/lang/zh_cn.lang +++ b/src/main/resources/assets/worldhandler/lang/zh_cn.lang @@ -3,6 +3,7 @@ gui.worldhandler.config.tooltip=World Handler 设置 gui.worldhandler.config.category.settings=设置 gui.worldhandler.config.category.skin=皮肤样式 gui.worldhandler.config.category.butcher=屠宰 +gui.worldhandler.config.category.sliders=Sliders gui.worldhandler.config.key.settings.biome_indicator=生物群系指示器 gui.worldhandler.config.key.settings.command_syntax=命令句法 @@ -68,6 +69,24 @@ gui.worldhandler.config.comment.skin.button_alpha=按钮 Alpha gui.worldhandler.config.comment.butcher=屠宰 %s 开启 +gui.worldhandler.config.key.sliders.max_potion_amplifier=Max Potion Amplifier +gui.worldhandler.config.key.sliders.max_item_enchantment=Max Item Enchantment +gui.worldhandler.config.key.sliders.max_item_attributes=Max Item Attribute +gui.worldhandler.config.key.sliders.max_summon_potion_amplifier=Max Summon Potion Amplifier +gui.worldhandler.config.key.sliders.max_summon_potion_minutes=Max Summon Potion Minutes +gui.worldhandler.config.key.sliders.max_summon_attributes=Max Summon Attributes +gui.worldhandler.config.key.sliders.max_experience=Max Experience +gui.worldhandler.config.key.sliders.max_player_points=Max Player Points + +gui.worldhandler.config.comment.sliders.max_potion_amplifier=Max Potion Amplifier +gui.worldhandler.config.comment.sliders.max_item_enchantment=Max Item Enchantment +gui.worldhandler.config.comment.sliders.max_item_attributes=Max Item Attribute +gui.worldhandler.config.comment.sliders.max_summon_potion_amplifier=Max Summon Potion Amplifier +gui.worldhandler.config.comment.sliders.max_summon_potion_minutes=Max Summon Potion Minutes +gui.worldhandler.config.comment.sliders.max_summon_attributes=Max Summon Attributes +gui.worldhandler.config.comment.sliders.max_experience=Max Experience +gui.worldhandler.config.comment.sliders.max_player_points=Max Player Points + gui.worldhandler.tab.scoreboard.objectives=变量 gui.worldhandler.tab.scoreboard.teams=团队 gui.worldhandler.tab.scoreboard.players=玩家 @@ -85,7 +104,7 @@ gui.worldhandler.tab.blocks.edit_blocks=编辑方块 gui.worldhandler.tab.blocks.sign_editor=告示牌编辑器 gui.worldhandler.tab.blocks.note_block_editor=音符编辑器 -gui.worldhandler.tab.items.give_custom_item=给予自定义物品 +gui.worldhandler.tab.items.custom_item=给予自定义物品 gui.worldhandler.tab.items.enchantment=附魔 gui.worldhandler.tab.containers=容器 @@ -93,7 +112,7 @@ gui.worldhandler.tab.multiplayer=多人 gui.worldhandler.title.entities.summon=召唤 -gui.worldhandler.title.items.give_custom_item=给予自定义物品 +gui.worldhandler.title.items.custom_item=给予自定义物品 gui.worldhandler.title.items.enchantment=附魔 gui.worldhandler.title.blocks.edit_blocks=编辑方块 @@ -124,8 +143,6 @@ gui.worldhandler.advancements.from=自 gui.worldhandler.advancements.through=经由 gui.worldhandler.advancements.everything=全部 -gui.worldhandler.continue.question=继续? - gui.worldhandler.change_world.singleplayer=单人世界 gui.worldhandler.change_world.multiplayer=多人世界 @@ -176,15 +193,15 @@ gui.worldhandler.world=世界 gui.worldhandler.blocks=方块 gui.worldhandler.player=玩家 -gui.worldhandler.items.give_custom_item.start=首选项 -gui.worldhandler.items.give_custom_item.enchantment=附魔 -gui.worldhandler.items.give_custom_item.attributes=属性 -gui.worldhandler.items.give_custom_item.give_custom_item=给予自定义物品 +gui.worldhandler.items.custom_item.start=首选项 +gui.worldhandler.items.custom_item.enchantment=附魔 +gui.worldhandler.items.custom_item.attributes=属性 +gui.worldhandler.items.custom_item.custom_item=给予自定义物品 -gui.worldhandler.items.give_custom_item.start.item_id=物品 ID -gui.worldhandler.items.give_custom_item.start.lore_1=描述 I -gui.worldhandler.items.give_custom_item.start.lore_2=描述 II -gui.worldhandler.items.give_custom_item.start.custom_name=自定义名称 +gui.worldhandler.items.custom_item.start.item_id=物品 ID +gui.worldhandler.items.custom_item.start.lore_1=描述 I +gui.worldhandler.items.custom_item.start.lore_2=描述 II +gui.worldhandler.items.custom_item.start.custom_name=自定义名称 gui.worldhandler.items.enchantment.level=等级 gui.worldhandler.items.enchantment.enchant=附魔 @@ -385,8 +402,6 @@ gui.worldhandler.shortcuts.tooltip.time.dawn=日出(%s) gui.worldhandler.generic.back=返回 gui.worldhandler.generic.backToGame=返回游戏 -gui.worldhandler.generic.browse=浏览 -gui.worldhandler.generic.options=选项 gui.worldhandler.generic.on=开 gui.worldhandler.generic.off=关 gui.worldhandler.generic.yes=是