Jump to content
  • Home
  • Files
  • Docs
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • Block that drowns, but isn't water
Currently Supported: 1.16.X (Latest) and 1.15.X (LTS)
Sign in to follow this  
Followers 0
Draco18s

Block that drowns, but isn't water

By Draco18s, May 17, 2013 in Modder Support

  • Reply to this topic
  • Start new topic

Recommended Posts

Draco18s    2414

Draco18s

Draco18s    2414

  • Reality Controller
  • Draco18s
  • Members
  • 2414
  • 15998 posts
Posted May 17, 2013

I'm trying to create a block that causes the player to suffocate (with a breath meter) but which doesn't allow the player to swim "up" in it.

 

Currently both of these functions are handled exclusively by the block's material type.

 

//EntityLiving.java

If(Material == Material.water) { breath goes down } else { reset to full }
If(Material == Material.water) { allow swimming }

 

So while my block can get and set the player's air value, because my block's material is-not-water, the EntityPlayer just resets it to 300 anyway.

 

But if I use Material.water as my block's material, the player is allowed to swim in it (various forms of negating the swimming have been tried, to much amusement).

 

Suggestions?

  • Quote

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.

Share this post


Link to post
Share on other sites

tuskiomi    11

tuskiomi

tuskiomi    11

  • Creeper Killer
  • tuskiomi
  • Forge Modder
  • 11
  • 153 posts
Posted May 17, 2013

xmaybe make your own material, just copy water but screw it up a little? :-X

