Jump to content

Gas


wilcomega

Recommended Posts

so, we have reaced the point now that minecraft has an extensive collection of matter in the form of solid and liquid, mods add a bunch of liquids too, it all plays nice. but matter has 3 main categories( 4 if you count plasma ), solid, liquid and gas.

 

i think minecraft forge should add in the support for gas, because right now there are a few mods out there that have a gas system but as usual, if minecraft forge would make it would be much more stable.

 

this gas would not only be used for transfer between machines, i am seeing a vent wich lets gas into the air. like a toxic gas that will hurt or kill people in it. of course the gas would just float off(disappear) if you dont contain it. so build a room with a door and a vent, trick your firned and get him in there. turn on the gas and have a fantastic time!

 

this was just 1 example of whats possible. maybe the galacticraft mod will use this system instead of their "not so stable" oxygen system right now

let me know what you think!

 

PS sorry if this has already been suggested, but maybe i added extra content to the idea or made it more clear.

Link to comment
Share on other sites

I'm pretty sure there is, or used to be, a function for liquids called .isGaseous(true) to define them as a gas. What is majorly different between gasses and liquids anyway?

 

There is significant difference between gasses and liquids.

Gases cannot be something like transparent liquid or a liquid with a lot of air.

 

Gas has following properties:

 

1. Gas diffuses through the air if there is no barrier.

the diffusion velocity is dependent on the temperature and the molar mass of the gas.

 

2. Gas can get 'Buoyancy' which is same as the weight of air with the same volume.

(More Explanations: https://en.wikipedia.org/wiki/Buoyancy)

So the Gases lighter than air would float up to the end of the sky,

while the rest would sink down to the ground.

 

So, the behavior of gases are significantly different from those of liquids.

But I think that "isGaseous" only controls the rendering of the gas.

There should be separate classes for the behavior of gases.

 

So, I support this suggestion.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

Gases cannot be something like transparent liquid or a liquid with a lot of air.
Pretty sure a gas is a very spacious liquid.

Gas has following properties:

1. Gas diffuses through the air if there is no barrier.

Like liquid flows on the ground

the diffusion velocity is dependent on the temperature and the molar mass of the gas.
Like the viscosity of a liquid

2. Gas can get 'Buoyancy' which is same as the weight of air with the same volume.

(More Explanations: https://en.wikipedia.org/wiki/Buoyancy)

So the Gases lighter than air would float up to the end of the sky,

Like a liquid with a negative desnsity.

while the rest would sink down to the ground.
Like standard liquids.

So, the behavior of gases are significantly different from those of liquids.
You've yet to tell me anything that can't be represented as a liquid, or well, fluid, as gasses can be fluid.

But I think that "isGaseous" only controls the rendering of the gas.

There should be separate classes for the behavior of gases.

Why? Seems people are able to make gasses just fine with the fluid system and nothing you have said requires any special gas code...

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Gases cannot be something like transparent liquid or a liquid with a lot of air.
Pretty sure a gas is a very spacious liquid.

Of course not. A gas can fill every available space if there is plenty of time.

 

Gas has following properties:

1. Gas diffuses through the air if there is no barrier.

Like liquid flows on the ground

No, flowing has a limit. But diffusion has no limit, and a gas can diffuse infinitely if it exists.

and a gas can be spread to every directions.

 

the diffusion velocity is dependent on the temperature and the molar mass of the gas.
Like the viscosity of a liquid

Yes, It is macroscopically similar. but not microscopically.

 

2. Gas can get 'Buoyancy' which is same as the weight of air with the same volume.

(More Explanations: https://en.wikipedia.org/wiki/Buoyancy)

So the Gases lighter than air would float up to the end of the sky,

Like a liquid with a negative desnsity.

No. The gases lighter than air don't float up directly, but they also spreads to side while floating.

And I have to say that every material gets Buoyancy. I had mistaken there.

 

while the rest would sink down to the ground.
Like standard liquids.

No. The rest can spread infinitely, and they can also spread to up.

 

So, the behavior of gases are significantly different from those of liquids.
You've yet to tell me anything that can't be represented as a liquid, or well, fluid, as gasses can be fluid.

Since I selected wrong terms at then. I had been missing the term ''infinitely".

 

But I think that "isGaseous" only controls the rendering of the gas.

There should be separate classes for the behavior of gases.

Why? Seems people are able to make gasses just fine with the fluid system and nothing you have said requires any special gas code...

Of course they could, but they had to hard-code.

Also, the Buoyancy and Gravitation effect for fluids was ignored or determined at the coder's option.

So, the mods including custom gravitation effect would be hard to be compatible with them.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

Alright, seince you are not getting the point.

The answer is NO.

In Minecraft None of the things you are speaking of can be sanely created. The best aproximation of a gas would be to behave like a fluid {which gasses do btw.. fluid != liquid}

No way in hell we're putting in microscopic gas simulation into Forge... there is no reason to.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Alright, seince you are not getting the point.

The answer is NO.

In Minecraft None of the things you are speaking of can be sanely created. The best aproximation of a gas would be to behave like a fluid {which gasses do btw.. fluid != liquid}

No way in hell we're putting in microscopic gas simulation into Forge... there is no reason to.

You are not getting my point. the "microscopic" cannot be the point.

Of course I surely know that it is impossible to simulate microscopic gas or anything.

I wanted to say that, macroscopic behaviors of gas are far apart from the behaviors of liquids.

Also they are far apart from those of the fluids in Minecraft Forge, too.

The behaviors are:

1. They spreads to every directions. They always spreads to the sides, and gravitation or buoyancy cannot forbid them from spreading up or down.

2. Their spreading velocity is affected by the temperature, and forces like gravitation or buoyancy.

but they cannot prohibit the diffusion of gas.

 

Also, I know that this can be sanely created.

 

This is the best approximation of a gas:

1. Set the pressure value for each gas block.

2. Calculate the diffusion rate for each pair of neighboring gas blocks.

Forces like Gravitation or Buoyancy might affect the diffusion velocity via direction.

3. If there is empty space adjacent to a gas block with plenty of pressure,

sets the empty space to a gas block. pressure should be determined by diffusion.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

Im still not seeing anything that can't be done with the current implementation of the fluid registry, and possibly a custom in-world block.

Again, review things like RC's Steam which is a gas, or any other mod that has already added a gas type in-world block.

They are nothing special, and from Forge's port of view, there is no reason to make special accommodations for them.

So what are you asking?

That I write the implementation of the in-world gas block to your specs? Why? You know better how you want yours to behave. Go do it.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Im still not seeing anything that can't be done with the current implementation of the fluid registry, and possibly a custom in-world block.

Again, review things like RC's Steam which is a gas, or any other mod that has already added a gas type in-world block.

They are nothing special, and from Forge's port of view, there is no reason to make special accommodations for them.

So what are you asking?

That I write the implementation of the in-world gas block to your specs? Why? You know better how you want yours to behave. Go do it.

There are problems with fluid block interface, etc. They are from the differences between fluids and gases.

Since pressure of a gas can be bigger till it becomes liquid,

the "getFilledPercentage" is not appropriate.

I saw that the behavior of gas can be made with current forge,

but I think it would be better if there is something like BlockGasBase.

(I can make a pullrequest about that)

 

Also, I want custom Gravitation & Buoyancy effects for the fluids.

I think that the vertical flow would be affected by gravitation of a world,

But there were nothing like that in the BlockFluidBase..

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

For a really realistic system, a block material would consist of a state of matter, or more realistically, a set of temperature points like freezing, melting, and plasma ignition. Then, the block instance could just have a field (but of course this would require more than a nibble of metadata) that included it's temperature (which determines its matter state). Water could freeze or even become steam...

Naturally, this would be a major rework of MC, so it would never fly as a suggestion.

If we include gases, then we should justify including plasmas too.?

Link to comment
Share on other sites

For a really realistic system, a block material would consist of a state of matter, or more realistically, a set of temperature points like freezing, melting, and plasma ignition. Then, the block instance could just have a field (but of course this would require more than a nibble of metadata) that included it's temperature (which determines its matter state). Water could freeze or even become steam...

Naturally, this would be a major rework of MC, so it would never fly as a suggestion.

If we include gases, then we should justify including plasmas too.?

 

No, there is a several differences between them.

1) Forge already supports Gas.

  There is a method named 'isGaseous()' in the Fluid class which affects the rendering.

  I think it means that the Minecraft Forge intends to add Gas system.

  But of course, anything like Plasma is NOT supported.

2) Gas is one of the three fundamental and well known phases.

  Maybe it is hard to be notified, but it is as important as Solid and Liquid. Also it has many differences with them.

    In contrast, Plasma could be one of the four fundamental phase, but it is a lot similar to the gas.

  It acts like Ideal Gas, and except for the ionization and high temperature, it is actually a gas.

  Also, Plasma is not well known as Solid, Liquid, and Gas. It can only be created under control, not like others.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

  • 1 month later...

Yes, for there are some differences. Gases can be compressed nearly infinitely in limited space, before they become condensed.

It is significantly different, I think.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

In a minecraft world, the only real way to simulate gas is that same way to emulate fluids.

So from a forge end, there needs no implementation/api change.

I am not a moron, I know my physics. However in programming, and in a minecraft sense, THERE is no difference!

If you REALLY care, implement it yourself and make a PR.

Explain yourself in code why things are required to be explicitly separated from fluids.

Thread closed because repetitive, If need me and you get a PR going, i'll re-open.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • LOGIN DAN DAFTAR DISINI CEPAT!! AYUTOGEL adalah situs judi online yang memudahkan para pemainnya, dengan menggunakan deposit pulsa terbilang cukup memudahkan para pemainnya dikarenakan setiap orang pasti bisa mengisi pulsa di mana pun dengan agen agen pulsa, dengan mudah di dapat kan dimana mana jika para pemain tidak memiliki e-money atau m-banking anda tidak perlu khawatir lagi di karenakan AYUTOGEL adalah situs slot deposit pulsa. Slot Deposit pulsa adalah sebuah situs judi slot online yang melayani deposit menggunakan transfer pulsa atau menggunakan pulsa ponsel yang tersedia.
    • DAFTAR DAN LOGIN DISINI   Hantogel atau handogel adalah bentuk pengumpulan duka uang yang populer di dunia judi online, khususnya dalam permainan slot gacor. Banyak situs judi online yang menawarkan handogel slot gacor, dan sebagai pemain, penting untuk mengetahui cara memilih dan mengakses situs tersebut dengan aman dan amanah. Dalam artikel ini, kami akan membahas cara memilih situs slot gacor online yang berkualitas dan tahu cara mengakses handogelnya.
    • DAFTAR & LOGIN SIRITOGEL Siritogel adalah kumpulan kata yang mungkin baru saja dikenal oleh masyarakat, namun dengan perkembangan teknologi dan banyaknya informasi yang tersedia di internet, kalau kita siritogel (mencari informasi dengan cara yang cermat dan rinci) tentang situs slot gacor online, maka kita akan menemukan banyak hal yang menarik dan membahayakan sama sekali. Dalam artikel ini, kita akan mencoba menjelaskan apa itu situs slot gacor online dan bagaimana cara mengatasi dampaknya yang negatif.
    • This honestly might just work for you @SubscribeEvent public static void onScreenRender(ScreenEvent.Render.Post event) { final var player = Minecraft.getInstance().player; final var options = Minecraft.getInstance().options; if(!hasMyEffect(player)) return; // TODO: You provide hasMyEffect float f = Mth.lerp(event.getPartialTick(), player.oSpinningEffectIntensity, player.spinningEffectIntensity); float f1 = ((Double)options.screenEffectScale().get()).floatValue(); if(f <= 0F || f1 >= 1F) return; float p_282656_ = f * (1.0F - f1); final var p_282460_ = event.getGuiGraphics(); int i = p_282460_.guiWidth(); int j = p_282460_.guiHeight(); p_282460_.pose().pushPose(); float f5 = Mth.lerp(p_282656_, 2.0F, 1.0F); p_282460_.pose().translate((float)i / 2.0F, (float)j / 2.0F, 0.0F); p_282460_.pose().scale(f5, f5, f5); p_282460_.pose().translate((float)(-i) / 2.0F, (float)(-j) / 2.0F, 0.0F); float f4 = 0.2F * p_282656_; float f2 = 0.4F * p_282656_; float f3 = 0.2F * p_282656_; RenderSystem.disableDepthTest(); RenderSystem.depthMask(false); RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE); p_282460_.setColor(f4, f2, f3, 1.0F); p_282460_.blit(new ResourceLocation("textures/misc/nausea.png"), 0, 0, -90, 0.0F, 0.0F, i, j, i, j); p_282460_.setColor(1.0F, 1.0F, 1.0F, 1.0F); RenderSystem.defaultBlendFunc(); RenderSystem.disableBlend(); RenderSystem.depthMask(true); RenderSystem.enableDepthTest(); p_282460_.pose().popPose(); }   Note: Most of this is directly copied from GameRenderer as you pointed out you found. The only thing you'll have to likely do is update the `oSpinningEffectIntensity` + `spinningEffectIntensity` variables on the player when your effect is applied. Which values should be there? Not 100% sure, might be a game of guess and check, but `handleNetherPortalClient` in LocalPlayer has some hard coded you might be able to start with.
    • Dalam dunia perjudian online yang berkembang pesat, mencari platform yang dapat memberikan kemenangan maksimal dan hasil terbaik adalah impian setiap penjudi. OLXTOTO, dengan bangga, mempersembahkan dirinya sebagai jawaban atas pencarian itu. Sebagai platform terbesar untuk kemenangan maksimal dan hasil optimal, OLXTOTO telah menciptakan gelombang besar di komunitas perjudian online. Satu dari banyak keunggulan yang dimiliki OLXTOTO adalah koleksi permainan yang luas dan beragam. Dari togel hingga slot online, dari live casino hingga permainan kartu klasik, OLXTOTO memiliki sesuatu untuk setiap pemain. Dibangun dengan teknologi terkini dan dikembangkan oleh para ahli industri, setiap permainan di platform ini dirancang untuk memberikan pengalaman yang tak tertandingi bagi para penjudi. Namun, keunggulan OLXTOTO tidak hanya terletak pada variasi permainan yang mereka tawarkan. Mereka juga menonjol karena komitmen mereka terhadap keamanan dan keadilan. Dengan sistem keamanan tingkat tinggi dan proses audit yang ketat, OLXTOTO memastikan bahwa setiap putaran permainan berjalan dengan adil dan transparan. Para pemain dapat merasa aman dan yakin bahwa pengalaman berjudi mereka di OLXTOTO tidak akan terganggu oleh masalah keamanan atau keadilan. Tak hanya itu, OLXTOTO juga terkenal karena layanan pelanggan yang luar biasa. Tim dukungan mereka selalu siap sedia untuk membantu para pemain dengan segala pertanyaan atau masalah yang mereka hadapi. Dengan respon cepat dan solusi yang efisien, OLXTOTO memastikan bahwa pengalaman berjudi para pemain tetap mulus dan menyenangkan. Dengan semua fitur dan keunggulan yang ditawarkannya, tidak mengherankan bahwa OLXTOTO telah menjadi pilihan utama bagi jutaan penjudi online di seluruh dunia. Jika Anda mencari platform yang dapat memberikan kemenangan maksimal dan hasil optimal, tidak perlu mencari lebih jauh dari OLXTOTO. Bergabunglah dengan OLXTOTO hari ini dan mulailah petualangan Anda menuju kemenangan besar dan hasil terbaik!
  • Topics

×
×
  • Create New...

Important Information

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