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

1.8 Right-Click on block to get items doesn't work


OrangeVillager61
 Share

Recommended Posts

Hello! I am trying to get it to when I right-click the block (a block from my mod) the blockstate is full it will change to empty and it will drop two items.

However when I right-click the block the items don't appear. :(

 

The code below:

 

@Override

public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ) {

if (state.getValue(TYPE) == EnumType.FULL){

worldIn.setBlockState(pos, (this.blockState.getBaseState().withProperty(TYPE, EnumType.EMPTY)));

EntityItem entityitem1 = new EntityItem(worldIn, hitX, hitY, hitZ, new ItemStack(Items.bucket, 1));

EntityItem entityitem2 = new EntityItem(worldIn, hitX, hitY, hitZ, new ItemStack(OraniaItems.bucket_of_brine, 1));

worldIn.spawnEntityInWorld(entityitem1);

worldIn.spawnEntityInWorld(entityitem2);

return true;

}

return false;

}

Link to comment
Share on other sites

Not sure if your just making a simple slip-up or don't know java well enough yet.

 

A single equals is for assigning a value, a double equals is for comparing.

 

(worldIn.isRemote = false)

^ This is trying to set the isRemote field to false, but you can't because its final.

 

if (worldIn.isRemote == false)

^ this is what you want

Or better yet:  if (!worldIn.isRemote)

It is the shortened form of: if (worldIn.isRemote != true)

The exclamation mark represents not, so the statement is read as 'if world.isRemote is not true' thus its false.

 

 

Link to comment
Share on other sites

(I put the entire onBlockActivated code)

 

@Override

public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ) {

// This is some other code go to the next //

if (state.getValue(TYPE) == EnumType.EMPTY){

ItemStack itemstack = playerIn.getCurrentEquippedItem();

if (itemstack.getItem() == Items.water_bucket){

worldIn.setBlockState(pos, (this.blockState.getBaseState().withProperty(TYPE, EnumType.FULL)));

if (!playerIn.capabilities.isCreativeMode) {

playerIn.destroyCurrentEquippedItem();

return true;

}

 

}

}

//This is the code I'm using

if (!worldIn.isRemote){

if (state.getValue(TYPE) == EnumType.FULL){

worldIn.setBlockState(pos, (this.blockState.getBaseState().withProperty(TYPE, EnumType.EMPTY)));

EntityItem entityitem1 = new EntityItem(worldIn, hitX, hitY, hitZ, new ItemStack(Items.bucket, 1));

EntityItem entityitem2 = new EntityItem(worldIn, hitX, hitY, hitZ, new ItemStack(OraniaItems.bucket_of_brine, 1));

worldIn.spawnEntityInWorld(entityitem1);

worldIn.spawnEntityInWorld(entityitem2);

return true;

}

}

return false;

}

Link to comment
Share on other sites

What I meant by This is some other code go to the next // is different code unrelated with my problem. I adjusted the code however it still does not work.

 

@Override

