From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.Client/Particle.h | 53 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Minecraft.Client/Particle.h (limited to 'Minecraft.Client/Particle.h') diff --git a/Minecraft.Client/Particle.h b/Minecraft.Client/Particle.h new file mode 100644 index 00000000..d9b0ba3a --- /dev/null +++ b/Minecraft.Client/Particle.h @@ -0,0 +1,53 @@ +#pragma once +using namespace std; + +#include "..\Minecraft.World\Entity.h" +#include "..\Minecraft.World\ParticleTypes.h" +#include "ParticleEngine.h" +class Tesselator; +class CompoundTag; +class Icon; + +class Particle : public Entity +{ +protected: + int texX, texY; + float uo, vo; + int age; + int lifetime; + float size; + float gravity; + float rCol, gCol, bCol; + float alpha; + Icon *tex; +public: + static double xOff, yOff, zOff; +private: + void _init(Level *level, double x, double y, double z); +protected: + Particle(Level *level, double x, double y, double z); +public: + Particle(Level *level, double x, double y, double z, double xa, double ya, double za); + virtual shared_ptr setPower(float power); + virtual shared_ptr scale(float scale); + void setColor(float r, float g, float b); + void setAlpha(float alpha); + float getRedCol(); + float getGreenCol(); + float getBlueCol(); + float getAlpha(); +protected: + virtual bool makeStepSound(); + virtual void defineSynchedData(); +public: + virtual void tick(); + virtual void render(Tesselator *t, float a, float xa, float ya, float za, float xa2, float za2); + virtual int getParticleTexture(); + virtual void addAdditonalSaveData(CompoundTag *entityTag); + virtual void readAdditionalSaveData(CompoundTag *tag); + virtual void setTex(Textures *textures, Icon *icon); + virtual void setMiscTex(int slotIndex); + virtual void setNextMiscAnimTex(); + virtual bool isAttackable(); + virtual wstring toString(); +}; \ No newline at end of file -- cgit v1.2.3