net.minecraft.recipe.RecipeType Java Examples
The following examples show how to use
net.minecraft.recipe.RecipeType.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GalacticraftRecipes.java From Galacticraft-Rewoven with MIT License | 5 votes |
private static <T extends Recipe<?>> RecipeType<T> registerType(String id) { return Registry.register(Registry.RECIPE_TYPE, new Identifier(Constants.MOD_ID, id), new RecipeType<T>() { public String toString() { return id; } }); }
Example #2
Source File: RecipeManager_scarpetMixin.java From fabric-carpet with MIT License | 5 votes |
@Override public List<Recipe<?>> getAllMatching(RecipeType type, Identifier output) { Map<Identifier, Recipe<?>> typeRecipes = recipes.get(type); if (typeRecipes.containsKey(output)) return Collections.singletonList(typeRecipes.get(output)); return Lists.newArrayList(typeRecipes.values().stream().filter( r -> Registry.ITEM.getId(r.getOutput().getItem()).equals(output)).collect(Collectors.toList())); }
Example #3
Source File: FabricationRecipe.java From Galacticraft-Rewoven with MIT License | 4 votes |
@Override public RecipeType<?> getType() { return GalacticraftRecipes.FABRICATION_TYPE; }
Example #4
Source File: ShapedCompressingRecipe.java From Galacticraft-Rewoven with MIT License | 4 votes |
@Override public RecipeType<?> getType() { return GalacticraftRecipes.SHAPED_COMPRESSING_TYPE; }
Example #5
Source File: FluidRecipe.java From the-hallow with MIT License | 4 votes |
@Override public RecipeType<?> getType() { return type; }
Example #6
Source File: InfusionRecipe.java From the-hallow with MIT License | 4 votes |
@Override public RecipeType<?> getType() { return Type.INSTANCE; }
Example #7
Source File: DropperBlock_craftingMixin.java From carpet-extra with GNU Lesser General Public License v3.0 | 4 votes |
@Inject(method = "dispense", at = @At("HEAD"), cancellable = true) private void tryCraft(World world_1, BlockPos blockPos_1, CallbackInfo ci) { if (!CarpetExtraSettings.autoCraftingDropper) return; BlockPos front = blockPos_1.offset(world_1.getBlockState(blockPos_1).get(DispenserBlock.FACING)); if (world_1.getBlockState(front).getBlock() != Blocks.CRAFTING_TABLE) return; DispenserBlockEntity dispenserBlockEntity_1 = (DispenserBlockEntity) world_1.getBlockEntity(blockPos_1); if (dispenserBlockEntity_1 == null) return; CraftingInventory craftingInventory = new CraftingInventory(new VoidContainer(), 3, 3); for (int i=0; i < 9; i++) craftingInventory.setInvStack(i, dispenserBlockEntity_1.getInvStack(i)); CraftingRecipe recipe = world_1.getRecipeManager().getFirstMatch(RecipeType.CRAFTING, craftingInventory, world_1).orElse(null); if (recipe == null) return; // crafting it Vec3d target = new Vec3d(front).add(0.5, 0.2, 0.5); ItemStack result = recipe.craft(craftingInventory); spawn(world_1, target.x, target.y, target.z, result); // copied from CraftingResultSlot.onTakeItem() DefaultedList<ItemStack> defaultedList_1 = world_1.getRecipeManager().getRemainingStacks(RecipeType.CRAFTING, craftingInventory, world_1); for(int int_1 = 0; int_1 < defaultedList_1.size(); ++int_1) { ItemStack itemStack_2 = dispenserBlockEntity_1.getInvStack(int_1); ItemStack itemStack_3 = defaultedList_1.get(int_1); if (!itemStack_2.isEmpty()) { dispenserBlockEntity_1.takeInvStack(int_1, 1); itemStack_2 = dispenserBlockEntity_1.getInvStack(int_1); } if (!itemStack_3.isEmpty()) { if (itemStack_2.isEmpty()) { dispenserBlockEntity_1.setInvStack(int_1, itemStack_3); } else if (ItemStack.areItemsEqualIgnoreDamage(itemStack_2, itemStack_3) && ItemStack.areTagsEqual(itemStack_2, itemStack_3)) { itemStack_3.increment(itemStack_2.getCount()); dispenserBlockEntity_1.setInvStack(int_1, itemStack_3); } else { spawn(world_1, target.x, target.y, target.z, itemStack_3); } } } Vec3d vec = new Vec3d(blockPos_1).add(0.5, 0.5, 0.5); ServerWorld world = (ServerWorld) world_1; world.playSound(null, blockPos_1, SoundEvents.ENTITY_VILLAGER_WORK_MASON, SoundCategory.BLOCKS, 0.2f, 2.0f); ci.cancel(); }
Example #8
Source File: RecipeManagerInterface.java From fabric-carpet with MIT License | votes |
List<Recipe<?>> getAllMatching(RecipeType type, Identifier output);