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

Changed Pressure Chamber and Table Saw Slabs

This commit is contained in:
TheBusyBiscuit 2019-08-30 21:48:11 +02:00
parent adb8194d84
commit f9bbfdc869
3 changed files with 46 additions and 30 deletions

View File

@ -26,7 +26,7 @@ public class PressureChamber extends MultiBlockMachine {
Categories.MACHINES_1,
SlimefunItems.PRESSURE_CHAMBER,
"PRESSURE_CHAMBER",
new ItemStack[] {new ItemStack(Material.STONE_SLAB), new CustomItem(Material.DISPENSER, "Dispenser (Facing down)"), new ItemStack(Material.STONE_SLAB), new ItemStack(Material.PISTON), new ItemStack(Material.GLASS), new ItemStack(Material.PISTON), new ItemStack(Material.PISTON), new ItemStack(Material.CAULDRON), new ItemStack(Material.PISTON)},
new ItemStack[] {new ItemStack(Material.SMOOTH_STONE_SLAB), new CustomItem(Material.DISPENSER, "Dispenser (Facing down)"), new ItemStack(Material.SMOOTH_STONE_SLAB), new ItemStack(Material.PISTON), new ItemStack(Material.GLASS), new ItemStack(Material.PISTON), new ItemStack(Material.PISTON), new ItemStack(Material.CAULDRON), new ItemStack(Material.PISTON)},
new ItemStack[] {
SlimefunItems.CARBON_CHUNK, SlimefunItems.SYNTHETIC_DIAMOND,
SlimefunItems.RAW_CARBONADO, SlimefunItems.CARBONADO
@ -40,6 +40,7 @@ public class PressureChamber extends MultiBlockMachine {
Block dispBlock = b.getRelative(BlockFace.UP).getRelative(BlockFace.UP);
Dispenser disp = (Dispenser) dispBlock.getState();
final Inventory inv = disp.getInventory();
for (ItemStack current: inv.getContents()) {
for (ItemStack convert: RecipeType.getRecipeInputs(this)) {
if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) {

View File

@ -0,0 +1,42 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks;
import org.bukkit.Effect;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.compatibility.MaterialHelper;
import me.mrCookieSlime.Slimefun.Lists.Categories;
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
public class TableSaw extends MultiBlockMachine {
public TableSaw() {
super(
Categories.MACHINES_1,
SlimefunItems.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[0],
Material.STONECUTTER
);
}
@Override
public void onInteract(Player p, Block b) {
ItemStack log = p.getInventory().getItemInMainHand();
ItemStack item = new ItemStack(MaterialHelper.getWoodFromLog(log.getType()), 8);
if(item == null || item.getType() == Material.AIR) return;
b.getWorld().dropItemNaturally(b.getLocation(), item);
b.getWorld().playEffect(b.getLocation(), Effect.STEP_SOUND, log.getType());
log.setAmount(log.getAmount() -1);
if(log.getAmount() <= 0) {
p.getInventory().setItemInMainHand(new ItemStack(Material.AIR));
}
}
}

View File

@ -150,6 +150,7 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.OreCrusher;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.OreWasher;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.PressureChamber;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.Smeltery;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.TableSaw;
import me.mrCookieSlime.Slimefun.Objects.handlers.AutonomousMachineHandler;
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockBreakHandler;
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockPlaceHandler;
@ -1221,35 +1222,7 @@ public final class SlimefunSetup {
}
});
new SlimefunMachine(Categories.MACHINES_1, SlimefunItems.TABLE_SAW, "TABLE_SAW",
new ItemStack[] {null, null, null, new ItemStack(Material.STONE_SLAB), new ItemStack(Material.STONECUTTER), new ItemStack(Material.STONE_SLAB), null, new ItemStack(Material.IRON_BLOCK), null},
new ItemStack[] {}, Material.STONECUTTER)
.register(true, new MultiBlockInteractionHandler() {
@Override
public boolean onInteract(Player p, MultiBlock mb, Block b) {
if (mb.isMultiBlock(SlimefunItem.getByID("TABLE_SAW"))) {
if (CSCoreLib.getLib().getProtectionManager().canBuild(p.getUniqueId(), b.getRelative(BlockFace.UP), true) && Slimefun.hasUnlocked(p, SlimefunItems.TABLE_SAW, true) && p.getInventory().getItemInMainHand() != null && Tag.LOGS.getValues().contains(p.getInventory().getItemInMainHand().getType())) {
ItemStack log = p.getInventory().getItemInMainHand();
ItemStack item = new ItemStack(MaterialHelper.getWoodFromLog(log.getType()), 8);
if(item == null || item.getType() == Material.AIR) {
return false;
}
b.getWorld().dropItemNaturally(b.getLocation(), item);
b.getWorld().playEffect(b.getLocation(), Effect.STEP_SOUND, log.getType());
log.setAmount(log.getAmount() -1);
if(log.getAmount() <= 0) {
p.getInventory().setItemInMainHand(new ItemStack(Material.AIR));
}
}
return true;
}
else return false;
}
});
new TableSaw().register();
/*
* dNiym 7/30/2019 added the Table_Saw machine to replace the Saw_mill, as the sawmill's design does not work with