Code Monkey home page Code Monkey logo

java-factorio-data-wrapper's People

Contributors

acid1103 avatar bilka2 avatar dependabot[bot] avatar factorioblueprints avatar koepket avatar vilsol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

java-factorio-data-wrapper's Issues

Issues while loading mods

Hello, I found a fue issues while loading various mods, and I think I found the fixes. Hope this helps :)

  • base may load after some mods. It looks like it should load before as it generated some errors accessing to data.raw.technology for example.
  • The config.lua file of mods isn't called. I'm not sure if it's mandatory but adding it after initializeSettings() fixed some errors.
  • The mod list isn't loaded into lua. Some mods with compatibility will look for a mod array. Creating it before settings.lua seems to fix the issue.

For reference, here are the mods I used for testing:
DyWorld 0.8.6
Afraid of the Dark 1.0.23
FNEI 0.2.7
SpaceMod 0.4.4

Add package alias for core/base/mods in general

Noise expressions dump the file path, we should be setting the package alias on the mod to prevent lua from using full file paths there. The base game does this by overwriting the lua package alias, we will have research how that is possible in LuaJ.

Better mod support

The big boy.

Dependency parsing issues

  • Doesn't deal with spaces in mod names. - Fixed in #44
  • Doesn't deal with no space between symbol (e.g. ?) and mod name. - Fixed in #44
  • Doesn't deal with ~ and ! (presumably (?) is also broken, but less important to get fixed). - Fixed in #44
  • Doesn't default to requiring base when no dependencies given (may be the cause of #26). - Fixed in cf8aa7a

Require() issues

  • Jetpack 0.2.13 requires with ".lua" in the string, results in looking for prototypes/phase1/jetpack\\lua.lua, but the java side loader.lua require works - find out what is going on. - Fixed in bc7321d
  • package.loaded is kept between mods, breaks requiring when two mods have file with same name and require without full path. - Fixed in #46
  • package.loaded is kept between settings and data stage. - Fixed in #46
  • Add package alias for core/base/mods in general (#20)
  • Requires relative to the current folder do not work in unzipped mods (do work in zipped mods)

Enhancements

  • Load mod setting values from mod setting file (after loading setting prototypes) - requires parser for binary file type
  • Make sure the mod ordering via dependencies works correctly
  • Report incompatibilities and missing mods even when dependency doesn't affect load order (~ and ! support)

Optional

  • Use Factorio's serpent
  • Use Factorio's Lua - can Java interact with the C API?

CamelCase typo breaking the bot on linux

Moved issue over from demodude4u/Factorio-FBSR#114 :

When trying to load the dataloader.lua file, the blueprintbot uses the following as the path:

/factorio/data/core/luaLib/dataloader.lua

On windows this works fine due to the fact that casing is ignored. On linux this results in an error.

The line should changed to:

/factorio/data/core/lualib/dataloader.lua

Replace Pair from javafx with something better

Pair<> is being used in many locations, but it is not intended to be used as commonly as this. I'm not even using javafx in this project! Eclipse sometimes complains that Pair is not API, which I can partially agree with. Look at using apache commons Pair instead.

Add a readme or some documentation

I just stumbled across this project but I got a few generic questions that seems helpful to answer in a README:

  • What is this project?
  • What does it do?
  • How to use it from my own code?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.