mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-03-23 04:07:11 +01:00
Backport: Unicorns can have horns but not cast magic
This commit is contained in:
parent
41f5bf2845
commit
056caced12
5 changed files with 24 additions and 4 deletions
|
@ -15,6 +15,11 @@ public interface IModelUnicorn extends IModel {
|
|||
*/
|
||||
boolean canCast();
|
||||
|
||||
/**
|
||||
* Returns true if this model has an visible horns.
|
||||
*/
|
||||
boolean hasHorn();
|
||||
|
||||
/**
|
||||
* Returns true if this model is currently using magic (horn is lit).
|
||||
* @return
|
||||
|
|
|
@ -61,7 +61,7 @@ public class ModelPonyHead extends ModelHumanoidHead implements ICapitated {
|
|||
|
||||
super.render(entity, move, swing, ticks, headYaw, headPitch, scale);
|
||||
|
||||
if (metadata.hasMagic()) {
|
||||
if (metadata.hasHorn()) {
|
||||
skeletonHead.postRender(scale);
|
||||
horn.renderPart(scale, entity.getUniqueID());
|
||||
}
|
||||
|
|
|
@ -116,6 +116,11 @@ public class ModelUnicorn extends ModelEarthPony implements IModelUnicorn {
|
|||
return metadata.hasMagic();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasHorn() {
|
||||
return metadata.hasHorn();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCasting() {
|
||||
return rightArmPose != ArmPose.EMPTY || leftArmPose != ArmPose.EMPTY;
|
||||
|
@ -137,9 +142,9 @@ public class ModelUnicorn extends ModelEarthPony implements IModelUnicorn {
|
|||
protected void renderHead(Entity entity, float move, float swing, float ticks, float headYaw, float headPitch, float scale) {
|
||||
super.renderHead(entity, move, swing, ticks, headYaw, headPitch, scale);
|
||||
|
||||
if (canCast()) {
|
||||
if (hasHorn()) {
|
||||
horn.renderPart(scale, entity.getUniqueID());
|
||||
if (isCasting()) {
|
||||
if (canCast() && isCasting()) {
|
||||
horn.renderMagic(getMagicColor(), scale);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,11 @@ public interface IPonyData extends IMetadataSection {
|
|||
*/
|
||||
int getGlowColor();
|
||||
|
||||
/**
|
||||
* Returns true if and only if this metadata represents a pony that has a horn.
|
||||
*/
|
||||
boolean hasHorn();
|
||||
|
||||
/**
|
||||
* Returns true if and only if this metadata represents a pony that can cast magic.
|
||||
*/
|
||||
|
|
|
@ -69,9 +69,14 @@ public class PonyData implements IPonyData {
|
|||
return glowColor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasHorn() {
|
||||
return getRace() != null && getRace().getEffectiveRace(false).hasHorn();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasMagic() {
|
||||
return getRace() != null && getRace().getEffectiveRace(false).hasHorn() && getGlowColor() != 0;
|
||||
return hasHorn() && getGlowColor() != 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Add table
Reference in a new issue