1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Did the requested changes.

This commit is contained in:
ajan-12 2019-09-05 15:02:26 +03:00
parent 7501dc9afb
commit a98517f8cc
4 changed files with 15 additions and 18 deletions

View File

@ -26,6 +26,7 @@ import java.util.Collection;
import java.util.List;
public class SoulboundRune extends SimpleSlimefunItem<ItemDropHandler> {
private Research research = null;
public SoulboundRune(Category category, ItemStack item, String id, RecipeType type, ItemStack[] recipe) {
super(category, item, id, type, recipe);
@ -35,12 +36,8 @@ public class SoulboundRune extends SimpleSlimefunItem<ItemDropHandler> {
public ItemDropHandler getItemHandler() {
return (e, p, i) -> {
ItemStack item = i.getItemStack();
// We are using a boolean array because we will change the boolean's value inside a lambda
// but you can't access non-final variables from outside the lambda inside the lambda.
final boolean[] boo = {false};
if (SlimefunManager.isItemSimiliar(item, SlimefunItems.RUNE_SOULBOUND, true)) {
if (!PlayerProfile.fromUUID(p.getUniqueId()).hasUnlocked(Research.getByID(246))) {
if (!PlayerProfile.fromUUID(p.getUniqueId()).hasUnlocked(research)) {
Messages.local.sendTranslation(p, "messages.not-researched", true);
return true;
}
@ -61,10 +58,7 @@ public class SoulboundRune extends SimpleSlimefunItem<ItemDropHandler> {
// We do not use streams for foreach loops as they are more resource consuming.
for (Entity entity: entites) {
ItemStack dropped = ((Item) entity).getItemStack();
if (SlimefunManager.isItemSoulbound(dropped)) {
boo[0] = false;
return;
}
if (SlimefunManager.isItemSoulbound(dropped)) return;
ench = ((Item) entity).getItemStack();
ent = (Item) entity;
break;
@ -104,15 +98,20 @@ public class SoulboundRune extends SimpleSlimefunItem<ItemDropHandler> {
l.getWorld().dropItemNaturally(l, finalEnch);
Messages.local.sendTranslation(p, "messages.soulbound-rune.success", true);
boo[0] = true;
}
}, 10L);
} else {
Messages.local.sendTranslation(p, "messages.soulbound-rune.fail", true);
}
}, 20L);
return true;
}
return boo[0];
return false;
};
}
@Override
public void postRegister() {
research = Research.getByID(246);
}
}

View File

@ -56,8 +56,8 @@ public final class Messages {
local.setDefault("messages.talisman.knight", "&a&oYour Talisman gave you 5 Seconds of Regeneration");
local.setDefault("messages.talisman.whirlwind", "&a&oYour Talisman reflected the Projectile");
local.setDefault("messages.talisman.wizard", "&a&oYour Talisman has given you a better Fortune Level but maybe also lowered some other Enchantment Levels");
local.setDefault("messages.soulbound-rune.fail", "&cYou can only enchant 1 item with soulbound at a time.");
local.setDefault("messages.soulbound-rune.success", "&aSuccessfully soulbound enchanted this item.");
local.setDefault("messages.soulbound-rune.fail", "&cYou can only bind one item to your soul at a time.");
local.setDefault("messages.soulbound-rune.success", "&aYou have successfully bound this item to your soul! You will keep it when you die.");
local.setDefault("messages.broken-leg", "&c&oSeems like you broke your Leg, maybe a Splint could help?");
local.setDefault("messages.fixed-leg", "&a&oThe Splint helps. It feels better now.");
local.setDefault("messages.start-bleeding", "&c&oYou started to bleed. Maybe a Bandage could help?");

View File

@ -129,12 +129,10 @@ public final class SlimefunManager {
StringBuilder string2 = new StringBuilder();
String colors = ChatColor.YELLOW.toString() + ChatColor.YELLOW.toString() + ChatColor.GRAY.toString();
for (String string: lore) {
if (string.equals(ChatColor.GRAY + "Soulbound")) continue;
if (!string.startsWith(colors)) string1.append("-NEW LINE-").append(string);
if (!string.equals(ChatColor.GRAY + "Soulbound") && !string.startsWith(colors)) string1.append("-NEW LINE-").append(string);
}
for (String string: lore2) {
if (string.equals(ChatColor.GRAY + "Soulbound")) continue;
if (!string.startsWith(colors)) string2.append("-NEW LINE-").append(string);
if (!string.equals(ChatColor.GRAY + "Soulbound") && !string.startsWith(colors)) string2.append("-NEW LINE-").append(string);
}
return string1.toString().equals(string2.toString());
}

View File

@ -2894,7 +2894,7 @@ public final class SlimefunSetup {
.register(true);
new SoulboundRune(Categories.LUMPS_AND_MAGIC, SlimefunItems.RUNE_SOULBOUND, "ANCIENT_RUNE_SOULBOUND", RecipeType.ANCIENT_ALTAR,
new ItemStack[] {SlimefunItems.MAGIC_LUMP_3, SlimefunItems.ESSENCE_OF_AFTERLIFE, SlimefunItems.MAGIC_LUMP_3, new ItemStack(Material.ENDER_PEARL), SlimefunItems.RUNE_ENDER, new ItemStack(Material.ENDER_PEARL), SlimefunItems.MAGIC_LUMP_3, SlimefunItems.ESSENCE_OF_AFTERLIFE, SlimefunItems.MAGIC_LUMP_3})
new ItemStack[] {SlimefunItems.MAGIC_LUMP_3, SlimefunItems.ESSENCE_OF_AFTERLIFE, SlimefunItems.MAGIC_LUMP_3, SlimefunItems.ENDER_LUMP_3, SlimefunItems.RUNE_ENDER, SlimefunItems.ENDER_LUMP_3, SlimefunItems.MAGIC_LUMP_3, SlimefunItems.ESSENCE_OF_AFTERLIFE, SlimefunItems.MAGIC_LUMP_3})
.register(true);
new InfernalBonemeal(Categories.MAGIC, SlimefunItems.INFERNAL_BONEMEAL, "INFERNAL_BONEMEAL", RecipeType.ANCIENT_ALTAR,