[Mod] Colors Mod by Chimeforest

That’s fine, rainbows aren’t for everyone :smile:
I can’t wait until I finish up this section of the mod and get to showcase all the stuff I’m adding :smiley:
Probably going to pick a solid color for that :wink:

3 Likes

Can’t wait too. Yea, rainbows are not for me, so yay for solid colors :smile:

Finally updated to Alpha 6 =D

Here are the new items:


Flowers now included in the base mod. And you can grow them in your garden…


or hang them from your windows and walls.

And last but not least, some new furniture!



Two types of thrones and fancy tables =]

Hope you guys enjoy ^^
I have several ideas for what I’m going to include in this mod eventually, but I’d like your opinions too. Are their any furniture or decorations that you would like to see in stonehearth?

14 Likes

Wow, that house looks evil with all that purple! :speak_no_evil:
I can imagine my hearthlings sitting on the throne, plotting for enslaving the bunny population.
I like it, cool thrones.

For ideas: Maybe some black carpets. To bring the finishing touch to the evil house.
Maybe some paintings.
Big flags.
Mosaic windows
colored fencing.

2 Likes

It would look more evil with stone flooring, can’t wait until that gets added =]

Thanks for the ideas, I definitely like them and I’ve added them to the list.
For “big flags” do you mean like the banners, but wider? or something else?
Also, I’m not sure how colored fences would look, I’m afraid that they will appear… cartoony, or plasticy.


On a side note, does anyone know how to get to the “item drop” menu that the devs use? It would make testing my mods SOOOOOO much easier :smile:

1 Like

ya, that might be true.

Huuge high flags.

2 Likes

Oooh, I like that =D

What a cool castle! :sunglasses:
Good job :smile: !
I definitely would feature that screenshot (throne room) in a “fan media of the week” section.

Long live to the :rainbow: s!

2 Likes

You probably meant how did you guys enjoy ^^

On a productive note :wink: I love the building, although I would suggest a longer hallway leading up to it. That adds a ton of suspense, and makes for a greater dramatic reveal.

1 Like

It was actually supposed to be “Hope you guys enjoy”
After hours of programming my brain turns to mush lol.

I had a more complex layout planned, but unfortunately SH couldn’t handle it, so I had to water it down =/

2 Likes

Great work again @chimeforest, :thumbsup:

It was funny, as I was scrolling through your Alpha 6 release post I noticed the cloth on the dining tables was connected. I thought, hmm, connected textures in StoneHearth already?? I was curious to know what was going on.

Thanks for anticipating what players might do by adding the separate corner and end pieces :wink:

My only suggestion, 3 way/4 way table textures. Say that a player creates a table that is 6x3.

They would need a corner, 3 way, and 4 way cloth to complete the texture on the table.

Perhaps in the future, when a appropriate modding api is implemented by Radiant, we can expect some type of item placement hook then use entity searching where you could programmatically decide which table piece should be used.

You could try to implement this behavior now if you wanted to, if implemented players would only have to worry about crafting one type of table in the color they want.

Placement Hook :

// notes - I'm not too sure of a clean way to do this, I am not too familiar with
// StoneHearth's codebase. Replace_proxy_with_item_action 
// seems to carry out replacing the ghost with the actual item. Is it possible to 
// override lua files at runtime? If so, and my understanding of the file is correct, 
// you should be able to have a very hackish solution. Have a look around
// anyway yourself perhaps there is a better solution somewhere else

    // stonehearth\ai\actions\replace_proxy_with_item_action.luac(36)

Entity Searching :

I just did some quick looking around here is what I’ve found.

// example - search a volume for entities, filtered by component
// notes - just implement your own filtering

    // stonehearth\components\trapping\trapping_grounds_component.luac(178)
    function TrappingGroundsComponent:_is_valid_trap_location(location)
        local radius=math.max(self.min_distance_between_traps-1,0)
        local cube=getXZCubeAroundPoint(location,radius)
        local entities=radiant.terrain.get_entities_in_cube(cube)
        for id,entity in pairs(entities)do
                if entity:get_component('stonehearth:bait_trap')then
                        return false
                end
        end
        return self:_is_empty_location(location,1)
    end

// example - creating a volume to search in only based on location and radius
// notes - the radius should be close to the size of 1 grid square as you should
// only be concern with the tables adjacent to the the current one

    // from above code
    local cube=getXZCubeAroundPoint(location,radius)
    // or you can do
    local cube=Cube3(location+Point3(-radius,-1,-radius),
                     location+Point3(radius+1,1+1,radius+1))

Rotation/Placement :

// example - rotating entities
// notes - you will have to take into account other tables and their 
// rotations to decide the rotation you need

    // radiant.entities.turn_to(entity,rotation)

// examples - removing/placing entities
// notes - just some examples

    // stonehearth\ai\actions\pickup_placed_item_adjacent_action.luac(46):
    // radiant.terrain.place_entity(self._iconic_entity,location)

    // stonehearth\ai\actions\replace_proxy_with_item_action.luac(46):
    // radiant.terrain.remove_entity(self._proxy)

    // stonehearth\ai\actions\replace_proxy_with_item_action.luac(48):
    // radiant.terrain.place_entity(self._root_entity,location,

    // stonehearth\ai\actions\run_death_effect_action.luac(11):
    // radiant.terrain.place_entity(proxy,location)

    // stonehearth\ai\actions\stockpile_arson_action.luac(22):	
    // radiant.terrain.remove_entity(item)

    // stonehearth\ai\actions\trapping\harvest_trapped_beast_action.luac(52):
    // radiant.terrain.place_entity(proxy_entity,location)

If you have any questions, want some help, or find anything interesting let me know :wink:

In the end, your mod is not only just is a great mod, it is also a great starting point when trying to learn how to add content to the game. One of greatest resources is others work, thank you for maintaining Color Mods.

5 Likes

Hi folks, sorry I haven’t had time to update the mod or check in. This holiday season is going to be especially busy for me. So I’m not going to have time to work on any stonehearth mods, unfortunately. So the next update probably isn’t going to be until some time after the new year.

I really really like @honestabelink’s idea for connected tables, and hopefully we can add it in =]
He’s sent me some of the code for it already, so definitely expect this to be an upcoming feature in the colors mod ^^

7 Likes

Relax and enjoy it! Just make sure to come back! Haha.

3 Likes

I’ll be testing this with Alpha 10 soon, hope it still works!

1 Like

Let me know how it goes =]
I haven’t had a chance to work on this in a while, so it might not run on all in A10. Other projects and work (mostly work, 40+ hrs/week >.>; ) have been keeping me very busy as of late.

2 Likes

Unfortunately, it crashed. The flowers mod by itself worked just fine, but when I added the color mod, promotion to a weaver caused all sorts of havoc.

I look forward to this working some day in the future! :slight_smile:

1 Like

Can I redo this mod and upload it here on my own? Trying to get to grips with modding stonehearth, and this is something that would be enormously useful for people.

I’d rather if you didn’t, Feel free to look through my code and see how I did stuff of course =], but this mod is kinda special to me and I’ve put a lot of effort into to, AND I do plan on updating it. After we get a couple new hires in, I shouldn’t be quite as busy, and I’ll have more time to do fun stuff =]

2 Likes

If you’re looking for simple mod work, I’m looking for a coder still :stuck_out_tongue: #HelpSteal

4 Likes

Sure. If it will be updated, then I am waiting. Very (im)patiently. :smile:

2 Likes