Jump to content

Recommended Posts

Posted

Hi im very new to forge mdk and have never done java before so im self teaching.

 

Im making a mod that provides a drain and when placed will over time delete water source blocks around it. I want it to delete the water from the top down. So if you have a room full of water it will read the top layer that has water in it and count how many water source block are on that y plane. It will the take the amount of water blocks and times it by something like 3 so that for each block of water in the room, 3 seconds is added to the amount of time required to pass before the water in that y layer is removed.

 

I am unsure how to make the block replace water with air or what function to use. Right now i just want to focus on getting the block to delete water. 

 

Sorry if my explanation is unclear.

Thanks for the help.

Posted
  On 10/7/2020 at 12:46 AM, LostALifeGaming said:

have never done java before

Expand  

Do java first, then come back and try to do modding. Learning both at the same time is a terrible way to start programming.

  On 10/7/2020 at 12:46 AM, LostALifeGaming said:

I want it to delete the water from the top down. So if you have a room full of water it will read the top layer that has water in it and count how many water source block are on that y plane

Expand  

Highly ambitious and also problematic. Unloaded areas will be affected and it will be editing a wide range of blocks like a multipart. Since it's also not in a standard shape, it becomes even more of an issue. There are a few way I can think of though, but that's regardless of any lag.

  On 10/7/2020 at 12:46 AM, LostALifeGaming said:

I am unsure how to make the block replace water with air or what function to use.

Expand  

World#setBlockState or World#destroyBlock should do nicely.

Posted
  On 10/7/2020 at 1:53 AM, ChampionAsh5357 said:

Do java first, then come back and try to do modding. Learning both at the same time is a terrible way to start programming.

Expand  

I understand what you mean but whenever i have come across a term i dont understand (I know basic C# so im not completely new to programming) i end up searching it up and most of the time that works for me and i dont mind the challenge of learning java while making the mod. If anything it means when i learn something new i can remember it by what i used it for.

  On 10/7/2020 at 1:53 AM, ChampionAsh5357 said:

Highly ambitious and also problematic. Unloaded areas will be affected and it will be editing a wide range of blocks like a multipart. Since it's also not in a standard shape, it becomes even more of an issue. There are a few way I can think of though, but that's regardless of any lag.

Expand  

Ok thanks for telling me, what do you suggest would be a resonable way to do it?

  On 10/7/2020 at 1:53 AM, ChampionAsh5357 said:

World#setBlockState or World#destroyBlock should do nicely.

Expand  

Ok thanks but where would this need to be. Would it sit in a class for when the block is placed or does it passively run in all instances of the block. 

Posted
  On 10/7/2020 at 3:11 AM, LostALifeGaming said:

Ok thanks for telling me, what do you suggest would be a resonable way to do it?

Expand  

There's not really a reasonable way to do it. The bigger the water size, the more checks needed and the greater amount of lag on the system. There's no real optimization in something like this other than caching block positions which are water.

  On 10/7/2020 at 3:11 AM, LostALifeGaming said:

Ok thanks but where would this need to be.

Expand  

Probably in a tile entity of some sort since you require some kind of timing feature.

  On 10/7/2020 at 3:11 AM, LostALifeGaming said:

i dont mind the challenge of learning java while making the mod

Expand  

Less of a challenge and more of falling into bad habits looking at very problematic code. Hence why we suggest not starting it that way as it only detriments your learning.

Posted
  On 10/7/2020 at 3:17 AM, ChampionAsh5357 said:

Less of a challenge and more of falling into bad habits looking at very problematic code. Hence why we suggest not starting it that way as it only detriments your learning.

Expand  

Ok i will have a look into java begginer tutorials. 

 

  On 10/7/2020 at 3:17 AM, ChampionAsh5357 said:

Probably in a tile entity of some sort since you require some kind of timing feature.

Expand  

Thanks i'll have a look into tile entity development :)

 

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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.