mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
Fixes #1394
This commit is contained in:
parent
d37b1504ba
commit
1f672905d2
@ -34,6 +34,7 @@
|
||||
* Added a config setting to limit how many Nodes a Network can have
|
||||
* Added support for Furnaces and Brewing Stands to Cargo Networks
|
||||
* Added Organic Food/Fertilizer for Dried Kelp
|
||||
* Added many more strings to the messages.yml
|
||||
|
||||
### Changes
|
||||
* Removed Solar Array
|
||||
@ -54,6 +55,8 @@
|
||||
* Fixed #1212
|
||||
* Fixed #114
|
||||
* Fixed #1385
|
||||
* Fixed #1390
|
||||
* Fixed #1394
|
||||
|
||||
## Release Candidate 4 (06 Jan 2020)
|
||||
https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#4
|
||||
|
@ -65,7 +65,7 @@ public class ChestSlimefunGuide implements ISlimefunGuide {
|
||||
profile.getGuideHistory().clear();
|
||||
}
|
||||
|
||||
ChestMenu menu = create();
|
||||
ChestMenu menu = create(p);
|
||||
|
||||
List<Category> categories = SlimefunPlugin.getUtilities().enabledCategories;
|
||||
List<GuideHandler> handlers = SlimefunPlugin.getUtilities().guideHandlers.values().stream().flatMap(List::stream).collect(Collectors.toList());
|
||||
@ -173,7 +173,7 @@ public class ChestSlimefunGuide implements ISlimefunGuide {
|
||||
profile.getGuideHistory().add(category);
|
||||
}
|
||||
|
||||
ChestMenu menu = create();
|
||||
ChestMenu menu = create(p);
|
||||
fillInv(p, profile, menu, survival);
|
||||
|
||||
menu.addItem(1, new CustomItem(ChestMenuUtils.getBackButton(), meta -> meta.setLore(Arrays.asList("", ChatColors.color("&rLeft Click: &7Go back to Main Menu")))));
|
||||
@ -400,7 +400,7 @@ public class ChestSlimefunGuide implements ISlimefunGuide {
|
||||
recipeItems = new ItemStack[] {null, null, null, null, new CustomItem(Material.BARRIER, "&4We are somehow unable to show you this Recipe :/"), null, null, null, null};
|
||||
}
|
||||
|
||||
ChestMenu menu = create();
|
||||
ChestMenu menu = create(p);
|
||||
displayItem(menu, profile, p, item, result, recipeType, recipeItems, addToHistory);
|
||||
|
||||
if (recipes.length > 1) {
|
||||
@ -441,7 +441,7 @@ public class ChestSlimefunGuide implements ISlimefunGuide {
|
||||
RecipeType recipeType = item.getRecipeType();
|
||||
ItemStack[] recipe = item.getRecipe();
|
||||
|
||||
ChestMenu menu = create();
|
||||
ChestMenu menu = create(p);
|
||||
|
||||
if (item.hasWiki()) {
|
||||
menu.addItem(8, new CustomItem(Material.KNOWLEDGE_BOOK, "&rView this Item on our Wiki &7(Slimefun Wiki)", "", "&7\u21E8 Click to open"));
|
||||
@ -496,16 +496,6 @@ public class ChestSlimefunGuide implements ISlimefunGuide {
|
||||
return false;
|
||||
});
|
||||
|
||||
/*
|
||||
// Stats
|
||||
menu.addItem(4, new CustomItem(SkullItem.fromPlayer(p), "&7Player Stats: &e" + p.getName(), "", "&7Progress: &a" + Math.round(((profile.getResearches().size() * 100.0F) / Research.list().size()) * 100.0F) / 100.0F + "% &e(" + profile.getResearches().size() + " / " + Research.list().size() + ")", "", "&7\u21E8 Click for a full summary"));
|
||||
menu.addMenuClickHandler(4, (player, i, itemStack, clickAction) -> {
|
||||
player.closeInventory();
|
||||
profile.sendStats(player);
|
||||
return false;
|
||||
});
|
||||
*/
|
||||
|
||||
// Search feature!
|
||||
menu.addItem(7, new CustomItem(ChestMenuUtils.getSearchButton(), SlimefunPlugin.getLocal().getMessage(p, "guide.search.name"), SlimefunPlugin.getLocal().getMessages(p, "guide.search.lore").toArray(new String[0])));
|
||||
menu.addMenuClickHandler(7, (pl, slot, item, action) -> {
|
||||
@ -630,8 +620,8 @@ public class ChestSlimefunGuide implements ISlimefunGuide {
|
||||
}
|
||||
}
|
||||
|
||||
private static ChestMenu create() {
|
||||
ChestMenu menu = new ChestMenu("Slimefun Guide");
|
||||
private static ChestMenu create(Player p) {
|
||||
ChestMenu menu = new ChestMenu(SlimefunPlugin.getLocal().getMessage(p, "guide.title.main"));
|
||||
|
||||
menu.setEmptySlotsClickable(false);
|
||||
menu.addMenuOpeningHandler(pl -> pl.playSound(pl.getLocation(), Sound.ITEM_BOOK_PAGE_TURN, 1, 1));
|
||||
|
@ -39,7 +39,7 @@ public final class GuideSettings {
|
||||
private GuideSettings() {}
|
||||
|
||||
public static void openSettings(Player p, ItemStack guide) {
|
||||
ChestMenu menu = new ChestMenu("Settings / Info");
|
||||
ChestMenu menu = new ChestMenu(SlimefunPlugin.getLocal().getMessage(p, "guide.title.settings"));
|
||||
|
||||
menu.setEmptySlotsClickable(false);
|
||||
menu.addMenuOpeningHandler(pl -> pl.playSound(pl.getLocation(), Sound.BLOCK_NOTE_BLOCK_HARP, 0.7F, 0.7F));
|
||||
@ -252,7 +252,7 @@ public final class GuideSettings {
|
||||
}
|
||||
|
||||
private static void openLanguages(Player p) {
|
||||
ChestMenu menu = new ChestMenu("Slimefun4 Language Selector");
|
||||
ChestMenu menu = new ChestMenu(SlimefunPlugin.getLocal().getMessage(p, "guide.title.languages"));
|
||||
|
||||
menu.setEmptySlotsClickable(false);
|
||||
menu.addMenuOpeningHandler(pl -> pl.playSound(pl.getLocation(), Sound.BLOCK_NOTE_BLOCK_HARP, 0.7F, 0.7F));
|
||||
@ -309,7 +309,7 @@ public final class GuideSettings {
|
||||
}
|
||||
|
||||
private static void openCredits(Player p, int page) {
|
||||
ChestMenu menu = new ChestMenu("Slimefun4's contributors");
|
||||
ChestMenu menu = new ChestMenu(SlimefunPlugin.getLocal().getMessage(p, "guide.title.credits"));
|
||||
|
||||
menu.setEmptySlotsClickable(false);
|
||||
menu.addMenuOpeningHandler(pl -> pl.playSound(pl.getLocation(), Sound.BLOCK_NOTE_BLOCK_HARP, 0.7F, 0.7F));
|
||||
@ -355,8 +355,14 @@ public final class GuideSettings {
|
||||
for (Map.Entry<String, Integer> entry : contributor.getContributions()) {
|
||||
String info = entry.getKey();
|
||||
|
||||
if (!info.startsWith("&")) {
|
||||
info = SlimefunPlugin.getLocal().getMessage(p, "guide.credits.roles." + info);
|
||||
}
|
||||
|
||||
if (entry.getValue() > 0) {
|
||||
info += " &7(" + entry.getValue() + " Commit" + (entry.getValue() > 1 ? "s": "") + ")";
|
||||
String commits = SlimefunPlugin.getLocal().getMessage(p, "guide.credits." + (entry.getValue() > 1 ? "commits": "commit"));
|
||||
|
||||
info += " &7(" + entry.getValue() + " " + commits + ")";
|
||||
}
|
||||
|
||||
lore.add(ChatColors.color(info));
|
||||
|
@ -58,9 +58,9 @@ public class GitHubService {
|
||||
this.logging = logging;
|
||||
addDefaultContributors();
|
||||
|
||||
connectors.add(new ContributionsConnector(this, "code", repository, "&6Developer"));
|
||||
connectors.add(new ContributionsConnector(this, "wiki", "TheBusyBiscuit/Slimefun4-wiki", "&3Wiki Editor"));
|
||||
connectors.add(new ContributionsConnector(this, "resourcepack", "TheBusyBiscuit/Slimefun4-Resourcepack", "&cResourcepack Artist"));
|
||||
connectors.add(new ContributionsConnector(this, "code", repository, "developer"));
|
||||
connectors.add(new ContributionsConnector(this, "wiki", "TheBusyBiscuit/Slimefun4-wiki", "wiki"));
|
||||
connectors.add(new ContributionsConnector(this, "resourcepack", "TheBusyBiscuit/Slimefun4-Resourcepack", "resourcepack"));
|
||||
|
||||
connectors.add(new GitHubConnector(this) {
|
||||
|
||||
|
@ -29,8 +29,8 @@ import me.mrCookieSlime.CSCoreLibPlugin.events.ItemUseEvent;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Juice;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.MultiTool;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items.MultiTool;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockUseHandler;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemConsumptionHandler;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemDropHandler;
|
||||
@ -107,33 +107,6 @@ public class SlimefunItemListener implements Listener {
|
||||
slimefunItem.callItemHandler(ItemInteractionHandler.class, handler ->
|
||||
handler.onRightClick(e, p, item)
|
||||
);
|
||||
|
||||
if (slimefunItem instanceof MultiTool) {
|
||||
e.setCancelled(true);
|
||||
|
||||
List<Integer> modes = ((MultiTool) slimefunItem).getModes();
|
||||
int index = utilities.mode.getOrDefault(p.getUniqueId(), 0);
|
||||
|
||||
if (!p.isSneaking()) {
|
||||
float charge = ItemEnergy.getStoredEnergy(item);
|
||||
float cost = 0.3F;
|
||||
|
||||
if (charge >= cost) {
|
||||
p.getEquipment().setItemInMainHand(ItemEnergy.chargeItem(item, -cost));
|
||||
Bukkit.getPluginManager().callEvent(new ItemUseEvent(e.getParentEvent(), SlimefunItem.getByID((String) Slimefun.getItemValue(slimefunItem.getID(), "mode." + modes.get(index) + ".item")).getItem().clone(), e.getClickedBlock()));
|
||||
}
|
||||
}
|
||||
else {
|
||||
index++;
|
||||
if (index == modes.size()) index = 0;
|
||||
|
||||
SlimefunItem selectedItem = SlimefunItem.getByID((String) Slimefun.getItemValue(slimefunItem.getID(), "mode." + modes.get(index) + ".item"));
|
||||
String itemName = selectedItem != null ? selectedItem.getItemName(): "Unknown";
|
||||
SlimefunPlugin.getLocal().sendMessage(p, "messages.mode-change", true, msg -> msg.replace("%device%", "Multi Tool").replace("%mode%", ChatColor.stripColor(itemName)));
|
||||
utilities.mode.put(p.getUniqueId(), index);
|
||||
}
|
||||
}
|
||||
else if (SlimefunManager.isItemSimilar(item, SlimefunItems.HEAVY_CREAM, true)) e.setCancelled(true);
|
||||
}
|
||||
else {
|
||||
e.setCancelled(true);
|
||||
|
@ -1,21 +1,22 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
public class ChargableItem extends SlimefunItem {
|
||||
|
||||
private String chargeType;
|
||||
|
||||
public ChargableItem(Category category, ItemStack item, String id, RecipeType recipeType, ItemStack[] recipe, String chargeType) {
|
||||
super(category, item, id, recipeType, recipe);
|
||||
public ChargableItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, String chargeType) {
|
||||
super(category, item, recipeType, recipe);
|
||||
this.chargeType = chargeType;
|
||||
}
|
||||
|
||||
public ChargableItem(Category category, ItemStack item, String id, RecipeType recipeType, ItemStack[] recipe, String chargeType, String[] keys, Object[] values) {
|
||||
super(category, item, id, recipeType, recipe, keys, values);
|
||||
public ChargableItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, String chargeType, String[] keys, Object[] values) {
|
||||
super(category, item, recipeType, recipe, keys, values);
|
||||
this.chargeType = chargeType;
|
||||
}
|
||||
|
||||
|
@ -1,65 +0,0 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.Slimefun.Lists.Categories;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
public class MultiTool extends DamagableChargableItem {
|
||||
|
||||
private static final String PREFIX = "mode.";
|
||||
|
||||
private List<Integer> modes;
|
||||
|
||||
public MultiTool(SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, String... items) {
|
||||
super(Categories.TECH, item, recipeType, recipe, "Multi Tool", getKeys(items), getValues(items));
|
||||
}
|
||||
|
||||
private static String[] getKeys(String... items) {
|
||||
String[] keys = new String[items.length * 2];
|
||||
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
keys[i * 2] = PREFIX + i + ".enabled";
|
||||
keys[i * 2 + 1] = PREFIX + i + ".item";
|
||||
}
|
||||
|
||||
return keys;
|
||||
}
|
||||
|
||||
private static Object[] getValues(String... items) {
|
||||
Object[] values = new Object[items.length * 2];
|
||||
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
values[i * 2] = true;
|
||||
values[i * 2 + 1] = items[i];
|
||||
}
|
||||
|
||||
return values;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postRegister() {
|
||||
List<Integer> list = new ArrayList<>();
|
||||
|
||||
int i = 0;
|
||||
|
||||
while (Slimefun.getItemValue(this.getID(), PREFIX + i + ".enabled") != null) {
|
||||
if ((boolean) Slimefun.getItemValue(this.getID(), PREFIX + i + ".enabled")) {
|
||||
list.add(i);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
this.modes = list;
|
||||
}
|
||||
|
||||
public List<Integer> getModes() {
|
||||
return this.modes;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,117 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Lists.Categories;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.ChargableItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemUseHandler;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
import me.mrCookieSlime.Slimefun.api.energy.ItemEnergy;
|
||||
|
||||
public class MultiTool extends ChargableItem {
|
||||
|
||||
private static final String PREFIX = "mode.";
|
||||
private static final float COST = 0.3F;
|
||||
|
||||
private Map<UUID, Integer> selectedMode = new HashMap<>();
|
||||
private List<Integer> modes;
|
||||
|
||||
public MultiTool(SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, String... items) {
|
||||
super(Categories.TECH, item, recipeType, recipe, "Multi Tool", getKeys(items), getValues(items));
|
||||
}
|
||||
|
||||
private static String[] getKeys(String... items) {
|
||||
String[] keys = new String[items.length * 2];
|
||||
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
keys[i * 2] = PREFIX + i + ".enabled";
|
||||
keys[i * 2 + 1] = PREFIX + i + ".item";
|
||||
}
|
||||
|
||||
return keys;
|
||||
}
|
||||
|
||||
private static Object[] getValues(String... items) {
|
||||
Object[] values = new Object[items.length * 2];
|
||||
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
values[i * 2] = true;
|
||||
values[i * 2 + 1] = items[i];
|
||||
}
|
||||
|
||||
return values;
|
||||
}
|
||||
|
||||
protected ItemUseHandler getItemUseHandler() {
|
||||
return e -> {
|
||||
Player p = e.getPlayer();
|
||||
ItemStack item = e.getItem();
|
||||
e.cancel();
|
||||
|
||||
int index = selectedMode.getOrDefault(p.getUniqueId(), 0);
|
||||
|
||||
if (!p.isSneaking()) {
|
||||
float charge = ItemEnergy.getStoredEnergy(item);
|
||||
|
||||
if (charge >= COST) {
|
||||
ItemEnergy.chargeItem(item, -COST);
|
||||
|
||||
String itemID = (String) Slimefun.getItemValue(getID(), "mode." + modes.get(index) + ".item");
|
||||
SlimefunItem sfItem = SlimefunItem.getByID(itemID);
|
||||
|
||||
if (sfItem != null) {
|
||||
sfItem.callItemHandler(ItemUseHandler.class, handler -> handler.onRightClick(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
index++;
|
||||
if (index == modes.size()) index = 0;
|
||||
|
||||
SlimefunItem selectedItem = SlimefunItem.getByID((String) Slimefun.getItemValue(getID(), "mode." + modes.get(index) + ".item"));
|
||||
String itemName = selectedItem != null ? selectedItem.getItemName(): "Unknown";
|
||||
SlimefunPlugin.getLocal().sendMessage(p, "messages.mode-change", true, msg -> msg.replace("%device%", "Multi Tool").replace("%mode%", ChatColor.stripColor(itemName)));
|
||||
selectedMode.put(p.getUniqueId(), index);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preRegister() {
|
||||
super.preRegister();
|
||||
addItemHandler(getItemUseHandler());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postRegister() {
|
||||
List<Integer> list = new ArrayList<>();
|
||||
|
||||
int i = 0;
|
||||
|
||||
while (Slimefun.getItemValue(this.getID(), PREFIX + i + ".enabled") != null) {
|
||||
if ((boolean) Slimefun.getItemValue(this.getID(), PREFIX + i + ".enabled")) {
|
||||
list.add(i);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
this.modes = list;
|
||||
}
|
||||
|
||||
public List<Integer> getModes() {
|
||||
return this.modes;
|
||||
}
|
||||
|
||||
}
|
@ -6,8 +6,8 @@ import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.cscorelib2.chat.ChatColors;
|
||||
import io.github.thebusybiscuit.cscorelib2.math.DoubleHandler;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem;
|
||||
@ -28,13 +28,16 @@ public class Multimeter extends SimpleSlimefunItem<ItemUseHandler> {
|
||||
|
||||
if (block.isPresent()) {
|
||||
Block b = block.get();
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
e.cancel();
|
||||
|
||||
String stored = DoubleHandler.getFancyDouble(ChargableBlock.getCharge(b)) + " J";
|
||||
String capacity = DoubleHandler.getFancyDouble(ChargableBlock.getMaxCharge(b)) + " J";
|
||||
|
||||
Player p = e.getPlayer();
|
||||
p.sendMessage("");
|
||||
p.sendMessage(ChatColors.color("&bStored Energy: &3" + DoubleHandler.getFancyDouble(ChargableBlock.getCharge(b)) + " J"));
|
||||
p.sendMessage(ChatColors.color("&bCapacity: &3" + DoubleHandler.getFancyDouble(ChargableBlock.getMaxCharge(b)) + " J"));
|
||||
SlimefunPlugin.getLocal().sendMessage(p, "messages.multimeter", str -> str.replace("%stored%", stored).replace("%capacity%", capacity));
|
||||
p.sendMessage("");
|
||||
}
|
||||
}
|
||||
|
@ -46,7 +46,6 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.HandledBlock;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.JetBoots;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Jetpack;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Juice;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.MultiTool;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.ReplacingAlloy;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.ReplacingItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunArmorPiece;
|
||||
@ -84,6 +83,7 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items.MagicSugar;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items.MeatJerky;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items.Medicine;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items.MonsterJerky;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items.MultiTool;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items.Multimeter;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items.NetherGoldPan;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.items.PickaxeOfContainment;
|
||||
|
@ -3,12 +3,13 @@ package me.mrCookieSlime.Slimefun.api.energy;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import io.github.thebusybiscuit.cscorelib2.chat.ChatColors;
|
||||
|
||||
public final class ItemEnergy {
|
||||
|
||||
private ItemEnergy() {}
|
||||
@ -20,8 +21,8 @@ public final class ItemEnergy {
|
||||
if (!item.hasItemMeta() || !item.getItemMeta().hasLore()) return 0F;
|
||||
|
||||
for (String line : item.getItemMeta().getLore()) {
|
||||
if (line.startsWith(ChatColor.translateAlternateColorCodes('&', "&c&o&8\u21E8 &e\u26A1 &7")) && line.contains(" / ") && line.endsWith(" J")) {
|
||||
return Float.valueOf(line.split(" / ")[0].replace(ChatColor.translateAlternateColorCodes('&', "&c&o&8\u21E8 &e\u26A1 &7"), ""));
|
||||
if (line.startsWith(ChatColors.color("&c&o&8\u21E8 &e\u26A1 &7")) && line.contains(" / ") && line.endsWith(" J")) {
|
||||
return Float.valueOf(line.split(" / ")[0].replace(ChatColors.color("&c&o&8\u21E8 &e\u26A1 &7"), ""));
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,7 +34,7 @@ public final class ItemEnergy {
|
||||
if (!item.hasItemMeta() || !item.getItemMeta().hasLore()) return 0F;
|
||||
|
||||
for (String line: item.getItemMeta().getLore()) {
|
||||
if (line.startsWith(ChatColor.translateAlternateColorCodes('&', "&c&o&8\u21E8 &e\u26A1 &7")) && line.contains(" / ") && line.endsWith(" J")) {
|
||||
if (line.startsWith(ChatColors.color("&c&o&8\u21E8 &e\u26A1 &7")) && line.contains(" / ") && line.endsWith(" J")) {
|
||||
return Float.valueOf(line.split(" / ")[1].replace(" J", ""));
|
||||
}
|
||||
}
|
||||
@ -71,7 +72,7 @@ public final class ItemEnergy {
|
||||
for (int i = 0; i < lore.size(); i++) {
|
||||
String line = lore.get(i);
|
||||
|
||||
if (line.startsWith(ChatColor.translateAlternateColorCodes('&', "&c&o&8\u21E8 &e\u26A1 &7")) && line.contains(" / ") && line.endsWith(" J")) {
|
||||
if (line.startsWith(ChatColors.color("&c&o&8\u21E8 &e\u26A1 &7")) && line.contains(" / ") && line.endsWith(" J")) {
|
||||
index = i;
|
||||
break;
|
||||
}
|
||||
@ -79,7 +80,7 @@ public final class ItemEnergy {
|
||||
|
||||
BigDecimal decimal = BigDecimal.valueOf(stored).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
lore.set(index, ChatColor.translateAlternateColorCodes('&', "&c&o&8\u21E8 &e\u26A1 &7") + decimal.floatValue() + " / " + capacity + " J");
|
||||
lore.set(index, ChatColors.color("&c&o&8\u21E8 &e\u26A1 &7") + decimal.floatValue() + " / " + capacity + " J");
|
||||
|
||||
ItemMeta im = item.getItemMeta();
|
||||
im.setLore(lore);
|
||||
|
@ -104,7 +104,6 @@ public final class Utilities {
|
||||
public final Map<UUID, Boolean> jumpState = new HashMap<>();
|
||||
public final Set<UUID> damage = new HashSet<>();
|
||||
public final Map<UUID, Entity[]> remove = new HashMap<>();
|
||||
public final Map<UUID, Integer> mode = new HashMap<>();
|
||||
|
||||
public final Map<UUID, Integer> enchanting = new HashMap<>();
|
||||
public final Map<UUID, ItemStack> backpack = new HashMap<>();
|
||||
|
@ -29,6 +29,21 @@ guide:
|
||||
languages:
|
||||
updated: '&aYour language was successfully set to: &b%lang%'
|
||||
|
||||
title:
|
||||
main: 'Slimefun Guide'
|
||||
settings: 'Settings & Info'
|
||||
languages: 'Select your preferred language'
|
||||
credits: 'Slimefun4 Contributors'
|
||||
|
||||
credits:
|
||||
commit: 'Commit'
|
||||
commits: 'Commits'
|
||||
roles:
|
||||
developer: '&6Developer'
|
||||
wiki: '&3Wiki Editor'
|
||||
resourcepack: '&cResourcepack Artist'
|
||||
translator: '&9Translator'
|
||||
|
||||
messages:
|
||||
not-researched: '&4You do not have enough knowledge to understand this'
|
||||
not-enough-xp: '&4You do not have enough XP to unlock this'
|
||||
@ -49,6 +64,7 @@ messages:
|
||||
disabled-in-world: '&4&lThis Item has been disabled in this world'
|
||||
disabled-item: '&4&lThis Item has been disabled! How did you even get that?'
|
||||
no-tome-yourself: '&cYou cannot use the &4Tome of Knowledge &con yourself...'
|
||||
multimeter: '&bStored Energy: &3%stored% &b/ &3%capacity%'
|
||||
|
||||
talisman:
|
||||
anvil: '&a&oYour Talisman saved your tool from breaking'
|
||||
|
Loading…
Reference in New Issue
Block a user