Posted July 13, 20205 yr Hi, I am directly copying a method from net.minecraft.block.Block to implement it in my ModBlock class that extends Block. When I literally copy and paste the method and add @Override to the method, it says that the method must exist in the extended class eg Block. I'm severely confused as this is a basic in Java??? Here is my ModBlock.class package com.zeher.zeherlib.mod.block; import net.minecraft.block.Block; import net.minecraft.entity.item.ItemEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import net.minecraft.world.GameRules; import net.minecraft.world.World; public class ModBlock extends Block { public ModBlock(Block.Properties properties) { super(properties); } @Override public static void spawnAsEntity(World worldIn, BlockPos pos, ItemStack stack) { if (!worldIn.isRemote && !stack.isEmpty() && worldIn.getGameRules().getBoolean(GameRules.DO_TILE_DROPS) && !worldIn.restoringBlockSnapshots) { double d0 = (double) (worldIn.rand.nextFloat() * 0.5F) + 0.25D; double d1 = (double) (worldIn.rand.nextFloat() * 0.5F) + 0.25D; double d2 = (double) (worldIn.rand.nextFloat() * 0.5F) + 0.25D; ItemEntity itementity = new ItemEntity(worldIn, (double) pos.getX() + d0, (double) pos.getY() + d1, (double) pos.getZ() + d2, stack); itementity.setDefaultPickupDelay(); worldIn.addEntity(itementity); } } } Is this method somehow abstract? Edited July 13, 20205 yr by Zeher_Monkey
July 13, 20205 yr It means you're not actually overriding a method. i.e. the signature (name, parameters, return type) don't match a method in the parent class. 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.
July 13, 20205 yr 5 hours ago, Zeher_Monkey said: I'm severely confused as this is a basic in Java??? You're trying to override a static method, you can't do that, and it doesn't even make sense. It's sad how much time mods spend saying "x is no longer supported on this forum. Please update to a modern version of Minecraft to receive support".
July 13, 20205 yr Author Okay, didn't know that. I'm trying to get a block to drop an item, like diamond ore blocks drop diamonds. In previous versions I would use @Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { return this.item; } But I cant find a suitable replacement in 1.14.4. I have also tried mining my block in survival and the block doesn't drop anything. This is the properties of the Block: Block.Properties.create(Material.IRON).hardnessAndResistance(8).harvestLevel(2).harvestTool(ToolType.PICKAXE).lightValue(15) Edited July 13, 20205 yr by Zeher_Monkey
July 13, 20205 yr Author Nevermind, I have figured it out. I have to use loot_tables.json files for each block i register. Inside resources/data/modid/loot_tables/blocks/block.json And I can choose what it drops and the amount.
July 13, 20205 yr 1 hour ago, Zeher_Monkey said: Okay, didn't know that. Of course you can't override static methods, as Block.SomeFunc is always going to be part of the Block class 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.
July 13, 20205 yr Author 6 minutes ago, Draco18s said: Of course you can't override static methods, as Block.SomeFunc is always going to be part of the Block class Got it. Been programming in Java for 9 years and only just now found that out. Learn something new... haha
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.