Skip to content

Commit cdbb2d1

Browse files
authored
Merge pull request #47 from TBoshoven/1.15-simplified-particle-textures
Simplify the particle texture logic.
2 parents 0f31827 + 2c6d8c7 commit cdbb2d1

13 files changed

+32
-34
lines changed

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

+2-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;
@@ -56,11 +55,6 @@ public abstract class MagicDoorwayPartBaseTileEntity extends TileEntity {
5655
*/
5756
private static final String[] SUBMODEL_NAMES = {"door", "doorknob", "top", "wall1", "wall2", "pillar1", "pillar2", "pillar3", "pillar4"};
5857

59-
/**
60-
* The particle texture of the doorway (based on base block).
61-
*/
62-
private static final ModelParticleTextureProperty TEXTURE_PARTICLE = ModelTextureProperty.getParticleProperty();
63-
6458
// The block we're basing the appearance of this block on.
6559
private BlockState baseBlockState = Blocks.AIR.getDefaultState();
6660
// The doorknob that caused this block to be created.
@@ -151,7 +145,8 @@ public IModelData getModelData() {
151145
}
152146
return new ModelDataMap.Builder()
153147
.withInitial(SUBMODEL_DATA, submodelModelData)
154-
.withInitial(TEXTURE_PARTICLE, blockMaterial)
148+
.withInitial(TEXTURE_MAIN, blockMaterial)
149+
.withInitial(TEXTURE_HIGHLIGHT, doorknobMaterial)
155150
.build();
156151
}
157152

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
Material 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-
Material 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 Material mapSprite(PropertySprite spriteToMap, @Nullable BlockState block
3333
}
3434
return new Material(PlayerContainer.LOCATION_BLOCKS_TEXTURE, MissingTextureSprite.getLocation());
3535
}
36-
37-
@Override
38-
public Material getParticleTexture(@Nullable IModelData extraData) {
39-
if (extraData != null) {
40-
ModelProperty<Material> modelProperty = ModelTextureProperty.getParticleProperty();
41-
Material spriteLocation = extraData.getData(modelProperty);
42-
if (spriteLocation != null) {
43-
return spriteLocation;
44-
}
45-
}
46-
return new Material(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<Material> {
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<Material> {}
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-
Material particleTextureLocation = textureMapper.getParticleTexture(data);
168-
return bakedTextureGetter.apply(particleTextureLocation);
167+
TextureAtlasSprite sprite = super.getParticleTexture(data);
168+
if (sprite instanceof PropertySprite) {
169+
Material 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)