mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
[CI skip] Refactoring
This commit is contained in:
parent
82366191b0
commit
32c60ad5ac
@ -37,15 +37,13 @@ import me.mrCookieSlime.Slimefun.api.inventory.DirtyChestMenu;
|
|||||||
import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow;
|
import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class needs to be rewritten VERY BADLY.
|
* This machine is disabled and has been replaced by Auto Crafters.
|
||||||
* But we should focus on rewriting the recipe system first.
|
|
||||||
*
|
*
|
||||||
* @deprecated This has been replaced by the {@link AbstractAutoCrafter}.
|
* @deprecated This has been replaced by the {@link AbstractAutoCrafter}.
|
||||||
*
|
*
|
||||||
* @author TheBusyBiscuit
|
* @author TheBusyBiscuit
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
|
||||||
public abstract class AutomatedCraftingChamber extends SlimefunItem implements InventoryBlock, EnergyNetComponent {
|
public abstract class AutomatedCraftingChamber extends SlimefunItem implements InventoryBlock, EnergyNetComponent {
|
||||||
|
|
||||||
private final int[] border = { 0, 1, 3, 4, 5, 7, 8, 13, 14, 15, 16, 17, 50, 51, 52, 53 };
|
private final int[] border = { 0, 1, 3, 4, 5, 7, 8, 13, 14, 15, 16, 17, 50, 51, 52, 53 };
|
||||||
|
@ -186,11 +186,13 @@ public class FluidPump extends SimpleSlimefunItem<BlockTicker> implements Invent
|
|||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
private ItemStack getFilledBucket(@Nonnull Block fluid) {
|
private ItemStack getFilledBucket(@Nonnull Block fluid) {
|
||||||
if (fluid.getType() == Material.LAVA) {
|
switch (fluid.getType()) {
|
||||||
|
case LAVA:
|
||||||
return new ItemStack(Material.LAVA_BUCKET);
|
return new ItemStack(Material.LAVA_BUCKET);
|
||||||
} else if (fluid.getType() == Material.WATER || fluid.getType() == Material.BUBBLE_COLUMN) {
|
case WATER:
|
||||||
|
case BUBBLE_COLUMN:
|
||||||
return new ItemStack(Material.WATER_BUCKET);
|
return new ItemStack(Material.WATER_BUCKET);
|
||||||
} else {
|
default:
|
||||||
// Fallback for any new liquids
|
// Fallback for any new liquids
|
||||||
return new ItemStack(Material.BUCKET);
|
return new ItemStack(Material.BUCKET);
|
||||||
}
|
}
|
||||||
@ -214,6 +216,7 @@ public class FluidPump extends SimpleSlimefunItem<BlockTicker> implements Invent
|
|||||||
return levelled.getLevel() == 0;
|
return levelled.getLevel() == 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ public class AnimalProduce extends MachineRecipe implements Predicate<LivingEnti
|
|||||||
private final Predicate<LivingEntity> predicate;
|
private final Predicate<LivingEntity> predicate;
|
||||||
|
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public AnimalProduce(ItemStack input, Predicate<LivingEntity> predicate, ItemStack result) {
|
public AnimalProduce(ItemStack input, ItemStack result, Predicate<LivingEntity> predicate) {
|
||||||
super(5, new ItemStack[] { input }, new ItemStack[] { result });
|
super(5, new ItemStack[] { input }, new ItemStack[] { result });
|
||||||
Validate.notNull(predicate, "The Predicate must not be null");
|
Validate.notNull(predicate, "The Predicate must not be null");
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@ import javax.annotation.ParametersAreNonnullByDefault;
|
|||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.Ageable;
|
|
||||||
import org.bukkit.entity.Cow;
|
import org.bukkit.entity.Cow;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
@ -44,9 +43,8 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
|
|||||||
*/
|
*/
|
||||||
public class ProduceCollector extends AContainer implements RecipeDisplayItem {
|
public class ProduceCollector extends AContainer implements RecipeDisplayItem {
|
||||||
|
|
||||||
private final Set<AnimalProduce> animalProduces = new HashSet<>();
|
|
||||||
|
|
||||||
private final ItemSetting<Integer> range = new IntRangeSetting(this, "range", 1, 2, 32);
|
private final ItemSetting<Integer> range = new IntRangeSetting(this, "range", 1, 2, 32);
|
||||||
|
private final Set<AnimalProduce> animalProduces = new HashSet<>();
|
||||||
|
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public ProduceCollector(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
|
public ProduceCollector(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
|
||||||
@ -57,8 +55,23 @@ public class ProduceCollector extends AContainer implements RecipeDisplayItem {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void registerDefaultRecipes() {
|
protected void registerDefaultRecipes() {
|
||||||
addProduce(new AnimalProduce(new ItemStack(Material.BUCKET), Cow.class::isInstance, new ItemStack(Material.MILK_BUCKET)));
|
// Milk from adult cows
|
||||||
addProduce(new AnimalProduce(new ItemStack(Material.BOWL), MushroomCow.class::isInstance, new ItemStack(Material.MUSHROOM_STEW)));
|
addProduce(new AnimalProduce(new ItemStack(Material.BUCKET), new ItemStack(Material.MILK_BUCKET), n -> {
|
||||||
|
if (n instanceof Cow) {
|
||||||
|
return ((Cow) n).isAdult();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
|
// Mushroom Stew from Mooshrooms
|
||||||
|
addProduce(new AnimalProduce(new ItemStack(Material.BOWL), new ItemStack(Material.MUSHROOM_STEW), n -> {
|
||||||
|
if (n instanceof MushroomCow) {
|
||||||
|
return ((MushroomCow) n).isAdult();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -132,12 +145,7 @@ public class ProduceCollector extends AContainer implements RecipeDisplayItem {
|
|||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
private boolean isValidAnimal(Entity n, Predicate<LivingEntity> predicate) {
|
private boolean isValidAnimal(Entity n, Predicate<LivingEntity> predicate) {
|
||||||
if (n instanceof LivingEntity) {
|
if (n instanceof LivingEntity) {
|
||||||
if (n instanceof Ageable && !((Ageable) n).isAdult()) {
|
|
||||||
// We only take adults into consideration
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
return predicate.test((LivingEntity) n);
|
return predicate.test((LivingEntity) n);
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user