or maybe make an oncollide (or something simmilar, can't remember) with 2 double varibles

1 = last Y pos

2 = current Y pos

if(1 < 2 && 2 != 0xF) { move the player back down;}

else{//whatever you want}

1 = 2;

2 = 0xF;

  • Quote

Also, I should have you know that you are reading my signature.

Share this post


Link to post
Share on other sites

Draco18s    2414

Draco18s

Draco18s    2414

  • Reality Controller
  • Draco18s
  • Members
  • 2414
  • 15998 posts
Posted May 17, 2013

xmaybe make your own material, just copy water but screw it up a little? :-X

 

Won't work.  Drowning is entirely tied to Material.water.

 

or maybe make an oncollide (or something simmilar, can't remember) with 2 double varibles

1 = last Y pos

2 = current Y pos

if(1 < 2 && 2 != 0xF) { move the player back down;}

else{//whatever you want}

1 = 2;

2 = 0xF;

 

That is exactly what resulted in flinging me to Y=10,000,000

  • Quote

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.

Share this post


Link to post
Share on other sites

Chibill    9

Chibill

Chibill    9

  • Dragon Slayer
  • Chibill
  • Forge Modder
  • 9
  • 584 posts
Posted May 17, 2013

Make a material that is like water with the propertys you want and without that ones you don't.

  • Quote

Share this post


Link to post
Share on other sites

Draco18s    2414

Draco18s

Draco18s    2414

  • Reality Controller
  • Draco18s
  • Members
  • 2414
  • 15998 posts
Posted May 17, 2013

Make a material that is like water with the propertys you want and without that ones you don't.

 

WATER AS A MATERIAL IS NOT RESPONSIBLE FOR THE DESIRED BEHAVIOR.  How many times do I have to say that?

 

EntityLiving is responsible for the desired behavior:

 

if (this.isEntityAlive() && this.isInsideOfMaterial(Material.water) && !this.canBreatheUnderwater() && !this.activePotionsMap.containsKey(Integer.valueOf(Potion.waterBreathing.id)) && !flag) {
    this.setAir(this.decreaseAirSupply(this.getAir()));

 

Note how it references Material.water.

  • Quote

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.

Share this post


Link to post
Share on other sites

Mew    36

Mew

Mew    36

  • Dragon Slayer
  • Mew
  • Members
  • 36
  • 567 posts
Posted May 17, 2013

Hmm... I was wondering, could you maybe make an invisible replica of the player entity that has these set attributes? Then, when you needed to use those attributes, switch out the EntityPlayer to your "clone"? Then once that action has been performed, reverts back to that EntityPlayer that was originally used?

  • Quote

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Share this post


Link to post
Share on other sites

Draco18s    2414

Draco18s

Draco18s    2414

  • Reality Controller
  • Draco18s
  • Members
  • 2414
  • 15998 posts
Posted May 17, 2013

Hmm... I was wondering, could you maybe make an invisible replica of the player entity that has these set attributes? Then, when you needed to use those attributes, switch out the EntityPlayer to your "clone"? Then once that action has been performed, reverts back to that EntityPlayer that was originally used?

 

No, because it's update function will still revert the breath bar to full.

  • Quote

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.

Share this post


Link to post
Share on other sites

Mew    36

Mew

Mew    36

  • Dragon Slayer
  • Mew
  • Members
  • 36
  • 567 posts
Posted May 17, 2013

I believe I didn't explain my idea well enough. And it would also require a core mod to be made.

 

 

have you tried making a function that "Mirrors" the normal function? Then mirror everything else that is needed for it and such? Though this will also probably require either a base edit or a core mod.

  • Quote

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Share this post


Link to post
Share on other sites

Draco18s    2414

Draco18s

Draco18s    2414

  • Reality Controller
  • Draco18s
  • Members
  • 2414
  • 15998 posts
Posted May 17, 2013
I believe I didn't explain my idea well enough. And it would also require a core mod to be made.

 

If I wanted to do a core mod, I'd simply fix the existing EntityLiving class so that it checks for material properties rather than seeing if the material is water (same thing with item frames using "is the item in my inventory exactly equal to Item.map" instead of "is the item in my inventory isMap?".[1]

 

have you tried making a function that "Mirrors" the normal function? Then mirror everything else that is needed for it and such? Though this will also probably require either a base edit or a core mod.

 

Explain better.  But if it has to be a base edit or core mod, see above.

  • Quote

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.

Share this post


Link to post
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.   Paste as plain text instead

  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.

    • Insert image from URL
×
  • Desktop
  • Tablet
  • Phone
Sign in to follow this  
Followers 0
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • cadbane86140
      Minecraft: Parkour Stairs Part 1!

      By cadbane86140 · Posted 7 minutes ago

      Hello There! Today we are playing a BRAND NEW parkour map that was actually just released about a month ago and all I gotta say is that this map is so freaking unique and the map creators did something with this map that we have never seen in parkour before! There are so many hilarious moments in this video that I know you guys are gonna love! I hope you all enjoy this video and if you did don't forget to like and sub for more! https://www.youtube.com/watch?v=5aGkMp5bExg
    • cadbane86140
      Revisiting our 2013 head shop!

      By cadbane86140 · Posted 8 minutes ago

      Hello there! With the recent re release of the old creative server I knew I had to make a video on there. So that is exactly what we did! We did a small tour of our old plot like we did last time but however we remembered some of our old friends and we checked out their old plots too! If you guys want us to do more where we just travel to different plots and talk about them let me know! But I hope you all enjoy this video and if you did don’t forget to like and sub for more videos Like this in the future! https://youtu.be/_m_lViaMlGU
    • kiou.23
      Block Rotate

      By kiou.23 · Posted 36 minutes ago

      That's usually the case, always try to understand the code before copy and pasting, or else you'll get a lot of headaches later in the code's life
    • Varzac
      Forge jar file not opening

      By Varzac · Posted 1 hour ago

      I ran Jarfix and then tried installing again with the same results. Nothing happening I even tried using winrar, but as you said nothing happened
    • BeardlessBrady
      [1.16.4] Null when OpenGUI

      By BeardlessBrady · Posted 1 hour ago

      Ah.. Thats what I get for stopping half way through and not double checking, thanks!
  • Topics

    • cadbane86140
      0
      Minecraft: Parkour Stairs Part 1!

      By cadbane86140
      Started 7 minutes ago

    • cadbane86140
      0
      Revisiting our 2013 head shop!

      By cadbane86140
      Started 8 minutes ago

    • ehbean
      10
      Block Rotate

      By ehbean
      Started 7 hours ago

    • Varzac
      3
      Forge jar file not opening

      By Varzac
      Started 13 hours ago

    • BeardlessBrady
      2
      [1.16.4] Null when OpenGUI

      By BeardlessBrady
      Started 1 hour ago

  • Who's Online (See full list)

    • Gorp5
    • cadbane86140
    • JackRaidenPH
    • ehbean
    • We Random
    • The_Deadly_Taco
    • kiou.23
    • DieGo901yt
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • Block that drowns, but isn't water
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community