修改子弹rgb渲染方法
This commit is contained in:
parent
a7f906a604
commit
d0ebedef52
2 changed files with 14 additions and 19 deletions
|
@ -87,8 +87,6 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
||||||
private float bypassArmorRate = 0.0f;
|
private float bypassArmorRate = 0.0f;
|
||||||
private float undeadMultiple = 1.0f;
|
private float undeadMultiple = 1.0f;
|
||||||
|
|
||||||
public float colorR = 1, colorG = 222 / 255f, colorB = 39 / 255f;
|
|
||||||
|
|
||||||
public ProjectileEntity(EntityType<? extends ProjectileEntity> p_i50159_1_, Level p_i50159_2_) {
|
public ProjectileEntity(EntityType<? extends ProjectileEntity> p_i50159_1_, Level p_i50159_2_) {
|
||||||
super(p_i50159_1_, p_i50159_2_);
|
super(p_i50159_1_, p_i50159_2_);
|
||||||
}
|
}
|
||||||
|
@ -220,9 +218,9 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void defineSynchedData() {
|
protected void defineSynchedData() {
|
||||||
this.entityData.define(COLOR_R, this.colorR);
|
this.entityData.define(COLOR_R, 1.0f);
|
||||||
this.entityData.define(COLOR_G, this.colorG);
|
this.entityData.define(COLOR_G, 222 / 255f);
|
||||||
this.entityData.define(COLOR_B, this.colorB);
|
this.entityData.define(COLOR_B, 39 / 255f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -285,16 +283,12 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void readAdditionalSaveData(CompoundTag compoundTag) {
|
protected void readAdditionalSaveData(CompoundTag compoundTag) {
|
||||||
this.colorR = compoundTag.getFloat("ColorR");
|
|
||||||
this.colorG = compoundTag.getFloat("ColorG");
|
|
||||||
this.colorB = compoundTag.getFloat("ColorB");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void addAdditionalSaveData(CompoundTag compoundTag) {
|
protected void addAdditionalSaveData(CompoundTag compoundTag) {
|
||||||
compoundTag.putFloat("ColorR", this.colorR);
|
|
||||||
compoundTag.putFloat("ColorG", this.colorG);
|
|
||||||
compoundTag.putFloat("ColorB", this.colorB);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void onProjectileTick() {
|
protected void onProjectileTick() {
|
||||||
|
@ -691,8 +685,8 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRGB(float[] rgb) {
|
public void setRGB(float[] rgb) {
|
||||||
this.colorR = rgb[0];
|
this.entityData.set(COLOR_R, rgb[0]);
|
||||||
this.colorG = rgb[1];
|
this.entityData.set(COLOR_G, rgb[1]);
|
||||||
this.colorB = rgb[2];
|
this.entityData.set(COLOR_B, rgb[2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,15 +19,16 @@ public class ProjectileEntityLayer extends GeoRenderLayer<ProjectileEntity> {
|
||||||
super(entityRenderer);
|
super(entityRenderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO 解决RGB颜色问题
|
|
||||||
@Override
|
@Override
|
||||||
public void render(PoseStack poseStack, ProjectileEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
public void render(PoseStack poseStack, ProjectileEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
||||||
RenderType glowRenderType = RenderType.eyes(LAYER);
|
RenderType glowRenderType = RenderType.eyes(LAYER);
|
||||||
|
|
||||||
|
float r = animatable.getEntityData().get(ProjectileEntity.COLOR_R);
|
||||||
|
float g = animatable.getEntityData().get(ProjectileEntity.COLOR_G);
|
||||||
|
float b = animatable.getEntityData().get(ProjectileEntity.COLOR_B);
|
||||||
|
|
||||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType,
|
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType,
|
||||||
bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY,
|
bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY,
|
||||||
animatable.getEntityData().get(ProjectileEntity.COLOR_R),
|
r, g, b, 0.8f);
|
||||||
animatable.getEntityData().get(ProjectileEntity.COLOR_G),
|
|
||||||
animatable.getEntityData().get(ProjectileEntity.COLOR_B),
|
|
||||||
0.8f);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue