A 2D tile-based sandbox game.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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.registerTile("air", new Swan::Tile{
  8. .image = mod.loadImage("assets/tiles/air.png"),
  9. .is_solid = false,
  10. });
  11. mod.registerTile("stone", new Swan::Tile{
  12. .image = mod.loadImage("assets/tiles/stone.png"),
  13. .dropped_item = "core::stone",
  14. });
  15. mod.registerTile("dirt", new Swan::Tile{
  16. .image = mod.loadImage("assets/tiles/dirt.png"),
  17. .dropped_item = "core::dirt",
  18. });
  19. mod.registerTile("grass", new Swan::Tile{
  20. .image = mod.loadImage("assets/tiles/grass.png"),
  21. .dropped_item = "core::dirt",
  22. });
  23. mod.registerItem("stone", new Swan::Item{
  24. .image = mod.loadImage("assets/tiles/stone.png"),
  25. });
  26. mod.registerItem("dirt", new Swan::Item{
  27. .image = mod.loadImage("assets/tiles/dirt.png"),
  28. });
  29. mod.registerItem("grass", new Swan::Item{
  30. .image = mod.loadImage("assets/tiles/grass.png"),
  31. });
  32. mod.registerWorldGen("default", new WGDefault::Factory());
  33. mod.registerEntity("player", new EntPlayer::Factory());
  34. mod.registerEntity("item-stack", new EntItemStack::Factory());
  35. mod.registerAsset("player-running", new Swan::Asset("assets/entities/player-running.png"));
  36. mod.registerAsset("player-still", new Swan::Asset("assets/entities/player-still.png"));
  37. }