Jump to content

[1.7.2]Block that only lets water Through


PeterRDevries

Recommended Posts

This is really hard to achieve since your block would be replaced by it. And when the water decays your block will be gone too.

Unless you can live with that, there is no easy method. You would have to set up several different listeners which will place your block again after the water has decayed. The easier part would be giving water the ability to replace your block, which I don't know how it's done.

Link to comment
Share on other sites

I think your best bet would be to copy/implement the code that handles fluid flowing/spreading,  then listen for block updates around your block.  If it detects water above or next to it,  replace any air blocks beside or below it with flowing water rendered at a height relative to the source (initially triggered) side . When the source side is air again or down to one height level,  no longer support the flowing water blocks around it.  Hope this makes sense,  trying to type this on my Phone before my brother needs a lift to cubs.

 

simplified psuedo code:

 

on (block update) {

  Check faces{

  If air,  set as output;

  If water,  set as input;

  Calc block's "water height"

  While (input)  support flowing water on outputs

  }

}

Link to comment
Share on other sites

You may be able to do something like when a water block is next to your block then it renders it as if the water is actually going though and make you block make its self act like a water block and continue the water, or another fluid that acts like water, on. If that made any sense. Sorry for the confusing answer, but that is the way I would do it. Good Luck

Don't be afraid to ask question when modding, there are no stupid question! Unless you don't know java then all your questions are stupid!

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
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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • im just coping the properties from the glass block whit no occlusion and the  "render_type": "translucent",             public static final RegistryObject<Block> GLASS_PANEL = registerBlock(             "glass_panel",             () -> new panel_pglass(BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS_PANE).noOcclusion(),                     """                     {                     "name":"glass_panel",                     "en_us_lang" : "Glass Panel",                     "es_es_lang" : "Panel De Vidrio",                     "north": "minecraft:block/glass",                     "crafthing_input_c0": "minecraft:glass",                     "cutthing_input_c0": "minecraft:glass",                     "no_drop" : "true"                     }                     """, crear_archivos_glass             ) );           {             "credit": "Made with Blockbench",                 "ambientocclusion": "true",                 "render_type": "translucent",             "elements": [                 {                     "name": "panel",                     "from": [0, 0, 0],                     "to": [16, 16, 4],                     "faces": {                         "north": {"uv": [0, 0, 16, 16], "texture": "#north"},                         "east": {"uv": [12, 0, 16, 16], "texture": "#east"},                         "south": {"uv": [16, 0, 0, 16], "texture": "#south"},                         "west": {"uv": [0, 0, 4, 16], "texture": "#west"},                         "up": {"uv": [16, 16, 0, 12], "texture": "#up"},                         "down": {"uv": [16, 4, 0, 0], "texture": "#down"}                     }                 }             ],   the thing whit this that rain and snow cannot be see trough the block   
    • you need a damage source and use it to hurt the entity thing   DamageSource damagesource;                 //damagesource = level.damageSources().playerAttack((Player) le);//.trident(le, thing);                 damagesource = level.damageSources().mobAttack(player);                 if (thing.hurt(damagesource, damage)) {                     thing.setLastHurtMob(player);                 }    
    • Hellow good days  i have a custome block dead adventurer shaped i use to spawn mobs  but the mobs i spawn has no equipment zombies without nothing and skeletons without bows     minecraft has a series of json files organizing items and block by categories  then there is the minecraft:data/minecraft/tags/items/swords.json   {   "values": [     "minecraft:diamond_sword",     "minecraft:stone_sword",     "minecraft:golden_sword",     "minecraft:netherite_sword",     "minecraft:wooden_sword",     "minecraft:iron_sword"   ] }   and i got mi own json file with the mines /home/usuario/workspace/1.20.4/mercmod/src/main/resources/data/minecraft/tags/items/swords.json {   "values": [     "minecraft:stick",     "mercmod:knife_steel",     "mercmod:sword_steel",     "mercmod:warhammer_steel",     "mercmod:battleaxe_steel",     "mercmod:crowbar",     "mercmod:lance_steel"   ] }   ############################ i wanna use this files, read them, randomly select one and set it for the mob mainhand i spawning    i wanna do something like  ArrayList<String> list = ItemTags.SWORDS.something_getKeys();       data/minecraft/tags/items/arrows.json data/minecraft/tags/items/axes.json data/minecraft/tags/items/hoes.json data/minecraft/tags/items/pickaxes.json data/minecraft/tags/items/shovels.json data/minecraft/tags/items/swords.json
    • https://mclo.gs/GkmIjij  Please, help
    • the world capability works for the current world and its different for every dimension  sound like what you need  the only thing is you cannot access data from a diferent world things like reading a data of the overworld from the nether would nwork
  • Topics

×
×
  • Create New...

Important Information

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