2.1
This commit is contained in:
@@ -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<EnumAttributes, Float> attributes = new HashMap<EnumAttributes, Float>();
|
||||
protected Map<EnumAttributes, Double> attributes = new HashMap<EnumAttributes, Double>();
|
||||
protected Function<EnumAttributes, Boolean> applyable;
|
||||
|
||||
public ComponentAttribute(Function<EnumAttributes, Boolean> 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<EnumAttributes> getAttributes()
|
||||
{
|
||||
return this.attributes.keySet();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<Potion> getPotions()
|
||||
{
|
||||
return this.potions.keySet();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PotionMetadata get(Potion potion)
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@ public class ComponentAttributeItem extends ComponentAttribute
|
||||
{
|
||||
NBTTagList attributes = new NBTTagList();
|
||||
|
||||
for(Entry<EnumAttributes, Float> entry : this.attributes.entrySet())
|
||||
for(Entry<EnumAttributes, Double> entry : this.attributes.entrySet())
|
||||
{
|
||||
if(this.applyable.apply(entry.getKey()) && entry.getValue() != 0)
|
||||
{
|
||||
|
||||
@@ -27,7 +27,7 @@ public class ComponentAttributeMob extends ComponentAttribute
|
||||
{
|
||||
NBTTagList attributes = new NBTTagList();
|
||||
|
||||
for(Entry<EnumAttributes, Float> entry : this.attributes.entrySet())
|
||||
for(Entry<EnumAttributes, Double> entry : this.attributes.entrySet())
|
||||
{
|
||||
if(this.applyable.apply(entry.getKey()) && entry.getValue() != 0)
|
||||
{
|
||||
|
||||
@@ -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<Enchantment> getEnchantments()
|
||||
{
|
||||
return this.enchantments.keySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTag()
|
||||
{
|
||||
|
||||
@@ -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<Enchantment> 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<EnumAttributes> getAttributes()
|
||||
{
|
||||
return this.attribute.getAttributes();
|
||||
}
|
||||
|
||||
public void setName(ColoredString name)
|
||||
{
|
||||
this.display.setName(name);
|
||||
|
||||
@@ -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<Potion> getPotions()
|
||||
{
|
||||
return this.potion.getPotions();
|
||||
}
|
||||
|
||||
public BuilderPotionItem getBuilderForPotion(Item item)
|
||||
{
|
||||
return new BuilderPotionItem(item.getRegistryName(), this.getPlayer(), this.potion);
|
||||
|
||||
@@ -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<EnumAttributes> 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<Potion> getPotions()
|
||||
{
|
||||
return this.potion.getPotions();
|
||||
}
|
||||
|
||||
private NBTBase itemListSerializer(NBTTagList list)
|
||||
{
|
||||
for(int x = 0; x < list.tagCount(); x++)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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<T> extends GuiButton
|
||||
private final Container frame;
|
||||
private final ButtonStorage<SliderStorage> 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<T> 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<T> 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<T> 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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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<IConfigElement> 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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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<T, K> 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()
|
||||
|
||||
@@ -19,4 +19,9 @@ public interface ILogicColorMenu
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
default String getId()
|
||||
{
|
||||
return "color";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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<EnumAttributes> 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.<String>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.<String>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.<String>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<ResourceLocation>(Contents.CUSTOM_ITEM, container, value, x, y, width, height, display, 0, 100, 0, new SimpleResponder<ResourceLocation>(response ->
|
||||
container.add(new GuiSlider<ResourceLocation>(Contents.CUSTOM_ITEM, container, value, x, y, width, height, display, 0, ConfigSliders.getMaxItemEnchantment(), 0, new SimpleResponder<ResourceLocation>(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<EnumAttributes, Object> attributes = new ElementPageList<EnumAttributes, Object>(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<EnumAttributes, Object>()
|
||||
ElementPageList<EnumAttributes, Object> attributes = new ElementPageList<EnumAttributes, Object>(x + 118, y, this.attributes, null, 114, 20, 3, this, new int[] {13, 14, 15}, new ILogicPageList<EnumAttributes, Object>()
|
||||
{
|
||||
@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<EnumAttributes>(Contents.CUSTOM_ITEM, container, value, x, y, width, height, display, value.getMin(), value.getMax(), value.getStart(), new AttributeResponder(response ->
|
||||
container.add(new GuiSlider<EnumAttributes>(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
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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<String>(this, container, "experience", x + 116 / 2, y, 114, 20, I18n.format("gui.worldhandler.title.player.experience"), 0, 100, 0, new SimpleResponder<String>(value ->
|
||||
container.add(new GuiSlider<String>(this, container, "experience", x + 116 / 2, y, 114, 20, I18n.format("gui.worldhandler.title.player.experience"), 0, ConfigSliders.getMaxExperience(), 0, new SimpleResponder<String>(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;
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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<Potion>(this, container, "potions_amplifier" + potion, x + 118, y, 114, 20, I18n.format("gui.worldhandler.potions.effect.amplifier"), 0, 100, 0, new SimpleResponder<Potion>(value ->
|
||||
container.add(new GuiSlider<Potion>(this, container, "potions_amplifier" + potion.getRegistryName(), x + 118, y, 114, 20, I18n.format("gui.worldhandler.potions.effect.amplifier"), 0, ConfigSliders.getMaxPotionAmplifier(), 0, new SimpleResponder<Potion>(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<Potion>(this, container, "seconds" + potion, x + 118, y, 114, 20, I18n.format("gui.worldhandler.potion.time.seconds"), 0, 59, 0, new SimpleResponder<Potion>(value ->
|
||||
container.add(new GuiSlider<Potion>(this, container, "seconds" + potion.getRegistryName(), x + 118, y, 114, 20, I18n.format("gui.worldhandler.potion.time.seconds"), 0, 59, 0, new SimpleResponder<Potion>(value ->
|
||||
{
|
||||
this.builderPotion.setSeconds(value.intValue());
|
||||
this.builderPotionItem.setSeconds(potion, value.intValue());
|
||||
})));
|
||||
container.add(new GuiSlider<Potion>(this, container, "minutes" + potion, x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.potion.time.minutes"), 0, 59, 0, new SimpleResponder<Potion>(value ->
|
||||
container.add(new GuiSlider<Potion>(this, container, "minutes" + potion.getRegistryName(), x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.potion.time.minutes"), 0, 59, 0, new SimpleResponder<Potion>(value ->
|
||||
{
|
||||
this.builderPotion.setMinutes(value.intValue());
|
||||
this.builderPotionItem.setMinutes(potion, value.intValue());
|
||||
})));
|
||||
container.add(new GuiSlider<Potion>(this, container, "hours" + potion, x + 118, y + 48, 114, 20, I18n.format("gui.worldhandler.potion.time.hours"), 0, 99, 0, new SimpleResponder<Potion>(value ->
|
||||
container.add(new GuiSlider<Potion>(this, container, "hours" + potion.getRegistryName(), x + 118, y + 48, 114, 20, I18n.format("gui.worldhandler.potion.time.hours"), 0, 99, 0, new SimpleResponder<Potion>(value ->
|
||||
{
|
||||
this.builderPotion.setHours(value.intValue());
|
||||
this.builderPotionItem.setHours(potion, value.intValue());
|
||||
|
||||
@@ -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<String>(this, container, "points", x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.scoreboard.players.points"), 0, 100, 0, new SimpleResponder<String>(value ->
|
||||
container.add(new GuiSlider<String>(this, container, "points", x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.scoreboard.players.points"), 0, ConfigSliders.getMaxPlayerPoints(), 0, new SimpleResponder<String>(value ->
|
||||
{
|
||||
this.builderPlayers.setPoints(value);
|
||||
})));
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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<EnumAttributes> 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<EnumAttributes, Object> attributes = new ElementPageList<EnumAttributes, Object>(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<EnumAttributes, Object>()
|
||||
ElementPageList<EnumAttributes, Object> attributes = new ElementPageList<EnumAttributes, Object>(x + 118, y, this.attributes, null, 114, 20, 3, this, new int[] {6, 7, 8}, new ILogicPageList<EnumAttributes, Object>()
|
||||
{
|
||||
@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<EnumAttributes>(Contents.SUMMON, container, value, x, y, width, height, display, value.getMin(), value.getMax(), value.getStart(), new AttributeResponder(response ->
|
||||
container.add(new GuiSlider<EnumAttributes>(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<Potion>(this, container, "amplifier" + potion, x + 118, y, 114, 20, I18n.format(potion.getName()), 0, 100, 0, new SimpleResponder<Potion>(value ->
|
||||
container.add(new GuiSlider<Potion>(this, container, "amplifier" + potion.getRegistryName(), x + 118, y, 114, 20, I18n.format(potion.getName()), 0, ConfigSliders.getMaxSummonPotionAmplifier(), 0, new SimpleResponder<Potion>(value ->
|
||||
{
|
||||
this.builderSummon.setAmplifier(potion, value.byteValue());
|
||||
})));
|
||||
container.add(new GuiSlider<Potion>(this, container, "duration" + potion, x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.potion.time.minutes"), 0, 100, 0, new SimpleResponder<Potion>(value ->
|
||||
container.add(new GuiSlider<Potion>(this, container, "duration" + potion.getRegistryName(), x + 118, y + 24, 114, 20, I18n.format("gui.worldhandler.potion.time.minutes"), 0, ConfigSliders.getMaxSummonPotionMinutes(), 0, new SimpleResponder<Potion>(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;
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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")};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=是
|
||||
|
||||
Reference in New Issue
Block a user