public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ) {

 

if (state.getValue(TYPE) == EnumType.EMPTY){

ItemStack itemstack = playerIn.getCurrentEquippedItem();

if (itemstack.getItem() == Items.water_bucket){

worldIn.setBlockState(pos, (this.blockState.getBaseState().withProperty(TYPE, EnumType.FULL)));

if (!playerIn.capabilities.isCreativeMode) {

playerIn.destroyCurrentEquippedItem();

return true;

}

return false;

}

}

if (!worldIn.isRemote){

if (state.getValue(TYPE) == EnumType.FULL){

worldIn.setBlockState(pos, (this.blockState.getBaseState().withProperty(TYPE, EnumType.EMPTY)));

EntityItem entityitem1 = new EntityItem(worldIn, hitX, hitY, hitZ, new ItemStack(Items.bucket, 1));

EntityItem entityitem2 = new EntityItem(worldIn, hitX, hitY, hitZ, new ItemStack(OraniaItems.bucket_of_brine, 1));

worldIn.spawnEntityInWorld(entityitem1);

worldIn.spawnEntityInWorld(entityitem2);

return true;

}

}

return true;

}

 

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.
Note: Your post will require moderator approval before it will be visible.

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

    • I'm new to modding and I want to do this. What class would I put that in?
    • That is a different crash report. Please post the debug.log file from the logs folder.
    • [22Jan.2022 18:41:22.485] [Server thread/ERROR] [net.minecraftforge.eventbus.EventBus/EVENTBUS]: Exception caught during firing event: 'net.minecraft.nbt.CompoundTag net.minecraft.world.level.block.entity.SignBlockEntity.save(net.minecraft.nbt.CompoundTag)'     Index: 4     Listeners:         0: HIGH         1: ASM: class dev.architectury.event.forge.EventHandlerImplCommon event(Lnet/minecraftforge/event/server/ServerStartingEvent;)V         2: NORMAL         3: ASM: cyclopscore onServerStarting(Lnet/minecraftforge/event/server/ServerStartingEvent;)V         4: ASM: chanceCubes.CCubesCore@5b77fda6 serverStart(Lnet/minecraftforge/event/server/ServerStartingEvent;)V         5: ASM: mods.waterstrainer.event.EventServerStarting@2dc1913f onServerStarting(Lnet/minecraftforge/event/server/ServerStartingEvent;)V         6: ASM: com.song.castle_in_the_sky.CastleInTheSky@1f8c253d onServerStarting(Lnet/minecraftforge/event/server/ServerStartingEvent;)V         7: ASM: se.mickelus.tetra.TetraMod@203a3089 serverStarting(Lnet/minecraftforge/event/server/ServerStartingEvent;)V         8: net.minecraftforge.eventbus.EventBus$$Lambda$4325/0x0000000800c57770@71737087         9: ASM: de.teamlapen.vampirism.VampirismMod@1213b1b onServerStart(Lnet/minecraftforge/event/server/ServerStartingEvent;)V         10: net.minecraftforge.eventbus.EventBus$$Lambda$4325/0x0000000800c57770@1a894d2d         11: net.minecraftforge.eventbus.EventBus$$Lambda$4325/0x0000000800c57770@3deb329 java.lang.NoSuchMethodError: 'net.minecraft.nbt.CompoundTag net.minecraft.world.level.block.entity.SignBlockEntity.save(net.minecraft.nbt.CompoundTag)'     at TRANSFORMER/chancecubes@1.18.1-5.0.2.444/chanceCubes.rewards.DefaultRewards.loadDefaultRewards(DefaultRewards.java:124)     at TRANSFORMER/chancecubes@1.18.1-5.0.2.444/chanceCubes.CCubesCore.serverStart(CCubesCore.java:123)     at net.minecraftforge.eventbus.ASMEventHandler_101_CCubesCore_serverStart_ServerStartingEvent.invoke(.dynamic)     at MC-BOOTSTRAP/eventbus@5.0.3/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85)     at MC-BOOTSTRAP/eventbus@5.0.3/net.minecraftforge.eventbus.EventBus.post(EventBus.java:302)     at MC-BOOTSTRAP/eventbus@5.0.3/net.minecraftforge.eventbus.EventBus.post(EventBus.java:283)     at TRANSFORMER/forge@39.0.56/net.minecraftforge.server.ServerLifecycleHooks.handleServerStarting(ServerLifecycleHooks.java:102)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.base/java.lang.reflect.Method.invoke(Method.java:568)     at TRANSFORMER/net.optifine/net.optifine.reflect.Reflector.callBoolean(Reflector.java:702)     at TRANSFORMER/minecraft@1.18.1/net.minecraft.client.server.IntegratedServer.m_7038_(IntegratedServer.java:90)     at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:644)     at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:258)     at java.base/java.lang.Thread.run(Thread.java:833) [22Jan.2022 18:41:22.509] [Server thread/DEBUG] [mixin/]: Mixing MixinChunkSerializer from architectury.mixins.json into net.minecraft.world.level.chunk.storage.ChunkSerializer [22Jan.2022 18:41:28.076] [Server thread/DEBUG] [net.minecraftforge.fml.loading.FileUtils/CORE]: Found existing serverconfig directory : C:\Users\UTW\AppData\Roaming\.minecraft\saves\New World\serverconfig [22Jan.2022 18:41:28.076] [Server thread/DEBUG] [net.minecraftforge.fml.config.ConfigTracker/CONFIG]: Unloading configs type SERVER Sry if its not the right one, im pretty new at Forge
    • I have a modded server that worked before I changed the config for SereneSeasons (made the seasons longer and turned off offline season progression). Now it just gives said error message, even after reverting the changes.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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