Posted May 29, 20187 yr Hey, I wanna to remove more than one item, out of the crafting grid. All works fine, only when the input is smaler than 2 x remove stack, it doesn`t work... Here is my code: Spoiler //RECIPE package oect.lwaltens.luckyblockoect.recipe; import net.minecraft.client.renderer.texture.Stitcher.Slot; import net.minecraft.init.Items; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.Ingredient; import net.minecraft.item.crafting.ShapedRecipes; import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraft.util.registry.RegistrySimple; import net.minecraft.world.World; import oect.lwaltens.luckyblockoect.LuckyBlockOect; import oect.lwaltens.luckyblockoect.registeries.LuckyBlockOect_Items; import oect.lwaltens.luckyblockoect.registeries.LuckyBlockOect_Shop; public class Shop_Slot_0 implements IRecipe { @Override public ResourceLocation getRegistryName() { return new ResourceLocation("slot_0"); } @Override public ItemStack getCraftingResult(InventoryCrafting craftMatrix) { return new ItemStack(LuckyBlockOect_Items.blendgrenate, 1); } @Override public boolean canFit(int width, int height) { return true; } @Override public ItemStack getRecipeOutput() { return new ItemStack(LuckyBlockOect_Items.blendgrenate, 1); } @Override public Class<IRecipe> getRegistryType() { return IRecipe.class; } @Override public boolean matches(InventoryCrafting craftMatrix, World worldIn) { if (craftMatrix.getSizeInventory() != 15) return false; boolean matches = false; for (int i = 0; i < 1; i++) { matches = craftMatrix.getStackInSlot(i) != null && craftMatrix.getStackInSlot(i).getItem() == Items.DIAMOND && craftMatrix.getStackInSlot(i).getCount() > 4; if (!matches) break; } return matches; } @Override public IRecipe setRegistryName(ResourceLocation name) { return LuckyBlockOect_Shop.slot_0; } } //Item Crafted Event (EventHandler is regitered both Sides with the EVENT_BUS @SubscribeEvent public void onCraft(ItemCraftedEvent event) { IInventory craftMatrix = event.craftMatrix; Item i = event.crafting.getItem(); if(i == LuckyBlockOect_Items.blendgrenate) { ItemStack size = craftMatrix.getStackInSlot(0); size.shrink(4); }
May 29, 20187 yr 2 minutes ago, #ÖCT said: only when the input is smaler than 2 x remove stack, it doesn`t work Vanilla is not set up to handle recipe stacks being anything other than 1. So don't do that. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.