Skip to content

Commit 5c0aec6

Browse files
authored
Merge pull request #46 from TBoshoven/1.14-simplified-particle-textures
Simplify the particle texture logic.
2 parents 8d5d278 + 7d8f23e commit 5c0aec6

13 files changed

+30
-34
lines changed

MagicDoorknob/src/main/java/com/tomboshoven/minecraft/magicdoorknob/blocks/tileentities/MagicDoorwayPartBaseTileEntity.java

-7
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.tomboshoven.minecraft.magicdoorknob.items.Items;
55
import com.tomboshoven.minecraft.magicdoorknob.items.MagicDoorknobItem;
66
import com.tomboshoven.minecraft.magicdoorknob.modelloaders.textured.ModelTextureProperty;
7-
import com.tomboshoven.minecraft.magicdoorknob.modelloaders.textured.ModelTextureProperty.ModelParticleTextureProperty;
87
import mcp.MethodsReturnNonnullByDefault;
98
import net.minecraft.block.BlockState;
109
import net.minecraft.block.Blocks;
@@ -47,11 +46,6 @@ public abstract class MagicDoorwayPartBaseTileEntity extends TileEntity {
4746
*/
4847
private static final ModelTextureProperty TEXTURE_HIGHLIGHT = ModelTextureProperty.get(new ResourceLocation(PROPERTY_NAMESPACE, "texture_highlight"));
4948

50-
/**
51-
* The particle texture of the doorway (based on base block).
52-
*/
53-
private static final ModelParticleTextureProperty TEXTURE_PARTICLE = ModelTextureProperty.getParticleProperty();
54-
5549
// The block we're basing the appearance of this block on.
5650
private BlockState baseBlockState = Blocks.AIR.getDefaultState();
5751
// The doorknob that caused this block to be created.
@@ -131,7 +125,6 @@ public IModelData getModelData() {
131125
return new ModelDataMap.Builder()
132126
.withInitial(TEXTURE_MAIN, blockTexture.getName())
133127
.withInitial(TEXTURE_HIGHLIGHT, doorknobTextureLocation)
134-
.withInitial(TEXTURE_PARTICLE, blockTexture.getName())
135128
.build();
136129
}
137130

MagicDoorknob/src/main/java/com/tomboshoven/minecraft/magicdoorknob/modelloaders/textured/ITextureMapper.java

-6
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,4 @@ public interface ITextureMapper {
2424
* @return The location of the appropriate texture
2525
*/
2626
ResourceLocation mapSprite(PropertySprite spriteToMap, @Nullable BlockState blockState, @Nullable IModelData extraData);
27-
28-
/**
29-
* @param extraData Extra model data if available
30-
* @return The location of the appropriate particle texture
31-
*/
32-
ResourceLocation getParticleTexture(@Nullable IModelData extraData);
3327
}

MagicDoorknob/src/main/java/com/tomboshoven/minecraft/magicdoorknob/modelloaders/textured/ModelDataTextureMapper.java

-12
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,4 @@ public ResourceLocation mapSprite(PropertySprite spriteToMap, @Nullable BlockSta
3030
}
3131
return new ResourceLocation("missingno");
3232
}
33-
34-
@Override
35-
public ResourceLocation getParticleTexture(@Nullable IModelData extraData) {
36-
if (extraData != null) {
37-
ModelProperty<ResourceLocation> modelProperty = ModelTextureProperty.getParticleProperty();
38-
ResourceLocation spriteLocation = extraData.getData(modelProperty);
39-
if (spriteLocation != null) {
40-
return spriteLocation;
41-
}
42-
}
43-
return new ResourceLocation("missingno");
44-
}
4533
}

MagicDoorknob/src/main/java/com/tomboshoven/minecraft/magicdoorknob/modelloaders/textured/ModelTextureProperty.java

-7
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ public final class ModelTextureProperty extends ModelProperty<ResourceLocation>
1818
// Lazily filled map of model texture properties.
1919
// Can't just use equality as they are used in an IdentityHashMap.
2020
private static final Map<ResourceLocation, ModelTextureProperty> PROPERTIES = Maps.newHashMap();
21-
private static final ModelParticleTextureProperty PARTICLE_PROPERTY = new ModelParticleTextureProperty();
2221

2322
private final ResourceLocation name;
2423

@@ -40,10 +39,6 @@ public static ModelTextureProperty get(ResourceLocation name) {
4039
return PROPERTIES.computeIfAbsent(name, ModelTextureProperty::new);
4140
}
4241

