Page 1 of 1

Release TP as mod?

PostPosted: Thu May 26, 2016 19:10
by TumeniNodes
So, I am almost finished with my texture pack, and plan to make it available soon. (within about 2 weeks to a month)
But I have a roadblock to consider and resolve.
Some of the textures in the pack will rely upon some minor alterations to the default nodes lua (regarding default water source and flowing water values), and the default mapgen... How can this be done?

Do I release the TP as mod, rather than simply a TP? (I am assuming that is how it will have to be released)

And if so, what is the best way to do so?, as I will want the TP textures to over ride the default textures (which is simple in itself, and I know how to do...), but it also adds a few textures which then require my alterations to the default mapgen (where I added "Red_Desert" and "Red_Desert_Ocean" biomes)

Can this be done?, and if so, what do I need to do? Any similar mods, etc I can be pointed to, to look over?
Thank you

PS
I had asked this in the other thread but got no response either way for 4 days now, so I am truly hoping it just got overlooked? Because every question before and after have gotten responses.
But that thread is very cluttered so, i am hoping that is the case

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 14:41
by azekill_DIABLO
mod should be better.
TP is only for textures

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 14:53
by rubenwardy
Would it be possible to use texture overrides?

https://github.com/minetest/minetest/bl ... rrides.txt

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 17:23
by TumeniNodes
As far as overrides, here is my problem.

My TP is 64x and while getting the water textures just right, I made some adjustments to the values in default nodes.lua as follows:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
minetest.register_node("default:water_source", {
   description = "Water Source",
   drawtype = "liquid",
   tiles = {
      {
         name = "default_water_source_animated.png",
         animation = {
            type = "vertical_frames",
            aspect_w = 64,
            aspect_h = 64,
            length = 1.5,
         },
      },
   },
   special_tiles = {
      -- New-style water source material (mostly unused)
      {
         name = "default_water_source_animated.png",
         animation = {
            type = "vertical_frames",
            aspect_w = 64,
            aspect_h = 64,
            length = 1.5,
         },
         backface_culling = false,
      },
   },
   alpha = 160,
   paramtype = "light",
   walkable = false,
   pointable = false,
   diggable = false,
   buildable_to = true,
   is_ground_content = false,
   drop = "",
   drowning = 1,
   liquidtype = "source",
   liquid_alternative_flowing = "default:water_flowing",
   liquid_alternative_source = "default:water_source",
   liquid_viscosity = 1,
   post_effect_color = {a = 103, r = 30, g = 60, b = 90},
   groups = {water = 3, liquid = 3, puts_out_fire = 1},
})

minetest.register_node("default:water_flowing", {
   description = "Flowing Water",
   drawtype = "flowingliquid",
   tiles = {"default_water.png"},
   special_tiles = {
      {
         name = "default_water_flowing_animated.png",
         backface_culling = false,
         animation = {
            type = "vertical_frames",
            aspect_w = 64,
            aspect_h = 128,
            length = 0.9,
         },
      },
      {
         name = "default_water_flowing_animated.png",
         backface_culling = true,
         animation = {
            type = "vertical_frames",
            aspect_w = 64,
            aspect_h = 128,
            length = 0.9,
         },
      },
   },
   alpha = 160,
   paramtype = "light",
   paramtype2 = "flowingliquid",
   walkable = false,
   pointable = false,
   diggable = false,
   buildable_to = true,
   is_ground_content = false,
   drop = "",
   drowning = 1,
   liquidtype = "flowing",
   liquid_alternative_flowing = "default:water_flowing",
   liquid_alternative_source = "default:water_source",
   liquid_viscosity = 1,
   post_effect_color = {a = 103, r = 30, g = 60, b = 90},
   groups = {water = 3, liquid = 3, puts_out_fire = 1,
      not_in_creative_inventory = 1},
})


