Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.16.5] Replace block after it's broken


 Share

Recommended Posts

I'm trying to make it so when my block is broken, it gets replaced by another block, but this code won't work:

@Override
public void onBlockHarvested(World worldIn, BlockPos pos, BlockState state, PlayerEntity player) {
    super.onBlockHarvested(worldIn, pos, state, player);
    worldIn.setBlockState(pos, modBlocks.STAKE.get().getDefaultState(), 3);
}

I changed pos to pos.up(), and it worked correctly (placed the block above itself when broken), but setting the block and the current position doesn't work. Help?

Link to comment
Share on other sites

23 minutes ago, MLGDuckboi said:

I changed pos to pos.up(), and it worked correctly (placed the block above itself when broken), but setting the block and the current position doesn't work. Help?

don't use onBlockHarvested, use harvestBlock instead

Link to comment
Share on other sites

onBlockHarvested is called before the block is removed from the world. If you change the block, it will then be removed afterwards, in place of the block originally being there.

harvestBlock is called after the block has been removed by the player.

Link to comment
Share on other sites

Posted (edited)

Almost works like I want it to, but doesn't work in creative for some reason?

Edit: The method is called when loot is spawned, and loot isn't spawned in creative, I assume thats problem

Edited by MLGDuckboi
NA
Link to comment
Share on other sites

Yes in creative the block is simply removed. You can use Block#onPlayerDestroy for this, which will be called after the world has been removed by the player, but even if they did not harvest it (i.e. wrong tool so no drops or creative mode).

Link to comment
Share on other sites

Will this also work if I put this in BlockEvent.BreakEvent? Let's say I check if the player is breaking a Stone block and trying to replace that with something else.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • yes it does, I have tried deleting the world data several times but it keeps throwing me this error.
    • Does this happen on a fresh world?
    • [26.10 10:24:18] [Server] [main/ERROR] [minecraft/SaveFormat]: Exception reading ./world/level.dat [26.10 10:24:18] [Server] java.lang.IllegalStateExceptionNot a JSON Object: null [26.10 10:24:18] [Server]     at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90) ~[server-1.16.5-20210115.111550-extra.jar:?] {} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.WorldSettingsImport$IResourceAccess$1.func_241879_a(WorldSettingsImport.java:193) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.WorldSettingsImport.func_241805_a_(WorldSettingsImport.java:131) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.WorldSettingsImport.func_240885_a_(WorldSettingsImport.java:105) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.WorldSettingsImport.func_241797_a_(WorldSettingsImport.java:104) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.SimpleRegistryCodec.func_240862_a_(SourceFile:35) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.lambda$null$13(DataResult.java:143) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.lambda$flatMap$15(DataResult.java:142) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.datafixers.util.Either$Right.map(Either.java:99) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.SimpleRegistryCodec.decode(SourceFile:35) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder$2.decode(Decoder.java:63) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[?:?] {re:classloading,re:mixin} [26.10 10:24:18] [Server]     at com.mojang.serialization.codecs.FieldDecoder.decode(FieldDecoder.java:29) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$5.decode(RecordCodecBuilder.java:324) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.codecs.RecordCodecBuilder$2.decode(RecordCodecBuilder.java:107) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder$1.decode(Decoder.java:49) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder.decode(Decoder.java:22) ~[?:?] {re:classloading,re:mixin} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder.parse(Decoder.java:26) ~[?:?] {re:classloading,re:mixin} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat.func_237259_a_(SaveFormat.java:99) ~[?:?] {re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat.lambda$getReader$4(SaveFormat.java:197) ~[?:?] {re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat.func_237266_a_(SaveFormat.java:158) ~[?:?] {re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat.func_237263_a_(SaveFormat.java:63) ~[?:?] {re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat$LevelSave.func_237284_a_(SaveFormat.java:324) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.server.Main.main(Main.java:139) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at net.minecraftforge.fml.loading.FMLServerLaunchProvider.lambda$launchService$0(FMLServerLaunchProvider.java:51) ~[custom.jar:36.{} [26.10 10:24:18] [Server]     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {} [26.10 10:24:18] [Server]     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {} [26.10 10:24:18] [Server]     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {} [26.10 10:24:18] [Server]     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {re:classloading} [26.10 10:24:18] [Server]     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraftforge.server.ServerMain$Runner.runLauncher(ServerMain.java:63) [custom.jar:?] {} [26.10 10:24:18] [Server]     at net.minecraftforge.server.ServerMain$Runner.access$100(ServerMain.java:60) [custom.jar:?] {} [26.10 10:24:18] [Server]     at net.minecraftforge.server.ServerMain.main(ServerMain.java:57) [custom.jar:?] {} [26.10 10:24:18] [Server] [main/ERROR] [minecraft/SaveFormat]: Exception reading ./world/level.dat_old [26.10 10:24:18] [Server] java.lang.IllegalStateExceptionNot a JSON Object: null [26.10 10:24:18] [Server]     at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90) ~[server-1.16.5-20210115.111550-extra.jar:?] {} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.WorldSettingsImport$IResourceAccess$1.func_241879_a(WorldSettingsImport.java:193) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.WorldSettingsImport.func_241805_a_(WorldSettingsImport.java:131) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.WorldSettingsImport.func_240885_a_(WorldSettingsImport.java:105) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.WorldSettingsImport.func_241797_a_(WorldSettingsImport.java:104) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.SimpleRegistryCodec.func_240862_a_(SourceFile:35) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.lambda$null$13(DataResult.java:143) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.lambda$flatMap$15(DataResult.java:142) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.datafixers.util.Either$Right.map(Either.java:99) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at net.minecraft.util.registry.SimpleRegistryCodec.decode(SourceFile:35) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder$2.decode(Decoder.java:63) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[?:?] {re:classloading,re:mixin} [26.10 10:24:18] [Server]     at com.mojang.serialization.codecs.FieldDecoder.decode(FieldDecoder.java:29) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$5.decode(RecordCodecBuilder.java:324) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.codecs.RecordCodecBuilder$2.decode(RecordCodecBuilder.java:107) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder$1.decode(Decoder.java:49) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder.decode(Decoder.java:22) ~[?:?] {re:classloading,re:mixin} [26.10 10:24:18] [Server]     at com.mojang.serialization.Decoder.parse(Decoder.java:26) ~[?:?] {re:classloading,re:mixin} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat.func_237259_a_(SaveFormat.java:99) ~[?:?] {re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat.lambda$getReader$4(SaveFormat.java:197) ~[?:?] {re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat.func_237266_a_(SaveFormat.java:165) ~[?:?] {re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat.func_237263_a_(SaveFormat.java:63) ~[?:?] {re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.world.storage.SaveFormat$LevelSave.func_237284_a_(SaveFormat.java:324) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A} [26.10 10:24:18] [Server]     at net.minecraft.server.Main.main(Main.java:139) ~[?:?] {re:classloading} [26.10 10:24:18] [Server]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_{} [26.10 10:24:18] [Server]     at net.minecraftforge.fml.loading.FMLServerLaunchProvider.lambda$launchService$0(FMLServerLaunchProvider.java:51) ~[custom.jar:36.{} [26.10 10:24:18] [Server]     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {} [26.10 10:24:18] [Server]     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}
    • Yeah that's why I said "more or less." I'm unfamiliar with the official mappings.
    • 1.7 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.