[MOD 0.12.x] The 8L Train Project v1.2.3 (Updated '16-05-01)
- Jackalope_Gaming
- Fast Inserter
- Posts: 230
- Joined: Wed Oct 07, 2015 10:11 pm
- Contact:
Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
If 0.13 somehow breaks this mod then yes, I'll update it.
Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
I created repo for myself to mess around with code, but if you wish to do this right/your way, you can recreate it and I will create a fork. But this is lyrics.Jackielope wrote:I don't have a repository, though I am working on including graphics and such for other mods which so far is just using Photoshop to enlarge the sprite sheets. If I was really shooting for the stars I could make this into something like "The 8L Train Project" where I'd end up supporting as many train mods as I could.
What kinds of things would you (and others who can chip in their opinions) like to see in the repository?
Right now I'm learning how to do the conditional modding where my mod looks for another mod and then does some changes to make interactions work better.
You can see, what I've done with your mod. And I'm very open to suggestions about modding rules and style for Factorio.
I removed I think completely unnecessary extension and redefining of base cargo-wagon and locomotive. To achieve desired behavior it is sufficient to reassign required properties of entities (dynamic languages, yarrr).
I did not found a proper way to check inside mod/script whether some specific mods is installed, so I hardcoded Bob's mod's upgraded versions of railroad entities.
- Jackalope_Gaming
- Fast Inserter
- Posts: 230
- Joined: Wed Oct 07, 2015 10:11 pm
- Contact:
Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
This mod is the first time I've ever done lua programming, so forgive me if things aren't done as neatly as they could be. I only watched the video Klonan made and went straight from there.
Your comment has me thinking about whether it's better to have the entity files the way I did them or have them be reassigned like you've done. I'm a bit partial to having them still as their full entities so people can more easily fiddle with them on their own and understand what's going on, but I suppose a case can be made for the reassignment programming to also be something people can fiddle with and learn from.
And yeah, I haven't yet figured out how to have my mod check for other mods. I do know how to have it check for certain entities though such as FARL, but before I add FARL support into the public version of this mod I need to learn how to do the conditional dependencies so I can compare those methods and then get feedback on which one is easier for me to support other modders with, or for them to support me.
Your comment has me thinking about whether it's better to have the entity files the way I did them or have them be reassigned like you've done. I'm a bit partial to having them still as their full entities so people can more easily fiddle with them on their own and understand what's going on, but I suppose a case can be made for the reassignment programming to also be something people can fiddle with and learn from.
And yeah, I haven't yet figured out how to have my mod check for other mods. I do know how to have it check for certain entities though such as FARL, but before I add FARL support into the public version of this mod I need to learn how to do the conditional dependencies so I can compare those methods and then get feedback on which one is easier for me to support other modders with, or for them to support me.
Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
Hello.
Should i start the new game with this mod or i can use it on the existing save?
Should i start the new game with this mod or i can use it on the existing save?
- Jackalope_Gaming
- Fast Inserter
- Posts: 230
- Joined: Wed Oct 07, 2015 10:11 pm
- Contact:
Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
The mod can be added to an existing save and it won't cause any problems other than you'll maybe have to redo train stations.erro wrote:Hello.
Should i start the new game with this mod or i can use it on the existing save?
Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
And re-place the trains.Jackielope wrote:The mod can be added to an existing save and it won't cause any problems other than you'll maybe have to redo train stations.erro wrote:Hello.
Should i start the new game with this mod or i can use it on the existing save?
You don't need to change the sprites, you can set sprite scale in prototype definitions.Jackielope wrote:I don't have a repository, though I am working on including graphics and such for other mods which so far is just using Photoshop to enlarge the sprite sheets. If I was really shooting for the stars I could make this into something like "The 8L Train Project" where I'd end up supporting as many train mods as I could.
What kinds of things would you (and others who can chip in their opinions) like to see in the repository?
Right now I'm learning how to do the conditional modding where my mod looks for another mod and then does some changes to make interactions work better.
Here is a full re-implementation I created for my singleplayer game, with scaled sprites:
info.json
data.lua
entities.lua
Total size 1.5 kB, zipped.Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
Here is a copy for download.
License: talk to Jackielope and GotLag
License: talk to Jackielope and GotLag
- Attachments
-
- Train Length Fix_1.0.0.zip
- Train Length Fix 1.0.0 by Jackielope and GotLag
Compiled by Trev_lite - (1.38 KiB) Downloaded 138 times
Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
On further reflection, changing the selection boxes to {{-0.85, -4}, {0.85, 4}} on cargo wagons, locomotives and rail tankers may be a good idea. It makes it much easier to see where the ends of wagons are.
Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
I made the changes.
- Attachments
-
- Train Length Fix_1.0.1.zip
- (1.38 KiB) Downloaded 157 times
- Jackalope_Gaming
- Fast Inserter
- Posts: 230
- Joined: Wed Oct 07, 2015 10:11 pm
- Contact:
Re: [MOD 0.12.x]Train position and length fix (updated 2016-2-13
Trev_lite wrote:I made the changes.
I was not aware of this. That will make things significantly easier.GotLag wrote: You don't need to change the sprites, you can set sprite scale in prototype definitions.
(snip)
Thanks to both of you it feels feasible to support every train mod. I have used the code Trev_lite made and added support for FARL, RailTanker, and Bob's Mods and made a GitHub repository at https://github.com/Jackalope-Gaming/8L- ... tag/v1.0.0.
I have renamed this mod "The 8L Train Project" now that I can fully support basically all other train mods pretty easily. Thanks again to both of you for providing a much better way of creating this mod.
Dammit, I made another Reddit thread and it used Buggi's avatar again when it should clearly be using my own...
- Jackalope_Gaming
- Fast Inserter
- Posts: 230
- Joined: Wed Oct 07, 2015 10:11 pm
- Contact:
Re: [MOD 0.12.x] The 8L Train Project v1.1.0
Update: I have added support for the More Locomotives mod.
Re: [MOD 0.12.x] The 8L Train Project v1.1.0
the info.json and folder name have not been updated to 1.1.0
to get it to work for now you can just rename the mod to 1.0.0
to get it to work for now you can just rename the mod to 1.0.0
- Jackalope_Gaming
- Fast Inserter
- Posts: 230
- Joined: Wed Oct 07, 2015 10:11 pm
- Contact:
Re: [MOD 0.12.x] The 8L Train Project v1.1.0
It's fixed now to be 1.1.0, and I've made a note to myself that it might not be the best thing to do two updates the same day. If I had remembered the More Locomotives mod existed before or while adding in support for the others this would be 1.0.0, but since I didn't and I want to go with the semantic versioning where the middle number is minor content updates it is now 1.1.0.
-
- Inserter
- Posts: 49
- Joined: Sun Dec 28, 2014 1:03 pm
- Contact:
Re: [MOD 0.12.x] The 8L Train Project v1.1.0
This should be vanilla...
Re: [MOD 0.12.x] The 8L Train Project v1.1.0
Doesnt quite work right in .29 it seems. The third cargo wagon wont start loading from its last spot until a 4th wagon is added.
copper sitting in chest not loading
4th car placed, copper loads
-
- Manual Inserter
- Posts: 1
- Joined: Thu Mar 24, 2016 3:24 am
- Contact:
Re: [MOD 0.12.x] The 8L Train Project v1.1.0
FYI, the current zipped folder includes a '-' before the version when it should be a '_'. This causes factorio to complain that the mod is not the expected version.
- Jackalope_Gaming
- Fast Inserter
- Posts: 230
- Joined: Wed Oct 07, 2015 10:11 pm
- Contact:
Re: [MOD 0.12.x] The 8L Train Project v1.1.0
This is a problem with the base game too. To test this in the base game set down one locomotive, then seven cargo wagons. The seventh one can't load at the end unless there's a wagon behind it.Zanthras wrote:Doesnt quite work right in .29 it seems. The third cargo wagon wont start loading from its last spot until a 4th wagon is added.
It looks like it's a problem when the wagon ends on a whole number tile so to speak. Since that's the entire point of this mod, I don't know if it's possible for me to change it.
It might have been a change in .27 that caused this to be more pronounced. See viewtopic.php?f=3&t=21789 and viewtopic.php?t=19604.
I have fixed that here on the forums and on GitHub.blackjackblk wrote:FYI, the current zipped folder includes a '-' before the version when it should be a '_'. This causes factorio to complain that the mod is not the expected version.
- Jackalope_Gaming
- Fast Inserter
- Posts: 230
- Joined: Wed Oct 07, 2015 10:11 pm
- Contact:
Re: [MOD 0.12.x] The 8L Train Project v1.1.0
Good news everyon! In the latest Friday Facts the devs wrote this:
These are to be finished:
...
* Redo of the train graphics and fixing the train distances, so they are whole tiles and vertical and horizontal distances are the same.
This will make my mod obsolete, which was actually one of my goals since the hope was the devs would make the trains be full tile lengths in the base game. Not only that, I didn't even dream that they'd decide to revisit their previous design choices about vertical train length being equal to horizontal train length. Wube Software, you guys are awesome!
These are to be finished:
...
* Redo of the train graphics and fixing the train distances, so they are whole tiles and vertical and horizontal distances are the same.
This will make my mod obsolete, which was actually one of my goals since the hope was the devs would make the trains be full tile lengths in the base game. Not only that, I didn't even dream that they'd decide to revisit their previous design choices about vertical train length being equal to horizontal train length. Wube Software, you guys are awesome!
- Jackalope_Gaming
- Fast Inserter
- Posts: 230
- Joined: Wed Oct 07, 2015 10:11 pm
- Contact:
Re: [MOD 0.12.x] The 8L Train Project v1.1.0
I have updated the mod to 1.2.0. The programming has once again been revamped, and support for Color Coding has been added.
This is likely to be the final version for this mod due to not finding other train mods I can support and the upcoming 0.13 train fixes in the official Factorio release that will incorporate the effects of my mod.
This is likely to be the final version for this mod due to not finding other train mods I can support and the upcoming 0.13 train fixes in the official Factorio release that will incorporate the effects of my mod.
Re: [MOD 0.12.x] The 8L Train Project v1.2.0 (Updated '16-03-26)
Hey, i noticed the position of the cargo wagons is still a little off. I found out it is due to the position where the train stops at the station,
which is with a distance of 0.5 between the frontal joint and the center of the station.
If you change joint_distance to 5 and connection_distance to 3, on both locomotive and wagon, the wagons line up with the grid perfectly.
(connection_distance on the locomotive doesn't seem to do anything though)
You then also have to increase the collision_box to (-2.7 , 2.7) to fit the joints inside.
Here is the changed entities.lua:
which is with a distance of 0.5 between the frontal joint and the center of the station.
If you change joint_distance to 5 and connection_distance to 3, on both locomotive and wagon, the wagons line up with the grid perfectly.
(connection_distance on the locomotive doesn't seem to do anything though)
You then also have to increase the collision_box to (-2.7 , 2.7) to fit the joints inside.
Here is the changed entities.lua:
Code: Select all
supported_wagons = {
-- base game
"cargo-wagon",
-- Rail Tanker
"rail-tanker",
-- Bob's mods
"cargo-wagon-2",
"cargo-wagon-3",
"armoured-cargo-wagon",
}
supported_locos = {
-- base game
"diesel-locomotive",
-- FARL
"farl",
-- Bob's mods
"diesel-locomotive-2",
"diesel-locomotive-3",
"armoured-diesel-locomotive",
-- More Locomotives
"cargo-locomotive",
"hs-locomotive",
-- Color-coding colored locos
"diesel-locomotive-red",
"diesel-locomotive-orange",
"diesel-locomotive-yellow",
"diesel-locomotive-green",
"diesel-locomotive-cyan",
"diesel-locomotive-blue",
"diesel-locomotive-purple",
"diesel-locomotive-magenta",
"diesel-locomotive-white",
"diesel-locomotive-black",
}
-- reconfigure all supported cargo wagons for 8L size
for i,name in ipairs(supported_wagons) do
if data.raw["cargo-wagon"][name] then
data.raw["cargo-wagon"][name].collision_box = {{-0.6, -2.7}, {0.6, 2.7}}
data.raw["cargo-wagon"][name].selection_box = {{-1, -4.5}, {1, 3}}
data.raw["cargo-wagon"][name].connection_distance = 3
data.raw["cargo-wagon"][name].joint_distance = 5
data.raw["cargo-wagon"][name].pictures.scale = 1.09
data.raw["cargo-wagon"][name].pictures.shift = {0.79, -0.55}
if name == "rail-tanker" then
-- picture scale and shift need to be overridden with these values for rail tanker
data.raw["cargo-wagon"][name].pictures.scale = 1.08
data.raw["cargo-wagon"][name].pictures.shift = {2.05, -0.60}
end
end
end
-- reconfigure all supported locos for 8L size
for i,name in ipairs(supported_locos) do
if data.raw["locomotive"][name] then
data.raw["locomotive"][name].collision_box = {{-0.6, -2.7}, {0.6, 2.7}}
data.raw["locomotive"][name].selection_box = {{-1, -4.5}, {1, 3}}
data.raw["locomotive"][name].connection_distance = 3
data.raw["locomotive"][name].joint_distance = 5
data.raw["locomotive"][name].pictures.shift = {1.0, -0.5}
end
end