Then, I also added some red desert textures, as well as added a red desert biome for them (which looks awesome btw.)

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
   -- Hot

   minetest.register_biome({
      name = "desert",
      --node_dust = "",
      node_top = "default:desert_sand",
      depth_top = 1,
      node_filler = "default:desert_sand",
      depth_filler = 1,
      node_stone = "default:desert_stone",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = 5,
      y_max = 31000,
      heat_point = 85,
      humidity_point = 25,
   })

   minetest.register_biome({
      name = "desert_ocean",
      --node_dust = "",
      node_top = "default:sand",
      depth_top = 1,
      node_filler = "default:sand",
      depth_filler = 3,
      node_stone = "default:desert_stone",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -112,
      y_max = 4,
      heat_point = 85,
      humidity_point = 25,
   })

   minetest.register_biome({
      name = "red_desert",
      --node_dust = "",
      node_top = "default:red_desert_sand",
      depth_top = 1,
      node_filler = "default:red_desert_sand",
      depth_filler = 1,
      node_stone = "default:red_desert_stone",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = 5,
      y_max = 31000,
      heat_point = 95,
      humidity_point = 20,
   })

   minetest.register_biome({
      name = "red_desert_ocean",
      --node_dust = "",
      node_top = "default:sand",
      depth_top = 1,
      node_filler = "default:sand",
      depth_filler = 3,
      node_stone = "default:red_desert_stone",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -112,
      y_max = 4,
      heat_point = 95,
      humidity_point = 20,
   })


   minetest.register_biome({
      name = "savanna",
      --node_dust = "",
      node_top = "default:dirt_with_dry_grass",
      depth_top = 1,
      node_filler = "default:dirt",
      depth_filler = 1,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = 1,
      y_max = 31000,
      heat_point = 85,
      humidity_point = 50,
   })

   minetest.register_biome({
      name = "savanna_swamp",
      --node_dust = "",
      node_top = "default:dirt",
      depth_top = 1,
      node_filler = "default:dirt",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -3,
      y_max = 0,
      heat_point = 85,
      humidity_point = 50,
   })

   minetest.register_biome({
      name = "savanna_ocean",
      --node_dust = "",
      node_top = "default:sand",
      depth_top = 1,
      node_filler = "default:sand",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -112,
      y_max = -4,
      heat_point = 85,
      humidity_point = 50,
   })


   minetest.register_biome({
      name = "rainforest",
      --node_dust = "",
      node_top = "default:dirt_with_grass",
      depth_top = 1,
      node_filler = "default:dirt",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = 1,
      y_max = 31000,
      heat_point = 85,
      humidity_point = 80,
   })

   minetest.register_biome({
      name = "rainforest_swamp",
      --node_dust = "",
      node_top = "default:dirt",
      depth_top = 1,
      node_filler = "default:dirt",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -3,
      y_max = 0,
      heat_point = 85,
      humidity_point = 80,
   })

   minetest.register_biome({
      name = "rainforest_ocean",
      --node_dust = "",
      node_top = "default:sand",
      depth_top = 1,
      node_filler = "default:sand",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -112,
      y_max = -4,
      heat_point = 85,
      humidity_point = 80,
   })   -- Hot

   minetest.register_biome({
      name = "desert",
      --node_dust = "",
      node_top = "default:desert_sand",
      depth_top = 1,
      node_filler = "default:desert_sand",
      depth_filler = 1,
      node_stone = "default:desert_stone",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = 5,
      y_max = 31000,
      heat_point = 85,
      humidity_point = 25,
   })

   minetest.register_biome({
      name = "desert_ocean",
      --node_dust = "",
      node_top = "default:sand",
      depth_top = 1,
      node_filler = "default:sand",
      depth_filler = 3,
      node_stone = "default:desert_stone",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -112,
      y_max = 4,
      heat_point = 85,
      humidity_point = 25,
   })

   minetest.register_biome({
      name = "red_desert",
      --node_dust = "",
      node_top = "default:red_desert_sand",
      depth_top = 1,
      node_filler = "default:red_desert_sand",
      depth_filler = 1,
      node_stone = "default:red_desert_stone",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = 5,
      y_max = 31000,
      heat_point = 95,
      humidity_point = 20,
   })

   minetest.register_biome({
      name = "red_desert_ocean",
      --node_dust = "",
      node_top = "default:sand",
      depth_top = 1,
      node_filler = "default:sand",
      depth_filler = 3,
      node_stone = "default:red_desert_stone",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -112,
      y_max = 4,
      heat_point = 95,
      humidity_point = 20,
   })


   minetest.register_biome({
      name = "savanna",
      --node_dust = "",
      node_top = "default:dirt_with_dry_grass",
      depth_top = 1,
      node_filler = "default:dirt",
      depth_filler = 1,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = 1,
      y_max = 31000,
      heat_point = 85,
      humidity_point = 50,
   })

   minetest.register_biome({
      name = "savanna_swamp",
      --node_dust = "",
      node_top = "default:dirt",
      depth_top = 1,
      node_filler = "default:dirt",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -3,
      y_max = 0,
      heat_point = 85,
      humidity_point = 50,
   })

   minetest.register_biome({
      name = "savanna_ocean",
      --node_dust = "",
      node_top = "default:sand",
      depth_top = 1,
      node_filler = "default:sand",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -112,
      y_max = -4,
      heat_point = 85,
      humidity_point = 50,
   })


   minetest.register_biome({
      name = "rainforest",
      --node_dust = "",
      node_top = "default:dirt_with_grass",
      depth_top = 1,
      node_filler = "default:dirt",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = 1,
      y_max = 31000,
      heat_point = 85,
      humidity_point = 80,
   })

   minetest.register_biome({
      name = "rainforest_swamp",
      --node_dust = "",
      node_top = "default:dirt",
      depth_top = 1,
      node_filler = "default:dirt",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -3,
      y_max = 0,
      heat_point = 85,
      humidity_point = 80,
   })

   minetest.register_biome({
      name = "rainforest_ocean",
      --node_dust = "",
      node_top = "default:sand",
      depth_top = 1,
      node_filler = "default:sand",
      depth_filler = 3,
      --node_stone = "",
      --node_water_top = "",
      --depth_water_top = ,
      --node_water = "",
      --node_river_water = "",
      y_min = -112,
      y_max = -4,
      heat_point = 85,
      humidity_point = 80,
   })


So, with these, that is why I am wondering how I can release this to the community. It would be perfect if, when a user selects my TP, the TP is able to use these specific settings..., and then when they switch back to other TPs, all is reverted back to default.
I am unsure if this is even possible, as it might fall under that same (client side vs server side) :(
If it is impossible, then sadly I could release my TP, but only a restricted (basic) version without these features. Which kind of bums me out

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 17:45
by TumeniNodes
@ rubenwardy I am wondering if I am misunderstanding your point?
Are you saying "yes, release as a mod" and then simply use overrides to use the textures? Which may mean that I may be able to override the default nodes.lua and default mapgen as a mod?
Just asking as I am unclear. Sorry I am still just learning

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 17:54
by rubenwardy
That link tells you how to change (from a texture pack) which texture is used for each face of a node. I'm not sure if there's a filter for animated textures. If it's not possible to use overrides.txt to change animated textures, you'll need to make it a mod.

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 18:11
by TumeniNodes
rubenwardy wrote:That link tells you how to change (from a texture pack) which texture is used for each face of a node. I'm not sure if there's a filter for animated textures. If it's not possible to use overrides.txt to change animated textures, you'll need to make it a mod.


Yes, I have used the override before to create a stonewall with a marble top.
I think I may be misrepresenting what I am attempting to achieve?
I created a Texture Pack (which is close to being finished) and it covers all textures in the default package, and I have also done a couple of mods as well i.e., gloopores, and plan to cover ALL mods textures.
My big problem is that I have added a red desert biome to the default mapgen, and 3 textures to accompany the new biomes (red desert sand / red desert stone / red desert stone brick)
I also had to make minor adjustments to the default nodes.lua water source and water flow values (will be doing the same for river water and lave as well)

So that is exactly what I am trying to find out... can I override those in a mod?
So I am not actually looking to "override" textures faces..., basically to make a new texture pack available, which adds 3 new textures, but which contains several textures which rely on my modifications to values in the default nodes lua (liquids values)
While I could simply, and easily offer up the TP without the red desert additions, and a different set of liquids textures which work ok with the current values for liquids in the default nodes lua, it would be fine, but would just not offer these unique features. (one of which may add some "twinkling" to a couple of default mineral textures) ; )

