mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Multiblock constructor refactor
This commit is contained in:
parent
3a4a1ac96e
commit
2e340be7ff
@ -6,6 +6,7 @@ import java.util.Iterator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||||
@ -16,11 +17,11 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.interfaces.RecipeDisplayIt
|
|||||||
public class SlimefunMachine extends SlimefunItem implements RecipeDisplayItem {
|
public class SlimefunMachine extends SlimefunItem implements RecipeDisplayItem {
|
||||||
|
|
||||||
private List<ItemStack[]> recipes;
|
private List<ItemStack[]> recipes;
|
||||||
private Material trigger;
|
private BlockFace trigger;
|
||||||
|
|
||||||
protected List<ItemStack> shownRecipes;
|
protected List<ItemStack> shownRecipes;
|
||||||
|
|
||||||
public SlimefunMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, Material trigger) {
|
public SlimefunMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, BlockFace trigger) {
|
||||||
super(category, item, id, RecipeType.MULTIBLOCK, recipe);
|
super(category, item, id, RecipeType.MULTIBLOCK, recipe);
|
||||||
this.recipes = new ArrayList<>();
|
this.recipes = new ArrayList<>();
|
||||||
this.shownRecipes = new ArrayList<>();
|
this.shownRecipes = new ArrayList<>();
|
||||||
@ -28,7 +29,7 @@ public class SlimefunMachine extends SlimefunItem implements RecipeDisplayItem {
|
|||||||
this.trigger = trigger;
|
this.trigger = trigger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SlimefunMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, Material trigger, boolean ghost) {
|
public SlimefunMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, BlockFace trigger, boolean ghost) {
|
||||||
super(category, item, id, RecipeType.MULTIBLOCK, recipe, ghost);
|
super(category, item, id, RecipeType.MULTIBLOCK, recipe, ghost);
|
||||||
this.recipes = new ArrayList<>();
|
this.recipes = new ArrayList<>();
|
||||||
this.shownRecipes = new ArrayList<>();
|
this.shownRecipes = new ArrayList<>();
|
||||||
@ -36,7 +37,7 @@ public class SlimefunMachine extends SlimefunItem implements RecipeDisplayItem {
|
|||||||
this.trigger = trigger;
|
this.trigger = trigger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SlimefunMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, Material trigger, String[] keys, Object[] values) {
|
public SlimefunMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, BlockFace trigger, String[] keys, Object[] values) {
|
||||||
super(category, item, id, RecipeType.MULTIBLOCK, recipe, keys, values);
|
super(category, item, id, RecipeType.MULTIBLOCK, recipe, keys, values);
|
||||||
this.recipes = new ArrayList<>();
|
this.recipes = new ArrayList<>();
|
||||||
this.shownRecipes = new ArrayList<>();
|
this.shownRecipes = new ArrayList<>();
|
||||||
|
@ -29,7 +29,7 @@ public class ArmorForge extends MultiBlockMachine {
|
|||||||
"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[] {null, null, null, null, new ItemStack(Material.ANVIL), null, null, new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), null},
|
||||||
new ItemStack[0],
|
new ItemStack[0],
|
||||||
Material.ANVIL
|
BlockFace.SELF
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ public class AutomatedPanningMachine extends MultiBlockMachine {
|
|||||||
new ItemStack(Material.GRAVEL), new ItemStack(Material.CLAY_BALL),
|
new ItemStack(Material.GRAVEL), new ItemStack(Material.CLAY_BALL),
|
||||||
new ItemStack(Material.GRAVEL), SlimefunItems.SIFTED_ORE
|
new ItemStack(Material.GRAVEL), SlimefunItems.SIFTED_ORE
|
||||||
},
|
},
|
||||||
Material.OAK_TRAPDOOR
|
BlockFace.SELF
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ public class Compressor extends MultiBlockMachine {
|
|||||||
new CustomItem(SlimefunItems.STONE_CHUNK, 4), new ItemStack(Material.COBBLESTONE),
|
new CustomItem(SlimefunItems.STONE_CHUNK, 4), new ItemStack(Material.COBBLESTONE),
|
||||||
new CustomItem(SlimefunItems.REINFORCED_ALLOY_INGOT, 8), SlimefunItems.REINFORCED_PLATE
|
new CustomItem(SlimefunItems.REINFORCED_ALLOY_INGOT, 8), SlimefunItems.REINFORCED_PLATE
|
||||||
},
|
},
|
||||||
Material.NETHER_BRICK_FENCE
|
BlockFace.SELF
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ public class EnhancedCraftingTable extends MultiBlockMachine {
|
|||||||
"ENHANCED_CRAFTING_TABLE",
|
"ENHANCED_CRAFTING_TABLE",
|
||||||
new ItemStack[] {null, null, null, null, new ItemStack(Material.CRAFTING_TABLE), null, null, new ItemStack(Material.DISPENSER), null},
|
new ItemStack[] {null, null, null, null, new ItemStack(Material.CRAFTING_TABLE), null, null, new ItemStack(Material.DISPENSER), null},
|
||||||
new ItemStack[0],
|
new ItemStack[0],
|
||||||
Material.CRAFTING_TABLE
|
BlockFace.SELF
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ public class GrindStone extends MultiBlockMachine {
|
|||||||
new ItemStack(Material.SANDSTONE), new ItemStack(Material.SAND, 4),
|
new ItemStack(Material.SANDSTONE), new ItemStack(Material.SAND, 4),
|
||||||
new ItemStack(Material.RED_SANDSTONE), new ItemStack(Material.RED_SAND, 4)
|
new ItemStack(Material.RED_SANDSTONE), new ItemStack(Material.RED_SAND, 4)
|
||||||
},
|
},
|
||||||
Material.OAK_FENCE
|
BlockFace.SELF
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ public class Juicer extends MultiBlockMachine {
|
|||||||
new ItemStack(Material.PUMPKIN), SlimefunItems.PUMPKIN_JUICE,
|
new ItemStack(Material.PUMPKIN), SlimefunItems.PUMPKIN_JUICE,
|
||||||
new ItemStack(Material.GOLDEN_APPLE), SlimefunItems.GOLDEN_APPLE_JUICE
|
new ItemStack(Material.GOLDEN_APPLE), SlimefunItems.GOLDEN_APPLE_JUICE
|
||||||
},
|
},
|
||||||
Material.NETHER_BRICK_FENCE
|
BlockFace.SELF
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ import org.bukkit.Effect;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.block.Dispenser;
|
import org.bukkit.block.Dispenser;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
@ -35,7 +36,7 @@ public class MagicWorkbench extends MultiBlockMachine {
|
|||||||
"MAGIC_WORKBENCH",
|
"MAGIC_WORKBENCH",
|
||||||
new ItemStack[] {null, null, null, null, null, null, new ItemStack(Material.BOOKSHELF), new ItemStack(Material.CRAFTING_TABLE), new ItemStack(Material.DISPENSER)},
|
new ItemStack[] {null, null, null, null, null, null, new ItemStack(Material.BOOKSHELF), new ItemStack(Material.CRAFTING_TABLE), new ItemStack(Material.DISPENSER)},
|
||||||
new ItemStack[0],
|
new ItemStack[0],
|
||||||
Material.CRAFTING_TABLE
|
BlockFace.UP
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.block.Container;
|
import org.bukkit.block.Container;
|
||||||
@ -27,11 +26,11 @@ public abstract class MultiBlockMachine extends SlimefunMachine {
|
|||||||
BlockFace.WEST
|
BlockFace.WEST
|
||||||
};
|
};
|
||||||
|
|
||||||
public MultiBlockMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, Material trigger) {
|
public MultiBlockMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, BlockFace trigger) {
|
||||||
super(category, item, id, recipe, machineRecipes, trigger);
|
super(category, item, id, recipe, machineRecipes, trigger);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MultiBlockMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, Material trigger, String[] keys, Object[] values) {
|
public MultiBlockMachine(Category category, ItemStack item, String id, ItemStack[] recipe, ItemStack[] machineRecipes, BlockFace trigger, String[] keys, Object[] values) {
|
||||||
super(category, item, id, recipe, machineRecipes, trigger, keys, values);
|
super(category, item, id, recipe, machineRecipes, trigger, keys, values);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ public class OreCrusher extends MultiBlockMachine {
|
|||||||
new ItemStack(Material.GOLD_INGOT), SlimefunItems.GOLD_DUST,
|
new ItemStack(Material.GOLD_INGOT), SlimefunItems.GOLD_DUST,
|
||||||
SlimefunItems.GOLD_4K, SlimefunItems.GOLD_DUST
|
SlimefunItems.GOLD_4K, SlimefunItems.GOLD_DUST
|
||||||
},
|
},
|
||||||
Material.NETHER_BRICK_FENCE
|
BlockFace.SELF
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ public class OreWasher extends MultiBlockMachine {
|
|||||||
SlimefunItems.SIFTED_ORE, SlimefunItems.LEAD_DUST,
|
SlimefunItems.SIFTED_ORE, SlimefunItems.LEAD_DUST,
|
||||||
SlimefunItems.SIFTED_ORE, SlimefunItems.SILVER_DUST
|
SlimefunItems.SIFTED_ORE, SlimefunItems.SILVER_DUST
|
||||||
},
|
},
|
||||||
Material.OAK_FENCE
|
BlockFace.SELF
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ public class PressureChamber extends MultiBlockMachine {
|
|||||||
SlimefunItems.CARBON_CHUNK, SlimefunItems.SYNTHETIC_DIAMOND,
|
SlimefunItems.CARBON_CHUNK, SlimefunItems.SYNTHETIC_DIAMOND,
|
||||||
SlimefunItems.RAW_CARBONADO, SlimefunItems.CARBONADO
|
SlimefunItems.RAW_CARBONADO, SlimefunItems.CARBONADO
|
||||||
},
|
},
|
||||||
Material.CAULDRON
|
BlockFace.UP
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ public class Smeltery extends MultiBlockMachine {
|
|||||||
new ItemStack[] {
|
new ItemStack[] {
|
||||||
SlimefunItems.IRON_DUST, new ItemStack(Material.IRON_INGOT)
|
SlimefunItems.IRON_DUST, new ItemStack(Material.IRON_INGOT)
|
||||||
},
|
},
|
||||||
Material.NETHER_BRICK_FENCE,
|
BlockFace.SELF,
|
||||||
new String[] {"chance.fireBreak"}, new Integer[] {34}
|
new String[] {"chance.fireBreak"}, new Integer[] {34}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import org.bukkit.Effect;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Tag;
|
import org.bukkit.Tag;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
@ -25,7 +26,7 @@ public class TableSaw extends MultiBlockMachine {
|
|||||||
"TABLE_SAW",
|
"TABLE_SAW",
|
||||||
new ItemStack[] {null, null, null, new ItemStack(Material.SMOOTH_STONE_SLAB), new ItemStack(Material.STONECUTTER), new ItemStack(Material.SMOOTH_STONE_SLAB), null, new ItemStack(Material.IRON_BLOCK), null},
|
new ItemStack[] {null, null, null, new ItemStack(Material.SMOOTH_STONE_SLAB), new ItemStack(Material.STONECUTTER), new ItemStack(Material.SMOOTH_STONE_SLAB), null, new ItemStack(Material.IRON_BLOCK), null},
|
||||||
new ItemStack[0],
|
new ItemStack[0],
|
||||||
Material.STONECUTTER
|
BlockFace.SELF
|
||||||
);
|
);
|
||||||
|
|
||||||
for (Material log: Tag.LOGS.getValues()) {
|
for (Material log: Tag.LOGS.getValues()) {
|
||||||
|
@ -1061,7 +1061,7 @@ public final class SlimefunSetup {
|
|||||||
*/
|
*/
|
||||||
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.SAW_MILL, "SAW_MILL",
|
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.SAW_MILL, "SAW_MILL",
|
||||||
new ItemStack[] {null, null, null, new ItemStack(Material.IRON_BARS), new ItemStack(Material.OAK_LOG), new ItemStack(Material.IRON_BARS), new ItemStack(Material.OAK_LOG), new ItemStack(Material.CRAFTING_TABLE), new ItemStack(Material.OAK_LOG)},
|
new ItemStack[] {null, null, null, new ItemStack(Material.IRON_BARS), new ItemStack(Material.OAK_LOG), new ItemStack(Material.IRON_BARS), new ItemStack(Material.OAK_LOG), new ItemStack(Material.CRAFTING_TABLE), new ItemStack(Material.OAK_LOG)},
|
||||||
new ItemStack[] {}, Material.CRAFTING_TABLE)
|
new ItemStack[] {}, BlockFace.UP)
|
||||||
.register(true, new MultiBlockInteractionHandler() {
|
.register(true, new MultiBlockInteractionHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1098,7 +1098,7 @@ public final class SlimefunSetup {
|
|||||||
|
|
||||||
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.DIGITAL_MINER, "DIGITAL_MINER",
|
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.DIGITAL_MINER, "DIGITAL_MINER",
|
||||||
new ItemStack[] {SlimefunItems.SOLAR_PANEL, new ItemStack(Material.CHEST), SlimefunItems.SOLAR_PANEL, new ItemStack(Material.IRON_BLOCK), new ItemStack(Material.DISPENSER), new ItemStack(Material.IRON_BLOCK), new ItemStack(Material.IRON_BLOCK), new ItemStack(Material.HOPPER), new ItemStack(Material.IRON_BLOCK)},
|
new ItemStack[] {SlimefunItems.SOLAR_PANEL, new ItemStack(Material.CHEST), SlimefunItems.SOLAR_PANEL, new ItemStack(Material.IRON_BLOCK), new ItemStack(Material.DISPENSER), new ItemStack(Material.IRON_BLOCK), new ItemStack(Material.IRON_BLOCK), new ItemStack(Material.HOPPER), new ItemStack(Material.IRON_BLOCK)},
|
||||||
new ItemStack[0], Material.DISPENSER)
|
new ItemStack[0], BlockFace.SELF)
|
||||||
.register(true, new MultiBlockInteractionHandler() {
|
.register(true, new MultiBlockInteractionHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1156,7 +1156,7 @@ public final class SlimefunSetup {
|
|||||||
|
|
||||||
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.ADVANCED_DIGITAL_MINER, "ADVANCED_DIGITAL_MINER",
|
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.ADVANCED_DIGITAL_MINER, "ADVANCED_DIGITAL_MINER",
|
||||||
new ItemStack[] {SlimefunItems.SOLAR_PANEL, new ItemStack(Material.CHEST), SlimefunItems.SOLAR_PANEL, SlimefunItems.GOLD_24K_BLOCK, new ItemStack(Material.DISPENSER), SlimefunItems.GOLD_24K_BLOCK, SlimefunItems.GOLD_24K_BLOCK, new ItemStack(Material.HOPPER), SlimefunItems.GOLD_24K_BLOCK},
|
new ItemStack[] {SlimefunItems.SOLAR_PANEL, new ItemStack(Material.CHEST), SlimefunItems.SOLAR_PANEL, SlimefunItems.GOLD_24K_BLOCK, new ItemStack(Material.DISPENSER), SlimefunItems.GOLD_24K_BLOCK, SlimefunItems.GOLD_24K_BLOCK, new ItemStack(Material.HOPPER), SlimefunItems.GOLD_24K_BLOCK},
|
||||||
new ItemStack[0], Material.DISPENSER)
|
new ItemStack[0], BlockFace.SELF)
|
||||||
.register(true, new MultiBlockInteractionHandler() {
|
.register(true, new MultiBlockInteractionHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user