aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/SurvivalMode.h
blob: b4ce5e6dd614d4668183403b51c32feb6b0cd770 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once
#include "GameMode.h"

class SurvivalMode : public GameMode
{
private:
	int xDestroyBlock;
    int yDestroyBlock;
    int zDestroyBlock;
    float destroyProgress;
    float oDestroyProgress;
    int destroyTicks;		// 4J was float but doesn't seem to need to be
    int destroyDelay;

public:
	SurvivalMode(Minecraft *minecraft);
	SurvivalMode(SurvivalMode *copy);
    virtual void initPlayer(shared_ptr<Player> player);
    virtual void init();
	virtual bool canHurtPlayer();
    virtual bool destroyBlock(int x, int y, int z, int face);
    virtual void startDestroyBlock(int x, int y, int z, int face);
    virtual void stopDestroyBlock();
    virtual void continueDestroyBlock(int x, int y, int z, int face);
    virtual void render(float a);
    virtual float getPickRange();
    virtual void initLevel(Level *level);
	virtual shared_ptr<Player> createPlayer(Level *level);
    virtual void tick();
	virtual bool useItemOn(shared_ptr<Player> player, Level *level, shared_ptr<ItemInstance> item, int x, int y, int z, int face, bool bTestUseOnOnly=false, bool *pbUsedItem=NULL);
	virtual bool hasExperience();
};