mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
Fixes #2005
This commit is contained in:
parent
9b0326bbd8
commit
3c3dd48e9b
@ -2,6 +2,7 @@
|
|||||||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||||||
**Table of contents**
|
**Table of contents**
|
||||||
|
|
||||||
|
- [Release Candidate 14 (TBD)](#release-candidate-14-tbd)
|
||||||
- [Release Candidate 13 (16 Jun 2020)](#release-candidate-13-16-jun-2020)
|
- [Release Candidate 13 (16 Jun 2020)](#release-candidate-13-16-jun-2020)
|
||||||
- [Release Candidate 12 (27 May 2020)](#release-candidate-12-27-may-2020)
|
- [Release Candidate 12 (27 May 2020)](#release-candidate-12-27-may-2020)
|
||||||
- [Release Candidate 11 (25 Apr 2020)](#release-candidate-11-25-apr-2020)
|
- [Release Candidate 11 (25 Apr 2020)](#release-candidate-11-25-apr-2020)
|
||||||
@ -23,6 +24,9 @@
|
|||||||
#### Changes
|
#### Changes
|
||||||
* Coolant Cells now last twice as long
|
* Coolant Cells now last twice as long
|
||||||
|
|
||||||
|
#### Fixes
|
||||||
|
* Fixed #2005
|
||||||
|
|
||||||
## Release Candidate 13 (16 Jun 2020)
|
## Release Candidate 13 (16 Jun 2020)
|
||||||
https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#13
|
https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#13
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.Tag;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockState;
|
import org.bukkit.block.BlockState;
|
||||||
import org.bukkit.inventory.BrewerInventory;
|
import org.bukkit.inventory.BrewerInventory;
|
||||||
@ -254,8 +255,12 @@ final class CargoUtils {
|
|||||||
if (inv instanceof FurnaceInventory) {
|
if (inv instanceof FurnaceInventory) {
|
||||||
// Check if it is fuel or not
|
// Check if it is fuel or not
|
||||||
if (stack.getType().isFuel()) {
|
if (stack.getType().isFuel()) {
|
||||||
minSlot = 1;
|
|
||||||
maxSlot = 2;
|
maxSlot = 2;
|
||||||
|
|
||||||
|
// Any non-smeltable items should not land in the upper slot
|
||||||
|
if (!isSmeltable(stack, true)) {
|
||||||
|
minSlot = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
maxSlot = 1;
|
maxSlot = 1;
|
||||||
@ -313,6 +318,28 @@ final class CargoUtils {
|
|||||||
return stack;
|
return stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method checks if a given {@link ItemStack} is smeltable or not.
|
||||||
|
* The lazy-option is a performance-saver since actually calculating this can be quite expensive.
|
||||||
|
* For the current applicational purposes a quick check for any wooden logs is sufficient.
|
||||||
|
* Otherwise the "lazyness" can be turned off in the future.
|
||||||
|
*
|
||||||
|
* @param stack
|
||||||
|
* The {@link ItemStack} to test
|
||||||
|
* @param lazy
|
||||||
|
* Whether or not to perform a "lazy" but performance-saving check
|
||||||
|
*
|
||||||
|
* @return Whether the given {@link ItemStack} can be smelted or not
|
||||||
|
*/
|
||||||
|
private static boolean isSmeltable(ItemStack stack, boolean lazy) {
|
||||||
|
if (lazy) {
|
||||||
|
return stack != null && Tag.LOGS.isTagged(stack.getType());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return SlimefunPlugin.getMinecraftRecipes().isSmeltable(stack);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static DirtyChestMenu getChestMenu(Block block) {
|
static DirtyChestMenu getChestMenu(Block block) {
|
||||||
if (BlockStorage.hasInventory(block)) {
|
if (BlockStorage.hasInventory(block)) {
|
||||||
return BlockStorage.getInventory(block);
|
return BlockStorage.getInventory(block);
|
||||||
|
@ -90,6 +90,18 @@ public class MinecraftRecipeService {
|
|||||||
return snapshot.getRecipeOutput(MinecraftRecipe.FURNACE, input);
|
return snapshot.getRecipeOutput(MinecraftRecipe.FURNACE, input);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This returns whether a given {@link ItemStack} can be smelted in a {@link FurnaceRecipe}.
|
||||||
|
*
|
||||||
|
* @param input
|
||||||
|
* The {@link ItemStack} to test
|
||||||
|
*
|
||||||
|
* @return Whether this item can be smelted
|
||||||
|
*/
|
||||||
|
public boolean isSmeltable(ItemStack input) {
|
||||||
|
return getFurnaceOutput(input).isPresent();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This returns the shape of a given {@link Recipe}.
|
* This returns the shape of a given {@link Recipe}.
|
||||||
* For any shapeless {@link Recipe} the result will be equivalent to
|
* For any shapeless {@link Recipe} the result will be equivalent to
|
||||||
|
@ -83,10 +83,12 @@ public final class Script {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This method checks whether a given {@link Player} is able to leave a rating for this {@link Script}.
|
* This method checks whether a given {@link Player} is able to leave a rating for this {@link Script}.
|
||||||
*
|
* A {@link Player} is unable to rate his own {@link Script} or a {@link Script} he already rated before.
|
||||||
*
|
*
|
||||||
* @param p
|
* @param p
|
||||||
* @return
|
* The {@link Player} to check for
|
||||||
|
*
|
||||||
|
* @return Whether the given {@link Player} is able to rate this {@link Script}
|
||||||
*/
|
*/
|
||||||
public boolean canRate(Player p) {
|
public boolean canRate(Player p) {
|
||||||
if (isAuthor(p)) {
|
if (isAuthor(p)) {
|
||||||
|
@ -48,7 +48,9 @@ public class RepairedSpawner extends SimpleSlimefunItem<BlockPlaceHandler> {
|
|||||||
* The provided {@link ItemStack} must be a {@link RepairedSpawner} item.
|
* The provided {@link ItemStack} must be a {@link RepairedSpawner} item.
|
||||||
*
|
*
|
||||||
* @param item
|
* @param item
|
||||||
* @return
|
* The {@link ItemStack} to extract the {@link EntityType} from
|
||||||
|
*
|
||||||
|
* @return An {@link Optional} describing the result
|
||||||
*/
|
*/
|
||||||
public Optional<EntityType> getEntityType(ItemStack item) {
|
public Optional<EntityType> getEntityType(ItemStack item) {
|
||||||
for (String line : item.getItemMeta().getLore()) {
|
for (String line : item.getItemMeta().getLore()) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* This package contains all the different implementations of
|
* This package contains all the different implementations of
|
||||||
* {@link me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.MultiBlockMachine}
|
* {@link io.github.thebusybiscuit.slimefun4.core.multiblocks.MultiBlockMachine}
|
||||||
*/
|
*/
|
||||||
package io.github.thebusybiscuit.slimefun4.implementation.items.multiblocks;
|
package io.github.thebusybiscuit.slimefun4.implementation.items.multiblocks;
|
Loading…
Reference in New Issue
Block a user