Giter Club home page Giter Club logo

factorio-ghostonwater's People

Contributors

arios16 avatar chaossaber avatar keinniemand avatar nekizalb avatar soggs avatar spenczar avatar

Stargazers

 avatar

Watchers

 avatar

factorio-ghostonwater's Issues

Space Scaffolding get's placed under things that don't need it

Space scaffolding get's added to entities that can already be placed in space add an additional check to make sure an entity actually collides with space/water before placing landfill/scaffolding or convert water ghosts to real ghosts (when possible) before trying to place landfill.

Feature Request: Possible overlap fix implementation

Assuming that during placement it is possible to:

  1. Detect which entities in the blueprint are completely over land/landfill/space platform
  2. Change the entity id of any entities being placed in real time

Then changing the entity id for any blueprint entity that is hovered completely over land to the entity id of the placed version on land should fix issues with red collision placement highlighting. It also has the additional upside of making all ghosts placed on land with a water placeable blueprint compatible with regular, non water placeable blueprints.

Automatically place watertiles under offshore pumps

Would be usefull feature, but probably not easy to implement
Things that would need to be done:

  1. Detect whter or not any type of water has an item that places it, to enable/disable this feature
  2. If enabled change waterGhost offshore pumps so that they can be placed on land and water, this is non trival due to offshore pump having 3 collision mask and 3 Collison tests (collision tests must be fulfilled while masks collide)
  3. Detect what part of the offshore pump needs to be on water based on collision masks/tests and place ghost water tiles there
    The big problem with this feature is that offshore pumps have so many different masks, the part that should be in water could be defined as either colliding with land or colliding as a collision test that it must be on water.

Crash when SE + curedFMD are installed

Apprently accoding to the report on the forums it's probably just a load order issue and can be fixed by adding space exploration post process as optional dependency so this mod loads after.

Add localized name to everything in the mod

Currently nothing in the mod has a localized name, at minimum the mod settings and shortcut button need a localized name (hardcoded or in a locale) so settings have a proper name.

Reduce/Remove Lag Spiked by storing water ghosts in a table in global.

Instead of searching all entitles for water ghosts every time the mod updates, store water ghosts in a table in global and use that table when processing.
Add water ghosts to this table trough events like on_built_entity or script_raised_built or any other possible build events. Scan for water ghosts entities when initializing the global table, and maybe do infrequent scans refilling the table, if there are any issues regarding water ghost entities not ending up in the table.

Fix compatibility with more long insertes

probably just a matter of adding it as an optional dependency (it probably creates it's inserters in data-final-fixes so I just have to make sure this mod loads later)

Space Exploration, Endgame Combat

Found an issue playing Space Exploration, using Endgame Combat. GoW does not seem to upg tower so tries to place standard towers and since all the tower are upged there are none to place.

A minor thing but inconvinient

While loading mods... waterGhost-wooden-trashdump-10x10

Error ModManager.cpp:1560: Error while sorting items-to-place for entity prototype "waterGhost-wooden-trashdump-10x10" (container): item-to-place "waterGhost-wooden-chest" count (100) can't be larger than the the item stack size (50).

Requires mod to be disabled to load.

Please advise

SpaceExploration + AAI Programmable Vehicle break Vehicle Depot selection priotrity

The changes in collision masks when SE is also installed break the Selection priority for the Vehicle Depot from AAI, to fix this a patch has to be added that changes the selection priority of the different vehicle depot entitles when both mods are installed to ensure the right entity (the container and maybe the signal) can be selected.
Can't think of a generic way to fix this so I guess a fix would have to be added for every multi entity that breaks due to collision mask/selection priority problems.

Dosn't work with shallow Water

Shallow water collides with floor layer when space exploration is installed so if possible remove that from water ghosts, make sure that landfill placements still works. Without SE vanilla shallow water apperntly collides with object layer, but this might be irrelevent as shallow water my not appear in vanilla normally.

Also Add Sub Category for Items Entitys

Add a Subcategory (regular category is aperrently not enough) for water ghost items and entities so they are separate from other things in some menus like the editor.

Add Support for Offshore Pumps

Currently offshore pumps are not supported, because they require special logic to work. Add support for offshore pumps (including modded offshore pumps) landfill should only be placed on the part of the offshore pump that needs to be on land.

If possible add also place ghost water fill (if a water fill mod is installed) to the part of pumps that needs to be in water.

Nanobots won't build GhostOnWater-ified blueprints

I don't know if this is a bug with Nanobots or GhostOnWater.

In case it matters, I've tested as follows (using Factorio 1.1.78, Nanobots 3.2.19 and GhostOnWater 0.11.4):

  • Create a new game
  • Cheat in a nano emitter, some ammo, and some landfill
    /c game.player.insert{name="gun-nano-emitter", count=1}
    /c game.player.insert{name="ammo-nano-constructors", count=100}
    /c game.player.insert{name="landfill", count=100}
    
  • Place a stone furnace and copy it
  • Hit Ctrl+W to GhostOnWater-ify
  • Paste on water
  • TAB to activate the nano emitter

Shift-placing a stone furnace has nanobots build it, as well as shift-placing landfill on water.

If I cheat in the necessary bits to have vanilla construction bots, the GhostOnWater-ified blueprint gets built.

Does not interact well with existing blueprints and objects from pre-mod

Existing blueprints cannot be made water placeable, only blueprints created since the mod was installed. The blue highlighting of entities which overlap a ghost in a "compatible" way only work with objects placed since the mod was installed. Otherwise the collision is red, even if the objects would normally highlight blue.

Support placing ghosts on space in space exploration

empty space in space exploration collides with "object-layer" and a few custom layers(check if those need to be added as well) in addition to what water collides with. to prevent building building on top of each other, some kind of custom layer probably needs to be added to both ghosts and original entities that collide with object layer or any of the custom SE layers that have to be removed.

[CRASH] Error while running event GhostOnWater::InputWaterGhostBlueprintUpdate (ID 180)

22631.442 Error MainLoop.cpp:1284: Exception at tick 30033103: Мод Ghost On Water (0.11.2) вызвал неустранимую ошибку.
Пожалуйста, сообщите об этой ошибке автору мода.

Error while running event GhostOnWater::InputWaterGhostBlueprintUpdate (ID 180)
__GhostOnWater__/modules/blueprints.lua:14: attempt to index field 'cursor_stack' (a nil value)
stack traceback:
	__GhostOnWater__/modules/blueprints.lua:14: in function 'updateBlueprint'
	__GhostOnWater__/control.lua:83: in function 'handler'
	__stdlib__/stdlib/event/event.lua:342: in function 'pcall'
	__stdlib__/stdlib/event/event.lua:362: in function 'dispatch_event'
	__stdlib__/stdlib/event/event.lua:438: in function <__stdlib__/stdlib/event/event.lua:396>
22631.442 Error ServerMultiplayerManager.cpp:92: MultiplayerManager failed: "Мод Ghost On Water (0.11.2) вызвал неустранимую ошибку.
Пожалуйста, сообщите об этой ошибке автору мода.

Error while running event GhostOnWater::InputWaterGhostBlueprintUpdate (ID 180)
__GhostOnWater__/modules/blueprints.lua:14: attempt to index field 'cursor_stack' (a nil value)
stack traceback:
	__GhostOnWater__/modules/blueprints.lua:14: in function 'updateBlueprint'
	__GhostOnWater__/control.lua:83: in function 'handler'
	__stdlib__/stdlib/event/event.lua:342: in function 'pcall'
	__stdlib__/stdlib/event/event.lua:362: in function 'dispatch_event'
	__stdlib__/stdlib/event/event.lua:438: in function <__stdlib__/stdlib/event/event.lua:396>"

Slight incompatibility with Space Explorations Constrcution Pylons

Space Exploration has an item called Constrcution Pylon and Radar Constrcution Pylon. These are basically a roboprt and a power pole at once. If you blueprint a single one, then the blueprint actually shows, that it requires two of them. Without #20 only one of them has a dummy. With that PR both have a dummy.
Issue happens in both versions. Everything works fine when placed on land. But when placed on water, it will break, because robots will place at least one of the ghost. If that happens before the landfill is placed, then it will stay forever a dummy item and the other ghost will also stay there forever.
Probably happens with every multi-entity (or however the technical term is for these).

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.