mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-24 00:26:16 +02:00
add return to default value item for boolean & int setting gui
This commit is contained in:
parent
610e171154
commit
9b7f628f4f
3 changed files with 61 additions and 7 deletions
|
|
@ -68,13 +68,13 @@ public class BasicConfigGui extends ValueUpdatableGui {
|
|||
this.repairCostFactory = IntSettingsGui.factory("\u00A78Repair Cost Limit", this,
|
||||
ConfigOptions.LIMIT_REPAIR_VALUE, ConfigHolder.DEFAULT_CONFIG, range.getFirst(),range.getLast(),
|
||||
ConfigOptions.DEFAULT_LIMIT_REPAIR_VALUE,
|
||||
1, 5, 10, 50, 100);
|
||||
1, 5, 10);
|
||||
|
||||
// rename cost not needed
|
||||
ItemStack item = new ItemStack(Material.BARRIER);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
|
||||
meta.setDisplayName("\u00A7cRepair Cost Limit");
|
||||
meta.setDisplayName("\u00A7cRepair Cost Value");
|
||||
meta.setLore(Collections.singletonList("\u00A77Please, enable repair cost limit for this variable to be editable."));
|
||||
item.setItemMeta(meta);
|
||||
this.notNeededLimitValueItem = new GuiItem(item, GuiGlobalActions.stayInPlace, CustomAnvil.instance);
|
||||
|
|
@ -88,7 +88,7 @@ public class BasicConfigGui extends ValueUpdatableGui {
|
|||
this.itemRepairCost = IntSettingsGui.factory("\u00A78Item repair cost", this,
|
||||
ConfigOptions.ITEM_REPAIR_COST, ConfigHolder.DEFAULT_CONFIG, range.getFirst(),range.getLast(),
|
||||
ConfigOptions.DEFAULT_ITEM_REPAIR_COST,
|
||||
1, 5, 10);
|
||||
1, 5, 10, 50, 100);
|
||||
|
||||
// unit repair cost
|
||||
this.unitRepairCost = IntSettingsGui.factory("\u00A78Unit repair cost", this,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ import org.bukkit.inventory.meta.ItemMeta;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
||||
import xyz.alexcrea.cuanvil.gui.utils.GuiGlobalItems;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class BoolSettingsGui extends AbstractSettingGui{
|
||||
|
|
@ -26,6 +28,7 @@ public class BoolSettingsGui extends AbstractSettingGui{
|
|||
this.before = now;
|
||||
this.now = now;
|
||||
|
||||
prepareReturnToDefault();
|
||||
updateValueDisplay();
|
||||
}
|
||||
|
||||
|
|
@ -34,10 +37,25 @@ public class BoolSettingsGui extends AbstractSettingGui{
|
|||
public Pattern getGuiPattern() {
|
||||
return new Pattern(
|
||||
"000000000",
|
||||
"00-0v0+00",
|
||||
"BD000000S"
|
||||
"D0-0v0+00",
|
||||
"B0000000S"
|
||||
);
|
||||
}
|
||||
GuiItem returnToDefault;
|
||||
protected void prepareReturnToDefault(){
|
||||
ItemStack item = new ItemStack(Material.COMMAND_BLOCK);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
|
||||
meta.setDisplayName("\u00A7eReset to default value");
|
||||
meta.setLore(Collections.singletonList("\u00A77Default value is: "+holder.defaultVal));
|
||||
item.setItemMeta(meta);
|
||||
returnToDefault = new GuiItem(item, event -> {
|
||||
event.setCancelled(true);
|
||||
now = holder.defaultVal;
|
||||
updateValueDisplay();
|
||||
update();
|
||||
}, CustomAnvil.instance);
|
||||
}
|
||||
|
||||
protected void updateValueDisplay(){
|
||||
|
||||
|
|
@ -63,6 +81,15 @@ public class BoolSettingsGui extends AbstractSettingGui{
|
|||
|
||||
pane.bindItem('v', resultItem);
|
||||
|
||||
// reset to default
|
||||
GuiItem returnToDefault;
|
||||
if(now != holder.defaultVal){
|
||||
returnToDefault = this.returnToDefault;
|
||||
}else{
|
||||
returnToDefault = GuiGlobalItems.backgroundItem();
|
||||
}
|
||||
pane.bindItem('D', returnToDefault);
|
||||
|
||||
}
|
||||
|
||||
protected Consumer<InventoryClickEvent> inverseNowConsumer(){
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ public class IntSettingsGui extends AbstractSettingGui{
|
|||
this.now = now;
|
||||
this.step = holder.steps[0];
|
||||
|
||||
prepareReturnToDefault();
|
||||
updateValueDisplay();
|
||||
initStepsValue();
|
||||
}
|
||||
|
|
@ -42,11 +43,27 @@ public class IntSettingsGui extends AbstractSettingGui{
|
|||
public Pattern getGuiPattern() {
|
||||
return new Pattern(
|
||||
"abcdefghi",
|
||||
"00-0v0+00",
|
||||
"BD000000S"
|
||||
"D0-0v0+00",
|
||||
"B0000000S"
|
||||
);
|
||||
}
|
||||
|
||||
GuiItem returnToDefault;
|
||||
protected void prepareReturnToDefault(){
|
||||
ItemStack item = new ItemStack(Material.COMMAND_BLOCK);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
|
||||
meta.setDisplayName("\u00A7eReset to default value");
|
||||
meta.setLore(Collections.singletonList("\u00A77Default value is: "+holder.defaultVal));
|
||||
item.setItemMeta(meta);
|
||||
returnToDefault = new GuiItem(item, event -> {
|
||||
event.setCancelled(true);
|
||||
now = holder.defaultVal;
|
||||
updateValueDisplay();
|
||||
update();
|
||||
}, CustomAnvil.instance);
|
||||
}
|
||||
|
||||
protected void updateValueDisplay(){
|
||||
|
||||
PatternPane pane = getPane();
|
||||
|
|
@ -93,6 +110,16 @@ public class IntSettingsGui extends AbstractSettingGui{
|
|||
|
||||
pane.bindItem('v', resultItem);
|
||||
|
||||
// reset to default
|
||||
GuiItem returnToDefault;
|
||||
if(now != holder.defaultVal){
|
||||
returnToDefault = this.returnToDefault;
|
||||
}else{
|
||||
returnToDefault = GuiGlobalItems.backgroundItem();
|
||||
}
|
||||
pane.bindItem('D', returnToDefault);
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected Consumer<InventoryClickEvent> updateNowConsumer(int planned){
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue