[MOD 0.11.x] JANHCM 1.0.0

Topics and discussion about specific mods
ErnieVanDyke
Burner Inserter
Burner Inserter
Posts: 7
Joined: Mon Jun 15, 2015 11:04 am
Contact:

[MOD 0.11.x] JANHCM 1.0.0

Post by ErnieVanDyke »

Hi peeps :D

Here is my first little mod for Factorio: Just Another No Hand Crafting Mod = JANHCM

I'll tested it with the normal Factorio Version 0.11.22 with serveral mods installed (like Dytech, Treefarm, 5dim_Core , 5dim_Trains, all of Bob's, Yuoki and some smaller).
But if you have some trouble with it, let me know ;)

I'll didn't tested the multiplayer now. You may try if you want so, please report me if it works, thanks ;)


If you want to use it in a mod-pack ore something else, please do so, you have the permission.


Thanks

Ernie van Dyke

PS: I've corrected a little thing at this mod... it's important to redownload it... sry... ;) You can't build another Assembly Machine 2 with the first one... so you get an 2nd-Tier Assembly Machine at start...
Attachments
JANHCM_1.0.0.zip
Just Another No Hand Crafting Mod by Ernie van Dyke
(1.07 KiB) Downloaded 285 times
User avatar
y.petremann
Filter Inserter
Filter Inserter
Posts: 421
Joined: Mon Mar 17, 2014 4:24 pm
Contact:

Re: [MOD 0.11.x] JANHCM 1.0.0

Post by y.petremann »

Please stop making already made mods, there is already 3 versions with each a different point of view and I don't see any point at creating one another since I don't see any more point of view :
  1. Loose if you craft more than needed
  2. Disable crafting and give a burner assembling machine that can craft what the player could craft before (like mine)
  3. Disable crafting and give basic stuff (steam or solar stuff + assembler) (like you) :
    Problem : Assembling machine 2 is not sufficient craft oil refinery, accessing assembling machine 3 need the latest to be done, giving any vanilla assembling machine + electric network from start is a bit overcheated, this also could not work with some scenarios
keyboardhack
Filter Inserter
Filter Inserter
Posts: 478
Joined: Sat Aug 23, 2014 11:43 pm
Contact:

Re: [MOD 0.11.x] JANHCM 1.0.0

Post by keyboardhack »

Please ignore y.petremann and his opinions on this subject. New Mods are always appreciated even if they are a lot like other mods. We never know what a mod might develop into and it's therefore great to see new people with ideas that they want to share with the rest of us.
Waste of bytes : P
Peter34
Smart Inserter
Smart Inserter
Posts: 1100
Joined: Mon Nov 10, 2014 12:44 pm
Contact:

Re: [MOD 0.11.x] JANHCM 1.0.0

Post by Peter34 »

keyboardhack wrote:Please ignore y.petremann and his opinions on this subject. New Mods are always appreciated even if they are a lot like other mods. We never know what a mod might develop into and it's therefore great to see new people with ideas that they want to share with the rest of us.
A new mod that does something that an already existing mod does might be a new take on the concept. So yes, I'm all for this being allowed, even encouraged.
User avatar
y.petremann
Filter Inserter
Filter Inserter
Posts: 421
Joined: Mon Mar 17, 2014 4:24 pm
Contact:

Re: [MOD 0.11.x] JANHCM 1.0.0

Post by y.petremann »

Peter34 wrote:
keyboardhack wrote:Please ignore y.petremann and his opinions on this subject. New Mods are always appreciated even if they are a lot like other mods. We never know what a mod might develop into and it's therefore great to see new people with ideas that they want to share with the rest of us.
A new mod that does something that an already existing mod does might be a new take on the concept. So yes, I'm all for this being allowed, even encouraged.
For me, making it "exactly" like it is done before, without taking in account the common problems shared by other players and so putting bugs inside it is not really interesting.

But firstly if you correct the fact that oil refinery can't be crafted, it would be cool and you don't have a lot of choices :
  • Use assembling machine 3
  • Implement another assembling machine that can do it
For no-hand-crafting I've made a In the actual version of no hand crafting, I've made a system that could simulate a complete play and find if the game is playable or not. It reads data from the game. I authorize modders to use it, so you can tweak a little to add initial items. and you can look what are the problems to your game.
ErnieVanDyke
Burner Inserter
Burner Inserter
Posts: 7
Joined: Mon Jun 15, 2015 11:04 am
Contact:

Re: [MOD 0.11.x] JANHCM 1.0.0

Post by ErnieVanDyke »

Hi there :D

Yes this Mod-Version has it's bugs... I'll wrote it in a very short time :D
And Yes there are other mod, that do the same like mine, but on a different way... And I'll don't know about a mod, that do it on my way...
I want to hold this mod as simple as I can. I'll try to get also the power it needs...

There is a problem with the assembly machine 2 to get an assembly machine 3... but which way I want or have to go to work around this problem I have thought about and came to three positions:

1. I can rework some of the recipes to work with the 2nd assembly machine.
2. I can rework the recipe for the blue science pakets.
3. I can create another assembly machine for the startup, that can use any recipe but what you can't recraft.

The 3rd part is the best to control what the player can build or not, but it is used by another mod I know and this work isn't simple. Here you have to workaround the mod for every other mod to get into this system...
So, what should I do?

Yes, Comments are desired ;)
Thanks for the comments

Tom
User avatar
Takezu
Fast Inserter
Fast Inserter
Posts: 247
Joined: Sun May 10, 2015 5:46 pm
Contact:

Re: [MOD 0.11.x] JANHCM 1.0.0

Post by Takezu »

You could also extend the second assembler to deal with more ingrediends as far as i'm aware.
Well i think that would mean that you overwrite it with your own version, but would solve the problem as well, same could be done with Assembler 1 for that matter.
User avatar
y.petremann
Filter Inserter
Filter Inserter
Posts: 421
Joined: Mon Mar 17, 2014 4:24 pm
Contact:

Re: [MOD 0.11.x] JANHCM 1.0.0

Post by y.petremann »

For the third option, like I've done for my version, the concept is quite simple :
  1. Add an assembling machine that work on the energy you want and craft player crafts, I've choosen to make it work on fuel to not being dependent to electricity :

    Code: Select all

    data:extend({
      {
        type = "assembling-machine",
        name = "burner-assembling-machine",
        icon = "__no-hand-crafting__/graphics/icons/burner-assembling-machine.png",
        flags = {"placeable-neutral", "placeable-player", "player-creation"},
        minable = {hardness = 0.2, mining_time = 0.5, result = "burner-assembling-machine"},
        max_health = 200,
        corpse = "big-remnants",
        dying_explosion = "huge-explosion",
        resistances = {{type = "fire", percent = 70}},
        collision_box = {{-1.2, -1.2}, {1.2, 1.2}},
        selection_box = {{-1.5, -1.5}, {1.5, 1.5}},
        fast_replaceable_group = "assembling-machine",
        animation = {
          filename = "__no-hand-crafting__/graphics/entity/burner-assembling-machine/burner-assembling-machine.png",
          priority="high",
          width = 99,
          height = 102,
          frame_count = 32,
          line_length = 8,
          shift = {0.25, -0.1}
        },
        crafting_categories = {"crafting"}, -- Here is the thing for player based crafts
        crafting_speed = 0.25,
        energy_source = { -- Here is the thing for energy
          type = "burner",
          effectivity = 1,
          fuel_inventory_size = 1,
          emissions = 0.01,
          smoke =
          {
            {
              name = "smoke",
              deviation = {0.1, 0.1},
              frequency = 0.5,
              position = {0, 0},
              starting_vertical_speed = 0.05
            }
          }
        },
        energy_usage = "90kW",
        ingredient_count = 6, -- Here is the thing for number of ingredients
        open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
        close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
        working_sound = {
          sound = {
            {
              filename = "__base__/sound/assembling-machine-t1-1.ogg",
              volume = 0.8
            },
            {
              filename = "__base__/sound/assembling-machine-t1-2.ogg",
              volume = 0.8
            },
          },
          idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
          apparent_volume = 1.5,
        }
      }
    })
  2. Make the player not being able to craft by hand :

    Code: Select all

    data.raw.player.player.crafting_categories = {}
  3. Make the ingredient caps to equal the maximum of ingredients of player recipes :

    Code: Select all

    for i, obj in pairs(data.raw["recipe"]) do
      if (obj.category == "crafting" or obj.category == "" or obj.category == nil) then
        if #obj.ingredients > crafting_cap then
          crafting_cap = #obj.ingredients
        end
      end
    end
    data.raw["assembling-machine"]["burner-assembling-machine"].ingredient_count = crafting_cap
After that based on my no-hand-crafting mod, the simulation : (you need to extract it from my mod and it's dependencies)

Code: Select all

require "simulation"
simulation.report = false
for _, obj in pairs(data.raw["assembling-machine"]) do simulation.addassemblingmachine(obj) end
for _, obj in pairs(data.raw["boiler"]) do simulation.addelectricstuff(obj, false) end
for _, obj in pairs(data.raw["electric-pole"]) do simulation.addelectricstuff(obj, false) end
for _, obj in pairs(data.raw["fluid"]) do simulation.additem(obj) end
for _, obj in pairs(data.raw["furnace"]) do simulation.add(obj) end
for _, obj in pairs(data.raw["generator"]) do simulation.addelectricstuff(obj, true) end
for _, obj in pairs(data.raw["item"]) do simulation.additem(obj) end
for _, obj in pairs(data.raw["lab"]) do simulation.addlab(obj) end
for _, obj in pairs(data.raw["mining-drill"]) do simulation.addminingdrill(obj) end
for _, obj in pairs(data.raw["offshore-pump"]) do simulation.addelectricstuff(obj, false) end
for _, obj in pairs(data.raw["recipe"]) do simulation.addrecipe(obj) end
for _, obj in pairs(data.raw["resource"]) do simulation.addresource(obj) end
for _, obj in pairs(data.raw["technology"]) do simulation.addtechnology(obj) end
simulation.unlock("item-stone-furnace","starting element")             prototype.addcondition("item-stone-furnace", "technology", 2, "starter")
simulation.unlock("item-burner-assembling-machine","starting element") prototype.addcondition("item-burner-assembling-machine", "technology", 2, "starter")
simulation.unlock("item-burner-mining-drill","starting element")       prototype.addcondition("item-burner-mining-drill", "technology", 2, "starter")
simulation.unlock("item-raw-wood","starting element")                  prototype.addcondition("item-raw-wood", "technology", 2, "starter")
simulation.unlock("fluid-water","starting element")                  prototype.addcondition("item-raw-wood", "technology", 2, "starter")
simulation.report = true
simulation.cleanup()
simulation.runcycle()
simulation.status()
If you have access to logs window it permit to show you which recipes are ok and which one are blocking progression

That all folks ...
Post Reply

Return to “Mods”