TerraFirmaCraft

TerraFirmaCraft

2M Downloads

Shearing any sheep color other then white will give incorrect wool texture

Azaysol opened this issue ยท 4 comments

commented

Describe the bug
Make sure to include:

  1. What did you expect to happen? get regular tfc wool texture
  2. What actually happened instead (i.e. what was the bug) get unknown texture wool

To Reproduce
Attention to detail is important!

  1. Do '...' download any version of tng
  2. Then do '...' shear a sheep that is not white

Meta Info

  • TFC Version: 87

pretty sure this is related to TFC sheep class EntitySheepTFC importing net.minecraft.entity.passive.EntitySheep;
which has the following statement
@nullable
protected ResourceLocation getLootTable() {
if (this.getSheared()) {
return LootTableList.ENTITIES_SHEEP;
} else {
switch(this.getFleeceColor()) {
case WHITE:
default:
return LootTableList.ENTITIES_SHEEP_WHITE;
case ORANGE:
return LootTableList.ENTITIES_SHEEP_ORANGE;
case MAGENTA:
return LootTableList.ENTITIES_SHEEP_MAGENTA;
case LIGHT_BLUE:
return LootTableList.ENTITIES_SHEEP_LIGHT_BLUE;
case YELLOW:
return LootTableList.ENTITIES_SHEEP_YELLOW;
case LIME:
return LootTableList.ENTITIES_SHEEP_LIME;
case PINK:
return LootTableList.ENTITIES_SHEEP_PINK;
case GRAY:
return LootTableList.ENTITIES_SHEEP_GRAY;
case SILVER:
return LootTableList.ENTITIES_SHEEP_SILVER;
case CYAN:
return LootTableList.ENTITIES_SHEEP_CYAN;
case PURPLE:
return LootTableList.ENTITIES_SHEEP_PURPLE;
case BLUE:
return LootTableList.ENTITIES_SHEEP_BLUE;
case BROWN:
return LootTableList.ENTITIES_SHEEP_BROWN;
case GREEN:
return LootTableList.ENTITIES_SHEEP_GREEN;
case RED:
return LootTableList.ENTITIES_SHEEP_RED;
case BLACK:
return LootTableList.ENTITIES_SHEEP_BLACK;
}
}
}

commented

That's because tfc sheeps are missing a proper color implementation. It is not decided yet how/if we are gonna do that.

If we add colors, imo, we should add some form of genetic selection (don't need to be like forestry, but at least a random from father / mother).

commented

Vanilla already has sheep dye "genetic" selection - it mixes the parent colors if possible, otherwise picks a random from the parent.

commented

it looks like the code always forces it to spawn TFC Wool either way, so just adding all the wool colors in a textures/model.json to point to tfc wool texture should fix that

commented

But that doesn't make any sense. Applying dye to the sheep shouldn't alter the genes of the baby. Dyed sheep shouldn't keep the colored wool after getting sheared either. Dyeing a sheep shouldn't change its genetic makeup - it should have the same colored wool it started with according to its genes.