1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-19 19:25:48 +00:00
This commit is contained in:
TheBusyBiscuit 2020-08-04 01:15:14 +02:00
parent 56b78eac61
commit 8f289dcdbe
4 changed files with 27 additions and 12 deletions

View File

@ -35,6 +35,7 @@
* Fixed #2103
* Fixed #2184
* Fixed #2183
* Fixed #2181
## Release Candidate 15 (01 Aug 2020)

View File

@ -73,12 +73,15 @@ public class EnhancedCraftingTable extends BackpackCrafter {
ItemUtils.consumeItem(item, true);
}
}
p.getWorld().playSound(b.getLocation(), Sound.BLOCK_WOODEN_BUTTON_CLICK_ON, 1, 1);
outputInv.addItem(output);
}
else SlimefunPlugin.getLocalization().sendMessage(p, "machines.full-inventory", true);
else {
SlimefunPlugin.getLocalization().sendMessage(p, "machines.full-inventory", true);
}
}
private boolean isCraftable(Inventory inv, ItemStack[] recipe) {

View File

@ -25,8 +25,16 @@ import io.papermc.lib.PaperLib;
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
import me.mrCookieSlime.Slimefun.Objects.Category;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.api.Slimefun;
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
/**
* The {@link OreCrusher} is a {@link MultiBlockMachine} which allows you to double ores
* and crush some other {@link Material Materials} into various resources.
*
* @author TheBusyBiscuit
*
*/
public class OreCrusher extends MultiBlockMachine {
private final DoubleOreSetting doubleOres = new DoubleOreSetting();
@ -93,18 +101,21 @@ public class OreCrusher extends MultiBlockMachine {
for (ItemStack current : inv.getContents()) {
for (ItemStack convert : RecipeType.getRecipeInputs(this)) {
if (convert != null && SlimefunUtils.isItemSimilar(current, convert, true)) {
if (convert != null && SlimefunUtils.isItemSimilar(current, convert, true, false)) {
ItemStack adding = RecipeType.getRecipeOutput(this, convert);
Inventory outputInv = findOutputInventory(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 {
SlimefunPlugin.getLocalization().sendMessage(p, "machines.full-inventory", true);
if (Slimefun.hasUnlocked(p, adding, true)) {
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 {
SlimefunPlugin.getLocalization().sendMessage(p, "machines.full-inventory", true);
}
}
return;

View File

@ -223,7 +223,7 @@ public class SlimefunItem implements Placeable {
@SuppressWarnings("unchecked")
public <T> Optional<ItemSetting<T>> getItemSetting(String key, Class<T> c) {
for (ItemSetting<?> setting : itemSettings) {
if (setting.getKey().equals(key) && c.isInstance(setting.getDefaultValue())) {
if (setting.getKey().equals(key) && setting.isType(c)) {
return Optional.of((ItemSetting<T>) setting);
}
}