Powered trading station

This commit is contained in:
2023-08-16 11:50:31 +02:00
parent 51814b9f5d
commit 2447f09aef
38 changed files with 786 additions and 803 deletions

View File

@@ -1,9 +1,8 @@
package com.oierbravo.trading_station.registrate;
import com.oierbravo.trading_station.TradingStation;
import com.oierbravo.trading_station.content.trading_station.TradingRecipe;
import com.oierbravo.trading_station.content.trading_recipe.TradingRecipe;
import net.minecraft.world.SimpleContainer;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.minecraft.world.item.crafting.RecipeType;
@@ -13,11 +12,8 @@ import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
public class ModRecipes {
public static final DeferredRegister<RecipeSerializer<?>> SERIALIZERS =
@@ -35,33 +31,16 @@ public class ModRecipes {
return Optional.empty();
return pLevel.getRecipeManager().getRecipeFor(TradingRecipe.Type.INSTANCE,pInv,pLevel);
}
/*public static List<ItemStack> getAllOutputs(Level pLevel){
List<ItemStack> allOutputs = pLevel.getRecipeManager().getAllRecipesFor(TradingRecipe.Type.INSTANCE).stream()
.map(TradingRecipe::getResult).toList();
allOutputs.add(ItemStack.EMPTY);
return allOutputs;
}*/
public static List<ItemStack> getAllOutputs(Level pLevel){
return pLevel.getRecipeManager().getAllRecipesFor(TradingRecipe.Type.INSTANCE).stream()
.map(TradingRecipe::getResult).toList();
}
public static Optional<TradingRecipe> findByOutput(Level pLevel,ItemStack targetedOutput){
//if(pLevel.isClientSide())
// return Optional.empty();
return pLevel.getRecipeManager().getAllRecipesFor(TradingRecipe.Type.INSTANCE).stream()
.filter(recipe -> recipe.matchesOutput(targetedOutput)).findFirst();
}
/*public static Optional<TradingRecipe> findWithPreferdOutput(SimpleContainer pInv, Level pLevel, ItemStack preferedOutput){
if(pLevel.isClientSide())
return Optional.empty();
List<TradingRecipe> allTradingRecipes = pLevel.getRecipeManager().getAllRecipesFor(TradingRecipe.Type.INSTANCE);
return allTradingRecipes.stream().filter(extrudingRecipe -> TradingRecipe.matches(tradingStation,tradingRecipe)).findFirst();
}*/
public static void register(IEventBus eventBus) {
SERIALIZERS.register(eventBus);