3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/particle/ParticleLayer.h"
7#include "mc/client/renderer/texture/TextureUVCoordinateSet.h"
8#include "mc/common/BrightnessPair.h"
9#include "mc/comprehensive/ParticleType.h"
10#include "mc/deps/core/math/Color.h"
11#include "mc/deps/core/math/Vec3.h"
12#include "mc/world/phys/AABB.h"
30 ::ll::TypedStorage<4, 4, float> mCameraOffset;
31 ::ll::TypedStorage<4, 4, int> mLifetime;
32 ::ll::TypedStorage<8, 88, ::TextureUVCoordinateSet> mTex;
33 ::ll::TypedStorage<4, 4, float> mU0;
34 ::ll::TypedStorage<4, 4, float> mV0;
35 ::ll::TypedStorage<4, 4, int> mAge;
36 ::ll::TypedStorage<4, 4, int> mTicksSinceLastUpdate;
37 ::ll::TypedStorage<4, 4, float> mSize;
38 ::ll::TypedStorage<4, 4, float> mGravity;
39 ::ll::TypedStorage<4, 16, ::mce::Color> mColor;
40 ::ll::TypedStorage<4, 16, ::mce::Color> mVanillaLightColor;
41 ::ll::TypedStorage<1, 2, ::BrightnessPair> mAmbientLight;
42 ::ll::TypedStorage<4, 4, ::ParticleType> mType;
43 ::ll::TypedStorage<4, 4, ::ParticleLayer> mLayer;
44 ::ll::TypedStorage<1, 1, bool> mUnlit;
45 ::ll::TypedStorage<4, 4, float> mRoll;
46 ::ll::TypedStorage<4, 4, float> mORoll;
47 ::ll::TypedStorage<4, 4, float> mXa;
48 ::ll::TypedStorage<4, 4, float> mZa;
49 ::ll::TypedStorage<4, 4, float> mXa2;
50 ::ll::TypedStorage<4, 4, float> mZa2;
51 ::ll::TypedStorage<4, 4, float> mYa;
52 ::ll::TypedStorage<8, 8, ::BlockSource*> mRegion;
53 ::ll::TypedStorage<4, 12, ::Vec3> mPosDelta;
54 ::ll::TypedStorage<4, 12, ::Vec3> mPos;
55 ::ll::TypedStorage<4, 12, ::Vec3> mPosOld;
56 ::ll::TypedStorage<1, 1, bool> mNoPhysics;
57 ::ll::TypedStorage<1, 1, bool> mOnGround;
58 ::ll::TypedStorage<1, 1, bool> mVertexDataInitialized;
59 ::ll::TypedStorage<4, 24, ::AABB> mBB;
71 virtual void init(::Vec3
const& pos, ::Vec3
const& dir,
int scale, ::ParticleEngine& engine) = 0;
73 virtual void addTagData(::CompoundTag
const& tag);
75 virtual void normalTick();
77 virtual void tessellate(::ParticleRenderContext
const& renderContext);
79 virtual ::mce::TexturePtr
const& getParticleTexture()
const;
81 virtual void setEmittingEntity(::Actor& entity);
83 virtual bool _shouldUpdateVertexData(
float sqDist);
85 virtual void _calculateAmbientLight(
float a);
91 MCAPI Particle(::BlockSource& source, ::ParticleType type);
93 MCAPI
void _generateVertexOffsets(
94 ::Vec3
const& cameraPos,
103 _init(::Vec3
const& pos, ::Vec3
const& dir,
int scale, ::ParticleEngine& engine, ::CompoundTag
const* tag);
105 MCAPI
void move(::Vec3
const& delta);
111 MCAPI
static void initStaticResources(::std::shared_ptr<::mce::TextureGroup> textureGroup);
113 MCAPI static ::Vec2 packLighting(::BrightnessPair
const& ambientLighting, ::mce::Color
const& lightColor);
119 MCAPI static ::mce::TexturePtr& FLAME_ATLAS();
121 MCAPI static ::mce::TexturePtr& FORCEFIELD_ATLAS();
123 MCAPI static ::mce::TexturePtr& ITEMS_ATLAS();
125 MCAPI static ::mce::TexturePtr& PARTICLE_ATLAS();
127 MCAPI static ::mce::TexturePtr& TERRAIN_ATLAS();
133 MCAPI
void* $ctor(::BlockSource& source, ::ParticleType type);
145 MCFOLD
void $addTagData(::CompoundTag
const& tag);
147 MCAPI
void $normalTick();
149 MCAPI
void $tessellate(::ParticleRenderContext
const& renderContext);
151 MCFOLD ::mce::TexturePtr
const& $getParticleTexture()
const;
153 MCFOLD
void $setEmittingEntity(::Actor& entity);
155 MCAPI
bool $_shouldUpdateVertexData(
float sqDist);
157 MCAPI
void $_calculateAmbientLight(
float a);
Definition BlockSource.h:71
Definition CompoundTag.h:23
Definition ParticleEngine.h:5
static MCAPI void ** $vftable()
Definition TextureGroup.h:7
Definition TexturePtr.h:19
Definition ParticleRenderContext.h:5