Skip to content

Commit a429573

Browse files
committed
Simplify the particle texture logic.
Moving it to the models themselves makes a lot more sense.
1 parent c4e028a commit a429573

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
@@ -3,7 +3,6 @@
33
import com.tomboshoven.minecraft.magicdoorknob.items.Items;
44
import com.tomboshoven.minecraft.magicdoorknob.items.MagicDoorknobItem;
55
import com.tomboshoven.minecraft.magicdoorknob.modelloaders.textured.ModelTextureProperty;
6-
import com.tomboshoven.minecraft.magicdoorknob.modelloaders.textured.ModelTextureProperty.ModelParticleTextureProperty;
76
import mcp.MethodsReturnNonnullByDefault;
87
import net.minecraft.block.BlockState;
98
import net.minecraft.block.Blocks;
@@ -48,11 +47,6 @@ public abstract class MagicDoorwayPartBaseTileEntity extends TileEntity {
4847
*/
4948
private static final ModelTextureProperty TEXTURE_HIGHLIGHT = ModelTextureProperty.get(new ResourceLocation(PROPERTY_NAMESPACE, "texture_highlight"));
5049

51-
/**
52-
* The particle texture of the doorway (based on base block).
53-
*/
54-
private static final ModelParticleTextureProperty TEXTURE_PARTICLE = ModelTextureProperty.getParticleProperty();
55-
5650
// The block we're basing the appearance of this block on.
5751
private BlockState baseBlockState = Blocks.AIR.getDefaultState();
5852
// The doorknob that caused this block to be created.
@@ -140,7 +134,6 @@ public IModelData getModelData() {
140134
CompositeModel.CompositeModelData compositeModelData = new CompositeModel.CompositeModelData();
141135
compositeModelData.setData(TEXTURE_MAIN, blockMaterial);
142136
compositeModelData.setData(TEXTURE_HIGHLIGHT, doorknobMaterial);
143-
compositeModelData.setData(TEXTURE_PARTICLE, blockMaterial);
144137
return compositeModelData;
145138
}
146139

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 appropriate material
2525
*/
2626
RenderMaterial 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-
RenderMaterial 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
@@ -33,16 +33,4 @@ public RenderMaterial mapSprite(PropertySprite spriteToMap, @Nullable BlockState
3333
}
3434
return new RenderMaterial(PlayerContainer.LOCATION_BLOCKS_TEXTURE, MissingTextureSprite.getLocation());
3535
}
36-
37-
@Override
38-
public RenderMaterial getParticleTexture(@Nullable IModelData extraData) {
39-
if (extraData != null) {
40-
ModelProperty<RenderMaterial> modelProperty = ModelTextureProperty.getParticleProperty();
41-
RenderMaterial spriteLocation = extraData.getData(modelProperty);
42-
if (spriteLocation != null) {
43-
return spriteLocation;
44-
}
45-
}
46-
return new RenderMaterial(PlayerContainer.LOCATION_BLOCKS_TEXTURE, MissingTextureSprite.getLocation());
47-
}
4836
}

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

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

2423
private final ResourceLocation name;
2524

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

44-
public static ModelParticleTextureProperty getParticleProperty() {
45-
return PARTICLE_PROPERTY;
46-
}
47-
4843
@Override
4944
public boolean equals(Object o) {
5045
if (this == o) return true;
@@ -57,6 +52,4 @@ public boolean equals(Object o) {
5752
public int hashCode() {
5853
return Objects.hash(name);
5954
}
60-
61-
public static class ModelParticleTextureProperty extends ModelProperty<RenderMaterial> {}
6255
}

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

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

165165
@Override
166166
public TextureAtlasSprite getParticleTexture(@Nonnull IModelData data) {
167-
RenderMaterial particleTextureLocation = textureMapper.getParticleTexture(data);
168-
return bakedTextureGetter.apply(particleTextureLocation);
167+
TextureAtlasSprite sprite = super.getParticleTexture(data);
168+
if (sprite instanceof PropertySprite) {
169+
RenderMaterial spriteLocation = textureMapper.mapSprite((PropertySprite) sprite, null, data);
170+
sprite = bakedTextureGetter.apply(spriteLocation);
171+
}
172+
return sprite;
169173
}
170174

171175
/**

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)