mirror of
https://github.com/GTNewHorizons/ForestryMC.git
synced 2026-11-15 01:24:59 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59687329fb |
No files matched your search
+1
-1
@@ -8,4 +8,4 @@ ic2_version=2.6.5-ex110
|
||||
|
||||
version_major=5
|
||||
version_minor=2
|
||||
version_patch=0
|
||||
version_patch=1
|
||||
@@ -6,6 +6,7 @@
|
||||
package forestry.api.storage;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
@@ -41,5 +42,5 @@ public interface IBackpackDefinition {
|
||||
* @return the backpack's item filter.
|
||||
*/
|
||||
@Nonnull
|
||||
IBackpackFilter getFilter();
|
||||
Predicate<ItemStack> getFilter();
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package forestry.api.storage;
|
||||
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* Filters items that can be put into a backpack.
|
||||
* You can get a specific backpack's filter with {@link IBackpackDefinition#getFilter()}.
|
||||
* <p>
|
||||
* For Backpack Implementers: you can create a new filter with {@link IBackpackInterface#createBackpackFilter()} or implement your own.
|
||||
*
|
||||
* @see IBackpackFilterConfigurable
|
||||
*/
|
||||
public interface IBackpackFilter extends Predicate<ItemStack> {
|
||||
/**
|
||||
* Returns true if the ItemStack is a valid item for this backpack filter.
|
||||
*/
|
||||
@Override
|
||||
boolean test(ItemStack itemstack);
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
package forestry.api.storage;
|
||||
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
@@ -7,7 +9,7 @@ import net.minecraftforge.oredict.OreDictionary;
|
||||
* A configurable backpack filter. Useful for implementers of {@link IBackpackDefinition}.
|
||||
* Get a new instance from {@link IBackpackInterface#createBackpackFilter()}.
|
||||
*/
|
||||
public interface IBackpackFilterConfigurable extends IBackpackFilter {
|
||||
public interface IBackpackFilterConfigurable extends Predicate<ItemStack> {
|
||||
/**
|
||||
* Adds an item as valid for this backpack to pick up.
|
||||
*/
|
||||
|
||||
@@ -7,6 +7,7 @@ package forestry.api.storage;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import forestry.api.genetics.ISpeciesRoot;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -84,5 +85,5 @@ public interface IBackpackInterface {
|
||||
* @return a new backpack filter for the specified species root
|
||||
* @see #createNaturalistBackpack(String, ISpeciesRoot)
|
||||
*/
|
||||
IBackpackFilter createNaturalistBackpackFilter(String speciesRootUid);
|
||||
Predicate<ItemStack> createNaturalistBackpackFilter(String speciesRootUid);
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
|
||||
******************************************************************************/
|
||||
@API(apiVersion = "4.0.0", owner = "ForestryAPI|core", provides = "ForestryAPI|storage")
|
||||
@API(apiVersion = "5.0.0", owner = "ForestryAPI|core", provides = "ForestryAPI|storage")
|
||||
package forestry.api.storage;
|
||||
|
||||
import net.minecraftforge.fml.common.API;
|
||||
@@ -12,10 +12,10 @@ package forestry.storage;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.awt.*;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import forestry.api.storage.BackpackManager;
|
||||
import forestry.api.storage.IBackpackDefinition;
|
||||
import forestry.api.storage.IBackpackFilter;
|
||||
import forestry.core.utils.Translator;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -25,13 +25,13 @@ public class BackpackDefinition implements IBackpackDefinition {
|
||||
private final int primaryColor;
|
||||
private final int secondaryColor;
|
||||
@Nonnull
|
||||
private final IBackpackFilter filter;
|
||||
private final Predicate<ItemStack> filter;
|
||||
|
||||
public BackpackDefinition(@Nonnull Color primaryColor, @Nonnull Color secondaryColor) {
|
||||
this(primaryColor, secondaryColor, BackpackManager.backpackInterface.createBackpackFilter());
|
||||
}
|
||||
|
||||
public BackpackDefinition(@Nonnull Color primaryColor, @Nonnull Color secondaryColor, @Nonnull IBackpackFilter filter) {
|
||||
public BackpackDefinition(@Nonnull Color primaryColor, @Nonnull Color secondaryColor, @Nonnull Predicate<ItemStack> filter) {
|
||||
this.primaryColor = primaryColor.getRGB();
|
||||
this.secondaryColor = secondaryColor.getRGB();
|
||||
this.filter = filter;
|
||||
@@ -39,7 +39,7 @@ public class BackpackDefinition implements IBackpackDefinition {
|
||||
|
||||
@Override
|
||||
@Nonnull
|
||||
public IBackpackFilter getFilter() {
|
||||
public Predicate<ItemStack> getFilter() {
|
||||
return filter;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package forestry.storage;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import forestry.api.genetics.AlleleManager;
|
||||
import forestry.api.genetics.ISpeciesRoot;
|
||||
import forestry.api.storage.IBackpackFilter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class BackpackFilterNaturalist implements IBackpackFilter {
|
||||
public class BackpackFilterNaturalist implements Predicate<ItemStack> {
|
||||
@Nonnull
|
||||
private final String speciesRootUid;
|
||||
|
||||
|
||||
@@ -14,13 +14,13 @@ import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import forestry.api.genetics.ISpeciesRoot;
|
||||
import forestry.api.storage.EnumBackpackType;
|
||||
import forestry.api.storage.IBackpackDefinition;
|
||||
import forestry.api.storage.IBackpackFilter;
|
||||
import forestry.api.storage.IBackpackFilterConfigurable;
|
||||
import forestry.api.storage.IBackpackInterface;
|
||||
import forestry.core.utils.ItemStackUtil;
|
||||
@@ -116,7 +116,7 @@ public class BackpackInterface implements IBackpackInterface {
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBackpackFilter createNaturalistBackpackFilter(String speciesRootUid) {
|
||||
public Predicate<ItemStack> createNaturalistBackpackFilter(String speciesRootUid) {
|
||||
return new BackpackFilterNaturalist(speciesRootUid);
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@ import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
@@ -27,7 +28,6 @@ import forestry.api.core.ForestryAPI;
|
||||
import forestry.api.recipes.RecipeManagers;
|
||||
import forestry.api.storage.BackpackManager;
|
||||
import forestry.api.storage.IBackpackDefinition;
|
||||
import forestry.api.storage.IBackpackFilter;
|
||||
import forestry.api.storage.IBackpackFilterConfigurable;
|
||||
import forestry.api.storage.StorageManager;
|
||||
import forestry.apiculture.PluginApiculture;
|
||||
@@ -105,13 +105,13 @@ public class PluginStorage extends BlankForestryPlugin {
|
||||
BackpackDefinition definition;
|
||||
|
||||
if (ForestryAPI.enabledPlugins.contains(ForestryPluginUids.APICULTURE)) {
|
||||
IBackpackFilter filter = BackpackManager.backpackInterface.createNaturalistBackpackFilter("rootBees");
|
||||
Predicate<ItemStack> filter = BackpackManager.backpackInterface.createNaturalistBackpackFilter("rootBees");
|
||||
definition = new BackpackDefinition(new Color(0xc4923d), Color.WHITE, filter);
|
||||
BackpackManager.backpackInterface.registerBackpackDefinition("apiarist", definition);
|
||||
}
|
||||
|
||||
if (ForestryAPI.enabledPlugins.contains(ForestryPluginUids.LEPIDOPTEROLOGY)) {
|
||||
IBackpackFilter filter = BackpackManager.backpackInterface.createNaturalistBackpackFilter("rootButterflies");
|
||||
Predicate<ItemStack> filter = BackpackManager.backpackInterface.createNaturalistBackpackFilter("rootButterflies");
|
||||
definition = new BackpackDefinition(new Color(0x995b31), Color.WHITE, filter);
|
||||
BackpackManager.backpackInterface.registerBackpackDefinition("lepidopterist", definition);
|
||||
}
|
||||
@@ -420,7 +420,7 @@ public class PluginStorage extends BlankForestryPlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
IBackpackFilter filter = backpackDefinition.getFilter();
|
||||
Predicate<ItemStack> filter = backpackDefinition.getFilter();
|
||||
if (filter instanceof IBackpackFilterConfigurable) {
|
||||
IBackpackFilterConfigurable backpackFilter = (IBackpackFilterConfigurable) filter;
|
||||
backpackFilter.clear();
|
||||
@@ -549,7 +549,7 @@ public class PluginStorage extends BlankForestryPlugin {
|
||||
return true;
|
||||
}
|
||||
List<ItemStack> itemStacks = ItemStackUtil.parseItemStackStrings(tokens[1], 0);
|
||||
IBackpackFilter filter = backpackDefinition.getFilter();
|
||||
Predicate<ItemStack> filter = backpackDefinition.getFilter();
|
||||
if (filter instanceof IBackpackFilterConfigurable) {
|
||||
IBackpackFilterConfigurable backpackFilter = (IBackpackFilterConfigurable) filter;
|
||||
for (ItemStack itemStack : itemStacks) {
|
||||
|
||||
Reference in new issue
Block a user