Posted October 5, 20214 yr my code is: package com.klimooss123.metalmaster.tileentity; import com.klimooss123.metalmaster.Main; import com.klimooss123.metalmaster.init.BlockInit; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityType; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class TileEntities { public static DeferredRegister<TileEntityType<?>> TILE_ENTITIS = DeferredRegister.create(ForgeRegistries.TILE_ENTITIES, Main.MOD_ID); public static RegistryObject<TileEntityType<AlloySmelterTile>> ALLOY_SMELTER_TILE = TILE_ENTITIS.register("alloy_smelter_tile", () -> TileEntityType.Builder.of(AlloySmelterTile::new, BlockInit.alloysmelter).build(null)); public static void register(IEventBus eventBus) { TILE_ENTITIS.register(eventBus); } Edited October 5, 20214 yr by klimooss123 )
October 5, 20214 yr Author i have extantion is in: of(AlloySmelterTile::new, BlockInit.alloysmelter).build(null)); what i need to do?
October 5, 20214 yr Author my extantion is "Cannot resolve method 'of(<method reference>, net.minecraft.block.Block)"
October 5, 20214 yr Author blockInit: package com.klimooss123.metalmaster.init; import com.klimooss123.metalmaster.Main; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.minecraftforge.common.ToolType; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; import net.minecraftforge.registries.ObjectHolder; @ObjectHolder(Main.MOD_ID) @Mod.EventBusSubscriber(modid = Main.MOD_ID, bus = Bus.MOD) public class BlockInit { public static final Block resonite_block = null; public static final Block cerlomite_block = null; public static final Block parlomite_block = null; public static final Block tintium_block = null; public static final Block resonite_ore = null; public static final Block parlomite_ore = null; public static final Block alloysmelter = null; @SubscribeEvent public static void registerBlocks(final RegistryEvent.Register<Block> event) { event.getRegistry().register(new Block(Block.Properties.of(Material.HEAVY_METAL).harvestLevel(4).harvestTool(ToolType.PICKAXE).sound(SoundType.METAL).strength(8f)).setRegistryName("resonite_block")); event.getRegistry().register(new Block(Block.Properties.of(Material.HEAVY_METAL).harvestLevel(4).harvestTool(ToolType.PICKAXE).sound(SoundType.METAL).strength(10f)).setRegistryName("cerlomite_block")); event.getRegistry().register(new Block(Block.Properties.of(Material.HEAVY_METAL).harvestLevel(4).harvestTool(ToolType.PICKAXE).sound(SoundType.METAL).strength(14f)).setRegistryName("parlomite_block")); event.getRegistry().register(new Block(Block.Properties.of(Material.HEAVY_METAL).harvestLevel(4).harvestTool(ToolType.PICKAXE).sound(SoundType.METAL).strength(16f)).setRegistryName("tintium_block")); event.getRegistry().register(new Block(Block.Properties.of(Material.HEAVY_METAL).harvestLevel(4).harvestTool(ToolType.PICKAXE).sound(SoundType.METAL).strength(8f)).setRegistryName("resonite_ore")); event.getRegistry().register(new Block(Block.Properties.of(Material.HEAVY_METAL).harvestLevel(4).harvestTool(ToolType.PICKAXE).sound(SoundType.METAL).strength(8f)).setRegistryName("parlomite_ore")); event.getRegistry().register(new Block(Block.Properties.of(Material.HEAVY_METAL).harvestLevel(0).harvestTool(ToolType.PICKAXE).sound(SoundType.METAL).strength(8f)).setRegistryName("alloysmelter")); } @SubscribeEvent public static void registerBlockItem(final RegistryEvent.Register<Item> event) { event.getRegistry().register(new BlockItem(resonite_block, new Item.Properties().tab(Main.MetalMasterItemGroup.instance)).setRegistryName("resonite_block")); event.getRegistry().register(new BlockItem(cerlomite_block, new Item.Properties().tab(Main.MetalMasterItemGroup.instance)).setRegistryName("cerlomite_block")); event.getRegistry().register(new BlockItem(parlomite_block, new Item.Properties().tab(Main.MetalMasterItemGroup.instance)).setRegistryName("parlomite_block")); event.getRegistry().register(new BlockItem(tintium_block, new Item.Properties().tab(Main.MetalMasterItemGroup.instance)).setRegistryName("tintium_block")); event.getRegistry().register(new BlockItem(resonite_ore, new Item.Properties().tab(Main.MetalMasterItemGroup.instance)).setRegistryName("resonite_ore")); event.getRegistry().register(new BlockItem(parlomite_ore, new Item.Properties().tab(Main.MetalMasterItemGroup.instance)).setRegistryName("parlomite_ore")); event.getRegistry().register(new BlockItem(alloysmelter, new Item.Properties().tab(Main.MetalMasterItemGroup.instance)).setRegistryName("alloy_smelter")); } } AlloySmelterTile: package com.klimooss123.metalmaster.tileentity; import net.minecraft.block.BlockState; import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityType; import net.minecraft.util.Direction; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemStackHandler; import org.jetbrains.annotations.NotNull; import javax.annotation.Nonnull; import javax.annotation.Nullable; public class AlloySmelterTile extends TileEntity { private final ItemStackHandler itemHandler = createHandler(); private final LazyOptional<IItemHandler> handler = LazyOptional.of(() -> itemHandler); public AlloySmelterTile(TileEntityType<?> tileEntityTypeIn) { super(tileEntityTypeIn); } @Override public void load(@NotNull BlockState state, CompoundNBT nbt) { itemHandler.deserializeNBT(nbt.getCompound("inv")); super.load(state, nbt); } @Override public @NotNull CompoundNBT save(CompoundNBT compound) { compound.put("inv", itemHandler.serializeNBT()); return super.save(compound); } private ItemStackHandler createHandler() { return new ItemStackHandler(3) { @Override protected void onContentsChanged(int slot) { setChanged(); } @Override public int getSlotLimit(int slot) { return 1; } }; } @Nonnull @Override public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) { if (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { return handler.cast(); } return super.getCapability(cap, side); } }
October 5, 20214 yr Author 24 minutes ago, diesieben07 said: You need to explicitly specify the type parameters for the "of" method. i do that but no result
October 5, 20214 yr Author package com.klimooss123.metalmaster.tileentity; import com.klimooss123.metalmaster.Main; import com.klimooss123.metalmaster.init.BlockInit; import net.minecraft.tileentity.TileEntityType; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class TileEntities { public static DeferredRegister<TileEntityType<?>> TILE_ENTITIS = DeferredRegister.create(ForgeRegistries.TILE_ENTITIES, Main.MOD_ID); public static RegistryObject<TileEntityType<AlloySmelterTile>> ALLOY_SMELTER_TILE = TILE_ENTITIS.register("alloy_smelter_tile", () -> TileEntityType.Builder.of(AlloySmelterTile::new, (BlockInit.alloysmelter)).get(null)); public static void register(IEventBus eventBus) { TILE_ENTITIS.register(eventBus); } }
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.