A 2D tile-based sandbox game.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

main.cc 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include <swan/swan.h>
  2. #include "WGDefault.h"
  3. #include "entities/EntPlayer.h"
  4. #include "entities/EntItemStack.h"
  5. extern "C" void mod_init(Swan::Mod &mod) {
  6. mod.init("core");
  7. mod.registerImage({ "air", "tiles/air.png" });
  8. mod.registerImage({ "stone", "tiles/stone.png" });
  9. mod.registerImage({ "dirt", "tiles/dirt.png" });
  10. mod.registerImage({ "grass", "tiles/grass.png" });
  11. mod.registerImage({ "tree-trunk", "tiles/tree-trunk.png" });
  12. mod.registerImage({ "player-running", "entities/player-running.png", 64 });
  13. mod.registerImage({ "player-still", "entities/player-still.png", 64 });
  14. mod.registerTile({
  15. .name = "air",
  16. .image = "core::air",
  17. .is_solid = false,
  18. });
  19. mod.registerTile({
  20. .name = "stone",
  21. .image = "core::stone",
  22. .dropped_item = "core::stone",
  23. });
  24. mod.registerTile({
  25. .name = "dirt",
  26. .image = "core::dirt",
  27. .dropped_item = "core::dirt",
  28. });
  29. mod.registerTile({
  30. .name = "grass",
  31. .image = "core::grass",
  32. .dropped_item = "core::dirt",
  33. });
  34. mod.registerTile({
  35. .name = "tree-trunk",
  36. .image = "core::tree-trunk",
  37. .dropped_item = "core::tree-trunk",
  38. });
  39. mod.registerItem({
  40. .name = "stone",
  41. .image = "core::stone",
  42. });
  43. mod.registerItem({
  44. .name = "dirt",
  45. .image = "core::dirt",
  46. });
  47. mod.registerItem({
  48. .name = "grass",
  49. .image = "core::grass",
  50. });
  51. mod.registerItem({
  52. .name = "tree-trunk",
  53. .image = "core::tree-trunk",
  54. });
  55. mod.registerWorldGen("default", std::make_unique<WGDefault::Factory>());
  56. mod.registerEntity("player", std::make_unique<EntPlayer::Factory>());
  57. mod.registerEntity("item-stack", std::make_unique<EntItemStack::Factory>());
  58. }