Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Actuators" #214

Open
SoniEx2 opened this issue Aug 19, 2016 · 2 comments
Open

"Actuators" #214

SoniEx2 opened this issue Aug 19, 2016 · 2 comments

Comments

@SoniEx2
Copy link
Contributor

SoniEx2 commented Aug 19, 2016

Currently NOVA uses separate methods for separate actuators. This should be changed to an actuator mechanism.

Benefits of an "actuator" mechaism:

  • Can support redstone without depending on MC/redstone. (Useful for NOVA mods that don't want to be considered MC mods for legal reasons or otherwise.)
  • Players, commands and redstone would be handled similarly? (Note: Can be overriden on a case-by-case basis.)
  • Support for buttons in games that don't have logic/redstone stuff.
  • Etc.
  • HUGE abstraction.

Drawbacks:

  • Slightly more complex implementation.
  • ???
@SoniEx2
Copy link
Contributor Author

SoniEx2 commented Aug 20, 2016

Possible changes:

  • nova.core.command
    • Player -> Actuator
      • Could be a player, the server console, a command block, etc.
      • Should use capabilities such as "can open GUIs", "has position", etc.
  • ??? (will edit as I come up with more use cases)

Adding it just for commands would be stupid, when we could generalize it for the whole API. E.g. This could be used for:

  • Items (may be used by fake players, normal players, entities, etc)
    • Use, eat, attack with, etc
  • Blocks (fake players, players, entities, commands, etc)
    • Place, break, interact, etc
  • Entities (fake players, players, entities, commands, etc)
    • Hurt, kill, interact, ride, etc
  • Etc

Another thing to consider is that fake players cannot open GUIs, so they shouldn't have that capability, while normal players can, and should have the capability. Also, block-based fake players cannot ride entities, however, entity-based fake players may be able to.

@SoniEx2
Copy link
Contributor Author

SoniEx2 commented Aug 20, 2016

Potential questions:

  • Can this be extended to redstone and other in-world elements?
  • Should this be used by GUI buttons?
  • ???

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant