/******************************************************************************* * Copyright 2014 Tobias Welther * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package de.tobiyas.racesandclasses.racbuilder.gui.holders; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import de.tobiyas.racesandclasses.RacesAndClasses; import de.tobiyas.racesandclasses.racbuilder.AbstractHolderBuilder; import de.tobiyas.racesandclasses.racbuilder.ClassHolderBuilder; import de.tobiyas.racesandclasses.util.items.ItemMetaUtils; import de.tobiyas.util.inventorymenu.BasicSelectionInterface; import de.tobiyas.util.inventorymenu.stats.OperatorSelectionInterface; public class ClassGeneralBuilderInterface extends HolderGeneralBuilderInterface { /** * The ConfigTotal Map path to the health_operator */ private static final String HEALTH_OPERATOR_PATH = "health_operator"; /** * The healthOperator as Selector Item */ private final ItemStack healthOperationSelector; public ClassGeneralBuilderInterface(Player player, BasicSelectionInterface parent, AbstractHolderBuilder builder, RacesAndClasses plugin) { super(player, parent, builder, plugin); this.healthOperationSelector = generateItem(Material.BAKED_POTATO, ChatColor.RED + "Health Operator", ChatColor.LIGHT_PURPLE + "Value : "); } @Override protected void rebuildFromBuilder() { super.rebuildFromBuilder(); ClassHolderBuilder classBuilder = (ClassHolderBuilder) builder; String operation = classBuilder.getHealthOperation(); ItemMetaUtils.replaceLoreWith(healthOperationSelector, "Value: " + operation); } @Override protected void redraw() { super.redraw(); } @Override protected void onSelectionItemPressed(ItemStack item) { super.onSelectionItemPressed(item); if(healthOperationSelector.equals(item)){ editHealthOperation(); return; } } /** * Schedules opening of a String Selection * to get a new Name. */ private void editHealthOperation(){ this.currentModifiedValue = HEALTH_OPERATOR_PATH; ClassHolderBuilder classBuilder = (ClassHolderBuilder) builder; this.callbackMap.put(currentModifiedValue, classBuilder.getHealthOperation()); openNewView(new OperatorSelectionInterface(player, this, callbackMap, currentModifiedValue, plugin)); } }