43-
public static ModelParticleTextureProperty getParticleProperty() {
44-
return PARTICLE_PROPERTY;
45-
}
46-
4742
@Override
4843
public boolean equals(Object o) {
4944
if (this == o) return true;
@@ -56,6 +51,4 @@ public boolean equals(Object o) {
5651
public int hashCode() {
5752
return Objects.hash(name);
5853
}
59-
60-
public static class ModelParticleTextureProperty extends ModelProperty<ResourceLocation> {}
6154
}

MagicDoorknob/src/main/java/com/tomboshoven/minecraft/magicdoorknob/modelloaders/textured/TexturedBakedModel.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,12 @@ public ItemOverrideList getOverrides() {
7979

8080
@Override
8181
public TextureAtlasSprite getParticleTexture(@Nonnull IModelData data) {
82-
ResourceLocation particleTextureLocation = textureMapper.getParticleTexture(data);
83-
return bakedTextureGetter.apply(particleTextureLocation);
82+
TextureAtlasSprite sprite = super.getParticleTexture(data);
83+
if (sprite instanceof PropertySprite) {
84+
ResourceLocation spriteLocation = textureMapper.mapSprite((PropertySprite) sprite, null, data);
85+
sprite = bakedTextureGetter.apply(spriteLocation);
86+
}
87+
return sprite;
8488
}
8589

8690
/**

MagicDoorknob/src/main/resources/assets/magic_doorknob/models/block/magic_door_bottom.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"loader": "magic_doorknob:textured",
33
"base_loader": "forge:composite",
4+
"textures": {
5+
"particle": "property:texture_main"
6+
},
47
"parts": {
58
"door": {
69
"parent": "magic_doorknob:block/part/magic_door"

MagicDoorknob/src/main/resources/assets/magic_doorknob/models/block/magic_door_top.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"loader": "magic_doorknob:textured",
33
"base_loader": "forge:composite",
4+
"textures": {
5+
"particle": "property:texture_main"
6+
},
47
"parts": {
58
"door": {
69
"parent": "magic_doorknob:block/part/magic_door"

MagicDoorknob/src/main/resources/assets/magic_doorknob/models/block/magic_doorway_closed_bottom.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"loader": "magic_doorknob:textured",
33
"base_loader": "forge:composite",
4+
"textures": {
5+
"particle": "property:texture_main"
6+
},
47
"parts": {
58
"pillar1": {
69
"parent": "magic_doorknob:block/part/magic_doorway_wall"

MagicDoorknob/src/main/resources/assets/magic_doorknob/models/block/magic_doorway_closed_top.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"loader": "magic_doorknob:textured",
33
"base_loader": "forge:composite",
4+
"textures": {
5+
"particle": "property:texture_main"
6+
},
47
"parts": {
58
"top": {
69
"parent": "magic_doorknob:block/part/magic_doorway_top"

MagicDoorknob/src/main/resources/assets/magic_doorknob/models/block/magic_doorway_half_open_bottom.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"loader": "magic_doorknob:textured",
33
"base_loader": "forge:composite",
4+
"textures": {
5+
"particle": "property:texture_main"
6+
},
47
"parts": {
58
"wall1": {
69
"parent": "magic_doorknob:block/part/magic_doorway_wall"

MagicDoorknob/src/main/resources/assets/magic_doorknob/models/block/magic_doorway_half_open_top.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"loader": "magic_doorknob:textured",
33
"base_loader": "forge:composite",
4+
"textures": {
5+
"particle": "property:texture_main"
6+
},
47
"parts": {
58
"top": {
69
"parent": "magic_doorknob:block/part/magic_doorway_top"

MagicDoorknob/src/main/resources/assets/magic_doorknob/models/block/magic_doorway_open_bottom.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"loader": "magic_doorknob:textured",
33
"base_loader": "forge:composite",
4+
"textures": {
5+
"particle": "property:texture_main"
6+
},
47
"parts": {
58
"pillar1": {
69
"parent": "magic_doorknob:block/part/magic_doorway_pillar"

MagicDoorknob/src/main/resources/assets/magic_doorknob/models/block/magic_doorway_open_top.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"loader": "magic_doorknob:textured",
33
"base_loader": "forge:composite",
4+
"textures": {
5+
"particle": "property:texture_main"
6+
},
47
"parts": {
58
"top": {
69
"parent": "magic_doorknob:block/part/magic_doorway_top"

0 commit comments

Comments
 (0)