fix: armorstand according to wiki + wobble animation + head renderer
Armor stands are not damaged by cacti but can be broken by arrows. An armor stand destroyed by an explosion or a firework does not drop as an item. Armor stands in water and lava at the same time are not consumed by the lava.
This commit is contained in:
@@ -2,13 +2,13 @@
|
||||
#include "LivingEntityRenderer.h"
|
||||
#include "HumanoidArmorLayer.h"
|
||||
#include "ResourceLocation.h"
|
||||
|
||||
#include <vector>
|
||||
|
||||
class ArmorStandModel;
|
||||
class LivingEntity;
|
||||
class Entity;
|
||||
class RenderLayer;
|
||||
class CustomHeadLayer;
|
||||
|
||||
class ArmorStandRenderer : public LivingEntityRenderer {
|
||||
public:
|
||||
@@ -22,17 +22,12 @@ public:
|
||||
protected:
|
||||
std::vector<RenderLayer*> renderLayers;
|
||||
ArmorStandArmorLayer* armorLayer;
|
||||
CustomHeadLayer* headLayer;
|
||||
|
||||
public:
|
||||
void addLayer(RenderLayer* layer) {
|
||||
renderLayers.push_back(layer);
|
||||
}
|
||||
void addLayer(ArmorStandArmorLayer* layer) {
|
||||
armorLayer = layer;
|
||||
}
|
||||
ArmorStandArmorLayer* getArmorLayer() {
|
||||
return armorLayer;
|
||||
}
|
||||
void addLayer(RenderLayer* layer) { renderLayers.push_back(layer); }
|
||||
void addLayer(ArmorStandArmorLayer* layer) { armorLayer = layer; }
|
||||
ArmorStandArmorLayer* getArmorLayer() { return armorLayer; }
|
||||
|
||||
static ResourceLocation LOC_ARMOR_STAND;
|
||||
|
||||
@@ -40,15 +35,17 @@ public:
|
||||
virtual ~ArmorStandRenderer();
|
||||
|
||||
virtual ResourceLocation* getTextureLocation(shared_ptr<Entity> entity) override;
|
||||
virtual bool shouldShowName(shared_ptr<LivingEntity> mob) override;
|
||||
virtual void setupRotations(shared_ptr<LivingEntity> mob,
|
||||
float bob, float bodyRot, float a) override;
|
||||
virtual void render(shared_ptr<Entity> entity,
|
||||
double x, double y, double z,
|
||||
float rot, float a) override;
|
||||
virtual void renderModel(shared_ptr<LivingEntity> mob,
|
||||
float wp, float ws, float bob,
|
||||
float headRotMinusBodyRot,
|
||||
float headRotx, float scale) override;
|
||||
virtual int prepareArmor(shared_ptr<LivingEntity> mob, int layer, float a) override;
|
||||
virtual bool shouldShowName(shared_ptr<LivingEntity> mob) override;
|
||||
|
||||
virtual void setupRotations(shared_ptr<LivingEntity> mob,
|
||||
float bob, float bodyRot, float a) override;
|
||||
virtual void render(shared_ptr<Entity> entity,
|
||||
double x, double y, double z,
|
||||
float rot, float a) override;
|
||||
virtual void renderModel(shared_ptr<LivingEntity> mob,
|
||||
float wp, float ws, float bob,
|
||||
float headRotMinusBodyRot,
|
||||
float headRotx, float scale) override;
|
||||
virtual int prepareArmor(shared_ptr<LivingEntity> mob, int layer, float a) override;
|
||||
virtual void additionalRendering(shared_ptr<LivingEntity> mob, float a) override;
|
||||
};
|
||||
Reference in New Issue
Block a user