Jump to content

Recommended Posts

Posted

just had a quick kin through water and dmg files, cant see how to use the bublles bar like in water but you could just set the bounding box to zero and have on entitycolllide with and then make them take suffocation dmg

Use examples, i have aspergers.

Examples make sense to me.

Posted

public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)

{

if (par5Entity instanceof EntityLiving){

par5Entity.attackEntityFrom(DamageSource.drown, 1);

}}

Use examples, i have aspergers.

Examples make sense to me.

Posted

Yeah but i want that the airlevel goes down and the vannilla drown goes down from allone.

 

Also when i use material.water than it works.

But also then you can swim inside of this block.

Thats why i want to make a custom Material for it.

^^" But with that it does not work^^"

Posted

Search inside of the EntityLiving class for "setAir(par1)"

I have to override this class for these kind of functions!

Because the air handeling is inside of the EntityLiving class.

^^" Maybe i have to^^

Posted

i couldnt see anything in that class, but i have done some digging to try and help and i found that you can maybe use "AttributeModifier"???

 

i found this is the potion code, because if you can modify it up for a potion, surely you can modify it down when the player enters the block? not really sure, i am not a very advanced coder :/

Use examples, i have aspergers.

Examples make sense to me.

Posted

GotoLink. Forget it.

That will not work because in the same tick the air will be rested back to 300.

I must override the EntityLiving class!

I tried already so many ways how to add it^^ Every time same result!

Air resets.

Posted

Well if the air resets, un-reset it. store the value you're at in the tick handler and on each tick, set the air value to the stored value, then, after x ticks, decrease the value and store the new one.

Posted

GotoLink. Forget it.

That will not work because in the same tick the air will be rested back to 300.

I must override the EntityLiving class!

I tried already so many ways how to add it^^ Every time same result!

Air resets.

 

Well then the best thing to do is to figure out WHAT and WHY resets it?

;)

If you guys dont get it.. then well ya.. try harder...

Posted

Having actually messed with this:

 

From EntityLiving (or EntityLivingBase, if you're new enough):

 

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

                if (this.getAir() == -20)
                {
                    this.setAir(0);

                    for (int i = 0; i < 8; ++i)
                    {
                        float f = this.rand.nextFloat() - this.rand.nextFloat();
                        float f1 = this.rand.nextFloat() - this.rand.nextFloat();
                        float f2 = this.rand.nextFloat() - this.rand.nextFloat();
                        this.worldObj.spawnParticle("bubble", this.posX + (double)f, this.posY + (double)f1, this.posZ + (double)f2, this.motionX, this.motionY, this.motionZ);
                    }

                    this.attackEntityFrom(DamageSource.drown, 2.0F);
                }
            }

            this.extinguish();

            if (!this.worldObj.isRemote && this.isRiding() && ridingEntity!=null && ridingEntity.shouldDismountInWater(this))
            {
                this.mountEntity((Entity)null);
            }
        }
        else
        {
            this.setAir(300);
        }

 

If the entity is inside a block of material type water, they drown.  Otherwise they get full air (that's what's resetting it).

Problem is, Material.Water is also what allows for swimming.

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.

Posted

Draco18s you are right! And also it rendere the screen a little bit blue^^

Thats what my problem is i also do not use the FluidClass for my liquid^^

Thats why both would not work^^ xD

 

Thats why ill request that they add that^^ also i think galic craft have the same problem^^"

 

Posted
also i think galic craft have the same problem^^"

 

Galicraft replaces the player class with their own, avoiding the issue (and also getting thing things like low gravity).

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.

Posted

Couldn't one then create a new material which extends water and removes the swimming effect?

Or which acts like "air" but adds suffocation effect? :)

If you guys dont get it.. then well ya.. try harder...

Posted

Briggybros' idea could work fine, but might be a bit slow in multiplayer.

 

Let's go all out, and do our own air counter (added in player data), and our own gui with drown bar (using RenderGameOverlayEvent).

This way you can change whatever you want, from the air duration to the gui color.

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.