mirror of
https://github.com/songoda/EpicHoppers.git
synced 2024-09-27 15:22:38 +02:00
52 lines
1.6 KiB
Java
52 lines
1.6 KiB
Java
package com.songoda.epichoppers.containers.impl;
|
|
|
|
import com.songoda.epicfarming.EpicFarming;
|
|
import com.songoda.epicfarming.core.compatibility.CompatibleMaterial;
|
|
import com.songoda.epicfarming.farming.Farm;
|
|
import com.songoda.epichoppers.containers.CustomContainer;
|
|
import com.songoda.epichoppers.containers.IContainer;
|
|
import org.bukkit.block.Block;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
public class EpicFarmingImplementation implements IContainer {
|
|
@Override
|
|
public CustomContainer getCustomContainer(Block block) {
|
|
return new Container(block);
|
|
}
|
|
|
|
static class Container extends CustomContainer {
|
|
private final Farm farm;
|
|
|
|
public Container(Block block) {
|
|
super(block);
|
|
this.farm = EpicFarming.getInstance().getFarmManager().getFarm(block);
|
|
}
|
|
|
|
@Override
|
|
public boolean addToContainer(ItemStack itemToMove) {
|
|
if (!this.farm.willFit(itemToMove)) {
|
|
return false;
|
|
}
|
|
this.farm.addItem(itemToMove);
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public ItemStack[] getItems() {
|
|
return this.farm.getItems()
|
|
.stream().filter(item -> CompatibleMaterial.getMaterial(item) != CompatibleMaterial.BONE_MEAL)
|
|
.toArray(ItemStack[]::new);
|
|
}
|
|
|
|
@Override
|
|
public void removeFromContainer(ItemStack itemToMove, int amountToMove) {
|
|
this.farm.removeMaterial(itemToMove.getType(), amountToMove);
|
|
}
|
|
|
|
@Override
|
|
public boolean isContainer() {
|
|
return this.farm != null;
|
|
}
|
|
}
|
|
}
|