More symbols, remove Entity_moveTo

This commit is contained in:
Bigjango13 2024-04-02 15:03:38 -07:00
parent f3755387e8
commit d9c25f22ad
13 changed files with 42 additions and 4 deletions

View File

@ -73,6 +73,7 @@ set(SRC
src/level/LevelSource.def
src/level/ExternalFileLevelStorageSource.def
src/level/Biome.def
src/level/LevelChunk.def
src/level/ChunkSource.def
src/level/ChunkCache.def
src/level/LightLayer.def
@ -97,6 +98,7 @@ set(SRC
src/item/ArmorMaterial.def
src/item/ArmorItem.def
src/item/TileItem.def
src/item/TilePlanterItem.def
src/item/FoodItem.def
src/item/DiggerItem.def
src/api/OffsetPosTranslator.def

View File

@ -1,4 +1,9 @@
vtable 0x10a548;
virtual-method void remove() = 0x10;
// The difference between move and moveTo is that move is relative and moveTo is absolute
virtual-method void move(float xo, float yo, float zo) = 0x18;
virtual-method void moveTo(float x, float y, float z, float yaw, float pitch) = 0x1c;
virtual-method void tick() = 0x34;
virtual-method float getBrightness(float param_1) = 0x64;
virtual-method bool interact(Player *with) = 0x6c;
@ -15,8 +20,6 @@ virtual-method bool isHangingEntity() = 0xf0;
// The owner entity id for arrows/throwables, else 0
virtual-method int getAuxData() = 0xf4;
method void moveTo(float x, float y, float z, float yaw, float pitch) = 0x7a834;
property float x = 0x4;
property float y = 0x8;
property float z = 0xc;

View File

@ -1,7 +1,7 @@
extends Item;
extends TileItem;
vtable 0x114a58;
vtable-size 0x98;
size 0x2c;
property Tile *icon_tile = 0x28;

View File

@ -3,3 +3,7 @@ static-method void renderGuiItem_two(Font *font, Textures *textures, ItemInstanc
static-method void renderGuiItemCorrect(Font *font, Textures *textures, ItemInstance *item_instance, int x, int y) = 0x639a0;
static-method void renderGuiItemDecorations(ItemInstance *item, float x, float y) = 0x63748;
static-method void blit(float x, float y, float texture_x, float texture_y, float w, float h) = 0x638c0;
// This doesn't include things that it doesn't need for item renderering (like the level)
// So if you are (ab)using it for something else, be sure to set what you need
static-property TileRenderer *tileRenderer = 0x137c18;

View File

@ -1,3 +1,7 @@
extends Item;
vtable 0x114cd8;
vtable-size 0x98;
size 0x2c;
constructor (int id) = 0xce3a4;

View File

@ -0,0 +1,6 @@
extends Item;
size 0x28;
vtable 0x10ecb0;
property int tile_id = 0x24;

View File

@ -1,3 +1,4 @@
vtable 0x10fb88;
virtual-method LevelChunk *getChunk(int chunk_x, int chunk_y) = 0xc;
virtual-method void postProcess(ChunkSource *chunk_source, int chunk_x, int chunk_y) = 0x14;

View File

@ -4,8 +4,15 @@ vtable 0x10fcf0;
method void saveLevelData() = 0xa2e94;
method void setTile(int x, int y, int z, int id) = 0xa3904;
method void setData(int x, int y, int z, int data) = 0xa394c;
method void setTileAndData(int x, int y, int z, int id, int data) = 0xa38b4;
method void setTileAndDataNoUpdate(int x, int y, int z, int id, int data) = 0xa33d0;
// Calls setTileDirty and updateNearbyTiles
method void tileUpdated(int x, int y, int z, int id) = 0xa387c;
method void setTileDirty(int x, int y, int z) = 0xa3508;
// Calls neighborChanged for all adjacent tiles
method void updateNearbyTiles(int x, int y, int z, int id) = 0xa36cc;
method void neighborChanged(int x, int y, int z, int id) = 0xa3658;
// clip_liquids and clip_hitboxes default to true
// If clip_hitboxes is true it will ignore blocks that have their getAABB return NULL
method HitResult clip(uchar *param_1, uchar *param_2, bool clip_liquids, bool clip_hitboxes) = 0xa3db0;
@ -29,6 +36,7 @@ method TileEntity *getTileEntity(int x, int y, int z) = 0xa55d4;
method void setTileEntity(int x, int y, int z, TileEntity *tileEntity) = 0xa7b58;
method void removeTileEntity(int x, int y, int z) = 0xa7aac;
method void animateTick(int x, int y, int z) = 0xa5920;
method void addToTickNextTick(int x, int y, int z, int id, int delay) = 0xa7428;
// Called by trapdoors, doors, and tnt
method bool hasNeighborSignal(int x, int y, int z) = 0xa5f08;
// Called by hasNeighborSignal
@ -42,7 +50,10 @@ virtual-method void tick() = 0x28;
virtual-method void updateSleepingPlayerList() = 0x2c;
virtual-method ChunkCache *createChunkSource() = 0x30;
property bool is_client_side = 0x11;
property bool done_generating = 0x12;
property std::vector<Entity *> entities = 0x20;
property std::vector<TileEntity *> tileentities = 0x50;
property std::vector<Player *> players = 0x60;
property ChunkSource *chunk_source = 0xa5c;
property bool no_update = 0x70;

View File

@ -0,0 +1 @@
vtable 0x110268;

View File

@ -1 +1,2 @@
method uint getSpawnMobs() = 0xbabec;

View File

@ -3,6 +3,7 @@ virtual-method bool isSolid() = 0x8;
// Globals
static-property Material *dirt = 0x180a94;
static-property Material *stone = 0x180a9c;
static-property Material *wood = 0x180a98;
static-property Material *metal = 0x180aa0;
static-property Material *plant = 0x180ab0;
static-property Material *glass = 0x180acc;

View File

@ -18,6 +18,8 @@ virtual-method int getTexture1() = 0x28;
virtual-method int getTexture2(int face, int data) = 0x2c;
virtual-method int getTexture3(LevelSource *level, int x, int y, int z, int face) = 0x30;
virtual-method AABB *getAABB(Level *level, int x, int y, int z) = 0x34;
// Chain Tile_setShape_non_virtual and Tile_addAABBs_non_virtual, look at how stairs and fences do it
virtual-method void addAABBs(Level *level, int x, int y, int z, AABB *intersecting, std::vector<AABB> *aabbs) = 0x38;
virtual-method bool isSolidRender() = 0x40;
virtual-method bool mayPlace(Level *level, int x, int y, int z, uchar face) = 0x4c;
virtual-method bool mayPlace2(Level *level, int x, int y, int z) = 0x50;

View File

@ -8,4 +8,6 @@ virtual-method void render(TileEntity *tileentity, float x, float y, float z, fl
virtual-method void onGraphicsReset() = 0xc;
virtual-method void onNewLevel(Level *level) = 0x10;
method void bindTexture(std::string *file) = 0x67638;
property TileEntityRenderDispatcher *tileEntityRenderDispatcher = 0x4;