Anyway, I hope I have not over explained or being too confusing. I am not always the best at explaining my thoughts correctly.
I just wish to offer a new TP which adds some minor, and unique features at the same time. But I am unsure it is possible. If it is, I am not sure "how", as in what scripts I need.
I have been looking around to see if I can find out how, but have had not much luck yet. Then again, I am only just now starting to figure out "how", if released as a mod, I can have my mod/TP override these things from the default nodes.lua and the default mapgen

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 18:16
by TumeniNodes
I should add that a while back, I did throw a small mod together, to try to add a new type of liquid (fountain_water)and each time I tried to use it, it crashed Minetest..., which I took to mean that it is not possible : /
I had thought to try to use the code from homedeor (shower or tap) but became very confused very quickly haha

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 18:19
by TumeniNodes
I am very sorry if my multiple posts are annoying. But, maybe if I pose my question in a more specific manner?

Is it possible to create a mod, which calls to override parts of the default nodes.lua and the default mapgen?

This is probably how I should have stated my question from the beginning, I am very sorry

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 19:59
by Krock
TumeniNodes wrote:Is it possible to create a mod, which calls to override parts of the default nodes.lua and the default mapgen?

To override nodes is very simple. First add "default" to your depends.txt file to make sure it's loaded before your mod.
Then you can either re-define everything or just override parts of it:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
-- Override specific parts
minetest.override_item("default:dirt", {
   description = "Not dirt at all",
})

-- Completely new node
minetest.register_node(":default:dirt", {
   description = "New Stone",
   tiles = {"default_stone.png"},
   groups = {crumbly=3, soil=1},
   sounds = default.node_sound_dirt_defaults(),
})

Overriding textures should work too when your mod is loaded after "default". Just try it.

Not to forget: There's an edit button.
Image

Re: Release TP as mod?

PostPosted: Sat May 28, 2016 21:12
by TumeniNodes
I'll give this a try then and see how it goes, thank you both rubenwardy and Krock.

Yes, I edit a lot... probably too much. But I just did not want to edit when reposting so quickly, in case someone had already read and then responded, only to have my post edited in the meantime. It tends to make it appear as the individual responding had not read the full post.
I should try to think out my wording to be more efficient.
I realize now that I only added confusion to my actual question by making it seem to be more about textures, than about altering scripts within "default" via a mod.

Re: Release TP as mod?

PostPosted: Fri Jul 15, 2016 01:20
by Sokomine
Sounds to me as if you might do both? Release the textures as a texture pack - and those nodes that are new/need special handling as seperate mod.

Re: Release TP as mod?

PostPosted: Fri Jul 15, 2016 02:35
by TumeniNodes
Sokomine wrote:Sounds to me as if you might do both? Release the textures as a texture pack - and those nodes that are new/need special handling as seperate mod.

Hi Sokomine,
And, that is a reasonable idea.
I have been thinking of actually putting it all together as an optional Minetest 64px. Simply repackaging the entire default _Game (with it's mods) with the 64px textures, and continuing to redo the textures of as many mods as I can to 64px, so everything blends nicely together.
Of course it is taking some time though, as I can only work on it here & there and, I have also redone many of the same textures many times, because I constantly feel like they could look better. Plus, I am attempting to greatly minimize any "tiling" patterns as best I can.
By doing this, I can then simply adjust the existing scripts for any nodes as needed, to the textures, rather than having to create more mods, of ones which already exist, simply to achieve the same outcome in the end.
(I think I just confused myself :D ) Hopefully, you get what I mean through all my babbling