4jcraft/Minecraft.World/Entities/MinecartFurnace.h
2026-03-21 16:29:02 -05:00

51 lines
1.1 KiB
C++

#pragma once
#include "Mobs/Minecart.h"
class MinecartFurnace : public Minecart {
public:
eINSTANCEOF GetType() { return eTYPE_MINECART_FURNACE; };
static Entity* create(Level* level) { return new MinecartFurnace(level); }
private:
static const int DATA_ID_FUEL = 16;
private:
int fuel;
public:
double xPush, zPush;
MinecartFurnace(Level* level);
MinecartFurnace(Level* level, double x, double y, double z);
// 4J added
virtual int getContainerType();
int getType();
protected:
void defineSynchedData();
public:
void tick();
void destroy(DamageSource* source);
protected:
void moveAlongTrack(int xt, int yt, int zt, double maxSpeed,
double slideSpeed, int tile, int data);
void applyNaturalSlowdown();
public:
bool interact(std::shared_ptr<Player> player);
protected:
void addAdditonalSaveData(CompoundTag* base);
void readAdditionalSaveData(CompoundTag* base);
bool hasFuel();
void setHasFuel(bool fuel);
public:
Tile* getDefaultDisplayTile();
int getDefaultDisplayData();
};