mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
More Code Cleanup
This commit is contained in:
parent
09354e0be1
commit
1ec935b334
@ -9,7 +9,7 @@ import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.World.CustomSkull;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.LockedCategory;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SeasonCategory;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SeasonalCategory;
|
||||
|
||||
/**
|
||||
* Built-in categories.
|
||||
@ -40,10 +40,10 @@ public final class Categories {
|
||||
public static final Category TALISMANS_1 = new Category(new CustomItem(Material.EMERALD, "&7Talismans - &aTier I", "", "&a> Click to open"), 2);
|
||||
public static final LockedCategory TALISMANS_2 = new LockedCategory(new CustomItem(Material.EMERALD, "&7Talismans - &aTier II", "", "&a> Click to open"), 3, TALISMANS_1);
|
||||
public static final Category TOOLS = new Category(new CustomItem(Material.GOLDEN_PICKAXE, "&7Tools", "", "&a> Click to open"), 1);
|
||||
public static final SeasonCategory CHRISTMAS = new SeasonCategory(12, 1, new CustomItem(Material.NETHER_STAR, "&aC&ch&ar&ci&as&ct&am&ca&as", "", "&c> Click to help &aSanta"));
|
||||
public static final SeasonCategory VALENTINES_DAY = new SeasonCategory(2, 2, new CustomItem(Material.POPPY, "&dValentine's Day", "", "&d> Click to celebrate Love"));
|
||||
public static final SeasonCategory EASTER = new SeasonCategory(4, 2, new CustomItem(Material.EGG, "&6Easter", "", "&a> Click to paint some Eggs"));
|
||||
public static final SeasonCategory BIRTHDAY = new SeasonCategory(10, 1, new CustomItem(Material.FIREWORK_ROCKET, "&a&lTheBusyBiscuit's Birthday &7(26th October)", "", "&a> Click to celebrate with me"));
|
||||
public static final SeasonalCategory CHRISTMAS = new SeasonalCategory(12, 1, new CustomItem(Material.NETHER_STAR, "&aC&ch&ar&ci&as&ct&am&ca&as", "", "&c> Click to help &aSanta"));
|
||||
public static final SeasonalCategory VALENTINES_DAY = new SeasonalCategory(2, 2, new CustomItem(Material.POPPY, "&dValentine's Day", "", "&d> Click to celebrate Love"));
|
||||
public static final SeasonalCategory EASTER = new SeasonalCategory(4, 2, new CustomItem(Material.EGG, "&6Easter", "", "&a> Click to paint some Eggs"));
|
||||
public static final SeasonalCategory BIRTHDAY = new SeasonalCategory(10, 1, new CustomItem(Material.FIREWORK_ROCKET, "&a&lTheBusyBiscuit's Birthday &7(26th October)", "", "&a> Click to celebrate with me"));
|
||||
|
||||
private static ItemStack getSkull(String texture) {
|
||||
try {
|
||||
|
@ -20,7 +20,7 @@ import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
* @since 4.0
|
||||
*
|
||||
* @see LockedCategory
|
||||
* @see SeasonCategory
|
||||
* @see SeasonalCategory
|
||||
*/
|
||||
public class Category {
|
||||
/**
|
||||
@ -75,8 +75,8 @@ public class Category {
|
||||
list.add(this);
|
||||
Collections.sort(list, new CategorySorter());
|
||||
|
||||
if (this instanceof SeasonCategory) {
|
||||
if (((SeasonCategory) this).isUnlocked()) Slimefun.current_categories.add(this);
|
||||
if (this instanceof SeasonalCategory) {
|
||||
if (((SeasonalCategory) this).isUnlocked()) Slimefun.current_categories.add(this);
|
||||
}
|
||||
else Slimefun.current_categories.add(this);
|
||||
|
||||
|
@ -1,21 +0,0 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects;
|
||||
|
||||
public class Charge {
|
||||
|
||||
private double energy;
|
||||
private double capacity;
|
||||
|
||||
public Charge(double energy, double capacity) {
|
||||
this.energy = energy;
|
||||
this.capacity = capacity;
|
||||
}
|
||||
|
||||
public double getStoredEnergy() {
|
||||
return energy;
|
||||
}
|
||||
|
||||
public double getCapacity() {
|
||||
return capacity;
|
||||
}
|
||||
|
||||
}
|
@ -20,7 +20,7 @@ import org.bukkit.inventory.ItemStack;
|
||||
* @since 4.0
|
||||
*
|
||||
* @see Category
|
||||
* @see SeasonCategory
|
||||
* @see SeasonalCategory
|
||||
*/
|
||||
public class LockedCategory extends Category {
|
||||
|
||||
|
@ -16,7 +16,7 @@ import org.bukkit.inventory.ItemStack;
|
||||
* @see Category
|
||||
* @see LockedCategory
|
||||
*/
|
||||
public class SeasonCategory extends Category {
|
||||
public class SeasonalCategory extends Category {
|
||||
|
||||
private int month = -1;
|
||||
|
||||
@ -32,7 +32,7 @@ public class SeasonCategory extends Category {
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
public SeasonCategory(int month, int tier, ItemStack item) {
|
||||
public SeasonalCategory(int month, int tier, ItemStack item) {
|
||||
super(item, tier);
|
||||
this.month = month - 1;
|
||||
}
|
@ -19,6 +19,7 @@ import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.AContainer;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.MachineHelper;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.MachineRecipe;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.OreWasher;
|
||||
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
|
||||
import me.mrCookieSlime.Slimefun.api.BlockStorage;
|
||||
import me.mrCookieSlime.Slimefun.api.energy.ChargableBlock;
|
||||
|
@ -0,0 +1,100 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.Dispenser;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunStartup;
|
||||
import me.mrCookieSlime.Slimefun.Lists.Categories;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunMachine;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.MultiBlockInteractionHandler;
|
||||
import me.mrCookieSlime.Slimefun.Setup.Messages;
|
||||
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
|
||||
public class ArmorForge extends SlimefunMachine {
|
||||
|
||||
public ArmorForge() {
|
||||
super(
|
||||
Categories.MACHINES_1,
|
||||
SlimefunItems.ARMOR_FORGE,
|
||||
"ARMOR_FORGE",
|
||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.ANVIL), null, null, new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), null},
|
||||
new ItemStack[] {},
|
||||
Material.ANVIL
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register() {
|
||||
register(true, onInteract());
|
||||
}
|
||||
|
||||
private MultiBlockInteractionHandler onInteract() {
|
||||
return (p, mb, b) -> {
|
||||
if (mb.isMultiBlock(this)) {
|
||||
if (!isDisabled() && CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.DOWN);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
||||
List<ItemStack[]> inputs = RecipeType.getRecipeInputList(this);
|
||||
|
||||
for (int i = 0; i < inputs.size(); i++) {
|
||||
boolean craft = true;
|
||||
for (int j = 0; j < inv.getContents().length; j++) {
|
||||
if (!SlimefunManager.isItemSimiliar(inv.getContents()[j], inputs.get(i)[j], true)) {
|
||||
craft = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (craft) {
|
||||
final ItemStack adding = RecipeType.getRecipeOutputList(this, inputs.get(i)).clone();
|
||||
if (Slimefun.hasUnlocked(p, adding, true)) {
|
||||
Inventory outputInv = SlimefunMachine.findValidOutputInv(adding, dispBlock, inv);
|
||||
if (outputInv != null) {
|
||||
for (ItemStack removing: inputs.get(i)) {
|
||||
if (removing != null) inv.removeItem(removing);
|
||||
}
|
||||
|
||||
for (int j = 0; j < 4; j++) {
|
||||
int current = j;
|
||||
Bukkit.getScheduler().runTaskLater(SlimefunStartup.instance, () -> {
|
||||
if (current < 3) {
|
||||
p.getWorld().playSound(p.getLocation(), Sound.BLOCK_ANVIL_USE, 1F, 2F);
|
||||
}
|
||||
else {
|
||||
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 1F, 1F);
|
||||
outputInv.addItem(adding);
|
||||
}
|
||||
}, j*20L);
|
||||
}
|
||||
}
|
||||
else Messages.local.sendTranslation(p, "machines.full-inventory", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Messages.local.sendTranslation(p, "machines.pattern-not-found", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,87 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.Dispenser;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunStartup;
|
||||
import me.mrCookieSlime.Slimefun.Lists.Categories;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunMachine;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.MultiBlockInteractionHandler;
|
||||
import me.mrCookieSlime.Slimefun.Setup.Messages;
|
||||
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
|
||||
public class Compressor extends SlimefunMachine {
|
||||
|
||||
public Compressor() {
|
||||
super(
|
||||
Categories.MACHINES_1,
|
||||
SlimefunItems.COMPRESSOR,
|
||||
"COMPRESSOR",
|
||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.NETHER_BRICK_FENCE), null, new ItemStack(Material.PISTON), new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), new ItemStack(Material.PISTON)},
|
||||
new ItemStack[] {new ItemStack(Material.COAL, 8), SlimefunItems.CARBON, new CustomItem(SlimefunItems.STEEL_INGOT, 8), SlimefunItems.STEEL_PLATE, new CustomItem(SlimefunItems.CARBON, 4), SlimefunItems.COMPRESSED_CARBON, new CustomItem(SlimefunItems.STONE_CHUNK, 4), new ItemStack(Material.COBBLESTONE), new CustomItem(SlimefunItems.REINFORCED_ALLOY_INGOT, 8), SlimefunItems.REINFORCED_PLATE},
|
||||
Material.NETHER_BRICK_FENCE
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register() {
|
||||
register(true, onInteract());
|
||||
}
|
||||
|
||||
private MultiBlockInteractionHandler onInteract() {
|
||||
return (p, mb, b) -> {
|
||||
if (mb.isMultiBlock(this)) {
|
||||
if (!isDisabled() && CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.DOWN);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
||||
for (ItemStack current: inv.getContents()) {
|
||||
for (ItemStack convert: RecipeType.getRecipeInputs(this)) {
|
||||
if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) {
|
||||
final ItemStack adding = RecipeType.getRecipeOutput(this, convert);
|
||||
Inventory outputInv = SlimefunMachine.findValidOutputInv(adding, dispBlock, inv);
|
||||
if (outputInv != null) {
|
||||
ItemStack removing = current.clone();
|
||||
removing.setAmount(convert.getAmount());
|
||||
inv.removeItem(removing);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int j = i;
|
||||
|
||||
Bukkit.getScheduler().runTaskLater(SlimefunStartup.instance, () -> {
|
||||
if (j < 3) {
|
||||
p.getWorld().playSound(p.getLocation(), j == 1 ? Sound.BLOCK_PISTON_CONTRACT : Sound.BLOCK_PISTON_EXTEND, 1F, j == 0 ? 1F : 2F);
|
||||
}
|
||||
else {
|
||||
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 1F, 1F);
|
||||
outputInv.addItem(adding);
|
||||
}
|
||||
}, i*20L);
|
||||
}
|
||||
}
|
||||
else Messages.local.sendTranslation(p, "machines.full-inventory", true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Messages.local.sendTranslation(p, "machines.unknown-material", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines;
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
@ -49,7 +49,7 @@ public class EnhancedCraftingTable extends SlimefunMachine {
|
||||
private MultiBlockInteractionHandler onInteract() {
|
||||
return (p, mb, b) -> {
|
||||
if (mb.isMultiBlock(this)) {
|
||||
if (CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
if (!isDisabled() && CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
// Objects dispBlock and disp have been split up, in order to add the output chest functionallity, which is the only functionallity
|
||||
// that is dependant on the dispenser's block methods.
|
||||
// the Dispenser disp still remains the same though, and as such doesn't break any existing code which involves said object.
|
@ -0,0 +1,79 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.Dispenser;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
|
||||
import me.mrCookieSlime.Slimefun.Lists.Categories;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunMachine;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.MultiBlockInteractionHandler;
|
||||
import me.mrCookieSlime.Slimefun.Setup.Messages;
|
||||
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
|
||||
public class GrindStone extends SlimefunMachine {
|
||||
|
||||
public GrindStone() {
|
||||
super(
|
||||
Categories.MACHINES_1,
|
||||
SlimefunItems.GRIND_STONE,
|
||||
"GRIND_STONE",
|
||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.OAK_FENCE), null, null, new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), null},
|
||||
new ItemStack[] {new ItemStack(Material.BLAZE_ROD), new ItemStack(Material.BLAZE_POWDER, 4), new ItemStack(Material.BONE), new ItemStack(Material.BONE_MEAL, 4), new ItemStack(Material.GRAVEL), new ItemStack(Material.FLINT), new ItemStack(Material.NETHER_WART), new CustomItem(SlimefunItems.MAGIC_LUMP_1, 2), new ItemStack(Material.ENDER_EYE), new CustomItem(SlimefunItems.ENDER_LUMP_1, 2), new ItemStack(Material.COBBLESTONE), new ItemStack(Material.GRAVEL), new ItemStack(Material.WHEAT), SlimefunItems.WHEAT_FLOUR, new ItemStack(Material.DIRT), SlimefunItems.STONE_CHUNK, new ItemStack(Material.SANDSTONE), new ItemStack(Material.SAND, 4), new ItemStack(Material.RED_SANDSTONE), new ItemStack(Material.RED_SAND, 4)},
|
||||
Material.OAK_FENCE
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register() {
|
||||
register(true, onInteract());
|
||||
}
|
||||
|
||||
private MultiBlockInteractionHandler onInteract() {
|
||||
return (p, mb, b) -> {
|
||||
if (mb.isMultiBlock(this)) {
|
||||
if (!isDisabled() && CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.DOWN);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
||||
|
||||
for (ItemStack current: inv.getContents()) {
|
||||
for (ItemStack convert: RecipeType.getRecipeInputs(this)) {
|
||||
if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) {
|
||||
ItemStack output = RecipeType.getRecipeOutput(this, convert);
|
||||
Inventory outputInv = SlimefunMachine.findValidOutputInv(output, dispBlock, inv);
|
||||
|
||||
if (outputInv != null) {
|
||||
ItemStack removing = current.clone();
|
||||
removing.setAmount(1);
|
||||
inv.removeItem(removing);
|
||||
outputInv.addItem(output);
|
||||
p.getWorld().playSound(p.getLocation(), Sound.BLOCK_WOODEN_BUTTON_CLICK_ON, 1, 1);
|
||||
}
|
||||
else {
|
||||
Messages.local.sendTranslation(p, "machines.full-inventory", true);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Messages.local.sendTranslation(p, "machines.unknown-material", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines;
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
@ -50,7 +50,7 @@ public class MagicWorkbench extends SlimefunMachine {
|
||||
private MultiBlockInteractionHandler onInteract() {
|
||||
return (p, mb, b) -> {
|
||||
if (mb.isMultiBlock(this)) {
|
||||
if (CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
if (!isDisabled() && CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
Block dispBlock = null;
|
||||
|
||||
// Maybe this could be implemented by instead looping over a BlockFace<> array?
|
@ -0,0 +1,74 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
||||
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.Dispenser;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
|
||||
import me.mrCookieSlime.Slimefun.Lists.Categories;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunMachine;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.MultiBlockInteractionHandler;
|
||||
import me.mrCookieSlime.Slimefun.Setup.Messages;
|
||||
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
|
||||
public class OreCrusher extends SlimefunMachine {
|
||||
|
||||
public OreCrusher() {
|
||||
super(
|
||||
Categories.MACHINES_1,
|
||||
SlimefunItems.ORE_CRUSHER,
|
||||
"ORE_CRUSHER",
|
||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.NETHER_BRICK_FENCE), null, new ItemStack(Material.IRON_BARS), new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), new ItemStack(Material.IRON_BARS)},
|
||||
new ItemStack[] {new ItemStack(Material.IRON_ORE), new CustomItem(SlimefunItems.IRON_DUST, (Boolean) Slimefun.getItemValue("ORE_CRUSHER", "double-ores") ? 2: 1), new ItemStack(Material.GOLD_ORE), new CustomItem(SlimefunItems.GOLD_DUST, (Boolean) Slimefun.getItemValue("ORE_CRUSHER", "double-ores") ? 2: 1), new ItemStack(Material.NETHERRACK, 16), SlimefunItems.SULFATE, SlimefunItems.SIFTED_ORE, SlimefunItems.CRUSHED_ORE, SlimefunItems.CRUSHED_ORE, SlimefunItems.PULVERIZED_ORE, SlimefunItems.PURE_ORE_CLUSTER, SlimefunItems.TINY_URANIUM, new ItemStack(Material.COBBLESTONE, 8), new ItemStack(Material.SAND, 1), new ItemStack(Material.GOLD_INGOT), SlimefunItems.GOLD_DUST, SlimefunItems.GOLD_4K, SlimefunItems.GOLD_DUST},
|
||||
Material.NETHER_BRICK_FENCE
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register() {
|
||||
register(true, onInteract());
|
||||
}
|
||||
|
||||
private MultiBlockInteractionHandler onInteract() {
|
||||
return (p, mb, b) -> {
|
||||
if (mb.isMultiBlock(this)) {
|
||||
if (!isDisabled() && CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.DOWN);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
||||
for (ItemStack current: inv.getContents()) {
|
||||
for (ItemStack convert: RecipeType.getRecipeInputs(this)) {
|
||||
if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) {
|
||||
ItemStack adding = RecipeType.getRecipeOutput(this, convert);
|
||||
Inventory outputInv = SlimefunMachine.findValidOutputInv(adding, dispBlock, inv);
|
||||
if (outputInv != null) {
|
||||
ItemStack removing = current.clone();
|
||||
removing.setAmount(convert.getAmount());
|
||||
inv.removeItem(removing);
|
||||
outputInv.addItem(adding);
|
||||
p.getWorld().playEffect(b.getLocation(), Effect.STEP_SOUND, 1);
|
||||
}
|
||||
else Messages.local.sendTranslation(p, "machines.full-inventory", true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Messages.local.sendTranslation(p, "machines.unknown-material", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines;
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ -45,7 +45,7 @@ public class OreWasher extends SlimefunMachine {
|
||||
private MultiBlockInteractionHandler onInteract() {
|
||||
return (p, mb, b) -> {
|
||||
if (mb.isMultiBlock(this)) {
|
||||
if (CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
if (!isDisabled() && CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.UP);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
@ -1,4 +1,4 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines;
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
@ -50,7 +50,7 @@ public class Smeltery extends SlimefunMachine {
|
||||
private MultiBlockInteractionHandler onInteract() {
|
||||
return (p, mb, b) -> {
|
||||
if (mb.isMultiBlock(this)) {
|
||||
if (CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
if (!isDisabled() && CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.DOWN);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
@ -125,7 +125,6 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.ElectricIngotFact
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.ElectricSmeltery;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.ElectrifiedCrucible;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.EnergyRegulator;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.EnhancedCraftingTable;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.FluidPump;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.FoodComposter;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.FoodFabricator;
|
||||
@ -133,16 +132,21 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.Freezer;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.HeatedPressureChamber;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.HologramProjector;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.InfusedHopper;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.MagicWorkbench;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.NetherDrill;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.OilPump;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.OreWasher;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.ReactorAccessPort;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.Refinery;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.Smeltery;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.TrashCan;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.WitherAssembler;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.XPCollector;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.ArmorForge;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.Compressor;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.EnhancedCraftingTable;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.GrindStone;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.MagicWorkbench;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.OreCrusher;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.OreWasher;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.Smeltery;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.AutonomousMachineHandler;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockBreakHandler;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockPlaceHandler;
|
||||
@ -256,197 +260,10 @@ public final class SlimefunSetup {
|
||||
new ItemStack[] {SlimefunItems.SALT, new ItemStack(Material.COOKED_BEEF), null, null, null, null, null, null, null}, new String[] {"Saturation"}, new Integer[] {20})
|
||||
.register(true);
|
||||
|
||||
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.GRIND_STONE, "GRIND_STONE",
|
||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.OAK_FENCE), null, null, new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), null},
|
||||
new ItemStack[] {new ItemStack(Material.BLAZE_ROD), new ItemStack(Material.BLAZE_POWDER, 4), new ItemStack(Material.BONE), new ItemStack(Material.BONE_MEAL, 4), new ItemStack(Material.GRAVEL), new ItemStack(Material.FLINT), new ItemStack(Material.NETHER_WART), new CustomItem(SlimefunItems.MAGIC_LUMP_1, 2), new ItemStack(Material.ENDER_EYE), new CustomItem(SlimefunItems.ENDER_LUMP_1, 2), new ItemStack(Material.COBBLESTONE), new ItemStack(Material.GRAVEL), new ItemStack(Material.WHEAT), SlimefunItems.WHEAT_FLOUR, new ItemStack(Material.DIRT), SlimefunItems.STONE_CHUNK, new ItemStack(Material.SANDSTONE), new ItemStack(Material.SAND, 4), new ItemStack(Material.RED_SANDSTONE), new ItemStack(Material.RED_SAND, 4)},
|
||||
Material.OAK_FENCE)
|
||||
.register(true, new MultiBlockInteractionHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onInteract(Player p, MultiBlock mb, Block b) {
|
||||
|
||||
SlimefunMachine machine = (SlimefunMachine) SlimefunItem.getByID("GRIND_STONE");
|
||||
|
||||
if (mb.isMultiBlock(machine)) {
|
||||
if (CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, machine.getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.DOWN);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
||||
for (ItemStack current: inv.getContents()) {
|
||||
for (ItemStack convert: RecipeType.getRecipeInputs(machine)) {
|
||||
if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) {
|
||||
ItemStack output = RecipeType.getRecipeOutput(machine, convert);
|
||||
Inventory outputInv = SlimefunMachine.findValidOutputInv(output, dispBlock, inv);
|
||||
if (outputInv != null) {
|
||||
ItemStack removing = current.clone();
|
||||
removing.setAmount(1);
|
||||
inv.removeItem(removing);
|
||||
outputInv.addItem(output);
|
||||
p.getWorld().playSound(p.getLocation(), Sound.BLOCK_WOODEN_BUTTON_CLICK_ON, 1, 1);
|
||||
}
|
||||
else Messages.local.sendTranslation(p, "machines.full-inventory", true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Messages.local.sendTranslation(p, "machines.unknown-material", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
});
|
||||
|
||||
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.ARMOR_FORGE, "ARMOR_FORGE",
|
||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.ANVIL), null, null, new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), null},
|
||||
new ItemStack[] {},
|
||||
Material.ANVIL)
|
||||
.register(true, new MultiBlockInteractionHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onInteract(final Player p, MultiBlock mb, Block b) {
|
||||
|
||||
SlimefunMachine machine = (SlimefunMachine) SlimefunItem.getByID("ARMOR_FORGE");
|
||||
|
||||
if (mb.isMultiBlock(machine)) {
|
||||
if (CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, machine.getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.DOWN);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
||||
List<ItemStack[]> inputs = RecipeType.getRecipeInputList(machine);
|
||||
|
||||
for (int i = 0; i < inputs.size(); i++) {
|
||||
boolean craft = true;
|
||||
for (int j = 0; j < inv.getContents().length; j++) {
|
||||
if (!SlimefunManager.isItemSimiliar(inv.getContents()[j], inputs.get(i)[j], true)) {
|
||||
craft = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (craft) {
|
||||
final ItemStack adding = RecipeType.getRecipeOutputList(machine, inputs.get(i)).clone();
|
||||
if (Slimefun.hasUnlocked(p, adding, true)) {
|
||||
Inventory outputInv = SlimefunMachine.findValidOutputInv(adding, dispBlock, inv);
|
||||
if (outputInv != null) {
|
||||
for (ItemStack removing: inputs.get(i)) {
|
||||
if (removing != null) inv.removeItem(removing);
|
||||
}
|
||||
for (int j = 0; j < 4; j++) {
|
||||
int current = j;
|
||||
Bukkit.getScheduler().runTaskLater(SlimefunStartup.instance, () -> {
|
||||
if (current < 3) {
|
||||
p.getWorld().playSound(p.getLocation(), Sound.BLOCK_ANVIL_USE, 1F, 2F);
|
||||
} else {
|
||||
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 1F, 1F);
|
||||
outputInv.addItem(adding);
|
||||
}
|
||||
}, j*20L);
|
||||
}
|
||||
}
|
||||
else Messages.local.sendTranslation(p, "machines.full-inventory", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Messages.local.sendTranslation(p, "machines.pattern-not-found", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
});
|
||||
|
||||
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.ORE_CRUSHER, "ORE_CRUSHER",
|
||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.NETHER_BRICK_FENCE), null, new ItemStack(Material.IRON_BARS), new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), new ItemStack(Material.IRON_BARS)},
|
||||
new ItemStack[] {new ItemStack(Material.IRON_ORE), new CustomItem(SlimefunItems.IRON_DUST, (Boolean) Slimefun.getItemValue("ORE_CRUSHER", "double-ores") ? 2: 1), new ItemStack(Material.GOLD_ORE), new CustomItem(SlimefunItems.GOLD_DUST, (Boolean) Slimefun.getItemValue("ORE_CRUSHER", "double-ores") ? 2: 1), new ItemStack(Material.NETHERRACK, 16), SlimefunItems.SULFATE, SlimefunItems.SIFTED_ORE, SlimefunItems.CRUSHED_ORE, SlimefunItems.CRUSHED_ORE, SlimefunItems.PULVERIZED_ORE, SlimefunItems.PURE_ORE_CLUSTER, SlimefunItems.TINY_URANIUM, new ItemStack(Material.COBBLESTONE, 8), new ItemStack(Material.SAND, 1), new ItemStack(Material.GOLD_INGOT), SlimefunItems.GOLD_DUST, SlimefunItems.GOLD_4K, SlimefunItems.GOLD_DUST},
|
||||
Material.NETHER_BRICK_FENCE)
|
||||
.register(true, new MultiBlockInteractionHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onInteract(Player p, MultiBlock mb, Block b) {
|
||||
|
||||
SlimefunMachine machine = (SlimefunMachine) SlimefunItem.getByID("ORE_CRUSHER");
|
||||
|
||||
if (mb.isMultiBlock(machine)) {
|
||||
if (CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, machine.getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.DOWN);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
||||
for (ItemStack current: inv.getContents()) {
|
||||
for (ItemStack convert: RecipeType.getRecipeInputs(machine)) {
|
||||
if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) {
|
||||
ItemStack adding = RecipeType.getRecipeOutput(machine, convert);
|
||||
Inventory outputInv = SlimefunMachine.findValidOutputInv(adding, dispBlock, inv);
|
||||
if (outputInv != null) {
|
||||
ItemStack removing = current.clone();
|
||||
removing.setAmount(convert.getAmount());
|
||||
inv.removeItem(removing);
|
||||
outputInv.addItem(adding);
|
||||
p.getWorld().playEffect(b.getLocation(), Effect.STEP_SOUND, 1);
|
||||
}
|
||||
else Messages.local.sendTranslation(p, "machines.full-inventory", true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Messages.local.sendTranslation(p, "machines.unknown-material", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
});
|
||||
|
||||
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.COMPRESSOR, "COMPRESSOR",
|
||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.NETHER_BRICK_FENCE), null, new ItemStack(Material.PISTON), new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), new ItemStack(Material.PISTON)},
|
||||
new ItemStack[] {new ItemStack(Material.COAL, 8), SlimefunItems.CARBON, new CustomItem(SlimefunItems.STEEL_INGOT, 8), SlimefunItems.STEEL_PLATE, new CustomItem(SlimefunItems.CARBON, 4), SlimefunItems.COMPRESSED_CARBON, new CustomItem(SlimefunItems.STONE_CHUNK, 4), new ItemStack(Material.COBBLESTONE), new CustomItem(SlimefunItems.REINFORCED_ALLOY_INGOT, 8), SlimefunItems.REINFORCED_PLATE},
|
||||
Material.NETHER_BRICK_FENCE)
|
||||
.register(true, new MultiBlockInteractionHandler() {
|
||||
|
||||
@Override
|
||||
public boolean onInteract(final Player p, MultiBlock mb, Block b) {
|
||||
|
||||
SlimefunMachine machine = (SlimefunMachine) SlimefunItem.getByID("COMPRESSOR");
|
||||
|
||||
if (mb.isMultiBlock(machine)) {
|
||||
if (CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(), b, true) && Slimefun.hasUnlocked(p, machine.getItem(), true)) {
|
||||
Block dispBlock = b.getRelative(BlockFace.DOWN);
|
||||
Dispenser disp = (Dispenser) dispBlock.getState();
|
||||
Inventory inv = disp.getInventory();
|
||||
for (ItemStack current: inv.getContents()) {
|
||||
for (ItemStack convert: RecipeType.getRecipeInputs(machine)) {
|
||||
if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) {
|
||||
final ItemStack adding = RecipeType.getRecipeOutput(machine, convert);
|
||||
Inventory outputInv = SlimefunMachine.findValidOutputInv(adding, dispBlock, inv);
|
||||
if (outputInv != null) {
|
||||
ItemStack removing = current.clone();
|
||||
removing.setAmount(convert.getAmount());
|
||||
inv.removeItem(removing);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int j = i;
|
||||
Bukkit.getScheduler().runTaskLater(SlimefunStartup.instance, () -> {
|
||||
if (j < 3) {
|
||||
p.getWorld().playSound(p.getLocation(), j == 1 ? Sound.BLOCK_PISTON_CONTRACT : Sound.BLOCK_PISTON_EXTEND, 1F, j == 0 ? 1F : 2F);
|
||||
} else {
|
||||
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 1F, 1F);
|
||||
outputInv.addItem(adding);
|
||||
}
|
||||
}, i*20L);
|
||||
}
|
||||
}
|
||||
else Messages.local.sendTranslation(p, "machines.full-inventory", true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Messages.local.sendTranslation(p, "machines.unknown-material", true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
});
|
||||
new GrindStone().register(true);
|
||||
new ArmorForge().register(true);
|
||||
new OreCrusher().register(true);
|
||||
new Compressor().register(true);
|
||||
|
||||
new SlimefunItem(Categories.LUMPS_AND_MAGIC, SlimefunItems.MAGIC_LUMP_1, "MAGIC_LUMP_1", RecipeType.GRIND_STONE,
|
||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.NETHER_WART), null, null, null, null}, new CustomItem(SlimefunItems.MAGIC_LUMP_1, 2))
|
||||
|
@ -37,7 +37,7 @@ import me.mrCookieSlime.Slimefun.Misc.BookDesign;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.LockedCategory;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Research;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SeasonCategory;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SeasonalCategory;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunGadget;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunMachine;
|
||||
@ -345,8 +345,8 @@ public final class SlimefunGuide {
|
||||
tooltips.add(parents.toString());
|
||||
actions.add(null);
|
||||
}
|
||||
else if (category instanceof SeasonCategory) {
|
||||
if (((SeasonCategory) category).isUnlocked()) {
|
||||
else if (category instanceof SeasonalCategory) {
|
||||
if (((SeasonalCategory) category).isUnlocked()) {
|
||||
texts.add(ChatColor.translateAlternateColorCodes('&', shorten("&a", StringUtils.formatItemName(category.getItem(), false))));
|
||||
tooltips.add(ChatColor.translateAlternateColorCodes('&', "&eClick to open the following Category:\n" + StringUtils.formatItemName(category.getItem(), false)));
|
||||
actions.add(new PlayerRunnable(1) {
|
||||
@ -466,7 +466,7 @@ public final class SlimefunGuide {
|
||||
// Dont display that Category...
|
||||
}
|
||||
else if (!(category instanceof LockedCategory)) {
|
||||
if (!(category instanceof SeasonCategory)) {
|
||||
if (!(category instanceof SeasonalCategory)) {
|
||||
menu.addItem(index, category.getItem());
|
||||
menu.addMenuClickHandler(index, (pl, slot, item, action) -> {
|
||||
openCategory(pl, category, survival, 1, book);
|
||||
@ -475,7 +475,7 @@ public final class SlimefunGuide {
|
||||
index++;
|
||||
}
|
||||
else {
|
||||
if (((SeasonCategory) category).isUnlocked()) {
|
||||
if (((SeasonalCategory) category).isUnlocked()) {
|
||||
menu.addItem(index, category.getItem());
|
||||
menu.addMenuClickHandler(index, (pl, slot, item, action) -> {
|
||||
openCategory(pl, category, survival, 1, book);
|
||||
|
@ -27,7 +27,7 @@ import me.mrCookieSlime.Slimefun.Objects.Research;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunArmorPiece;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.AContainer;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.OreWasher;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.OreWasher;
|
||||
import me.mrCookieSlime.Slimefun.Setup.CSCoreLibLoader;
|
||||
import me.mrCookieSlime.Slimefun.Setup.Files;
|
||||
import me.mrCookieSlime.Slimefun.Setup.Messages;
|
||||
|
Loading…
Reference in New Issue
Block a user