Skip to content

Commit

Permalink
Fix burn property on planks, slightly clean MixinTextureMap
Browse files Browse the repository at this point in the history
  • Loading branch information
Roadhog360 committed Dec 3, 2023
1 parent 3e3a070 commit cf5a40f
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ganymedes01.etfuturum.configuration.configs.ConfigBlocksItems;
import ganymedes01.etfuturum.configuration.configs.ConfigFunctions;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
Expand Down Expand Up @@ -43,11 +42,7 @@ public void getSubBlocks(Item item, CreativeTabs tab, List list) {

@Override
public boolean isFlammable(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection aSide) {
if (ConfigFunctions.enableExtraBurnableBlocks) {
int meta = aWorld.getBlockMetadata(aX, aY, aZ) % getTypes().length;
return meta > 1;
}
return false;
return aWorld.getBlockMetadata(aX, aY, aZ) % getTypes().length > 1;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package ganymedes01.etfuturum.blocks;

import com.google.common.collect.Lists;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ganymedes01.etfuturum.ModBlocks;
import ganymedes01.etfuturum.configuration.configs.ConfigFunctions;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.util.ForgeDirection;
Expand All @@ -26,11 +27,12 @@ public BlockModernWoodSlab(boolean isDouble) {

@Override
public void getSubBlocks(Item p_149666_1_, CreativeTabs p_149666_2_, List p_149666_3_) {
List<ItemStack> list = Lists.newArrayList();
ModBlocks.WOOD_PLANKS.get().getSubBlocks(p_149666_1_, p_149666_2_, list);
for (int i = 0; i < Math.min(list.size(), 8); i++) {
p_149666_3_.add(list.get(i));
}
ModBlocks.WOOD_PLANKS.get().getSubBlocks(p_149666_1_, p_149666_2_, p_149666_3_);
}

@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister reg) {
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,31 +31,24 @@ public abstract class MixinTextureMap extends AbstractTexture implements ITickab
@Final
private Map mapRegisteredSprites;

@Shadow
protected abstract ResourceLocation completeResourceLocation(ResourceLocation p_147634_1_, int p_147634_2_);

@Inject(method = "registerIcon", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;<init>(Ljava/lang/String;)V"), cancellable = true)
private void registerInterpolatedIcon(String textureName, CallbackInfoReturnable<IIcon> cir) {
try {
String prefixedTextureName;
String unprefixedName;
String domain;
if (textureName.contains(":")) {
domain = textureName.split(":")[0];
unprefixedName = textureName.substring(textureName.indexOf(":") + 1);
} else {
domain = "minecraft";
unprefixedName = textureName;
}
prefixedTextureName = domain + ":textures/" + (textureType == 0 ? "blocks" : "items") + "/" + unprefixedName + ".png";
IResource resource = Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation(prefixedTextureName));
IResource resource = Minecraft.getMinecraft().getResourceManager().getResource(completeResourceLocation(new ResourceLocation(textureName), 0));
if (resource instanceof SimpleResource) {
//This returns IMetadataSections, which seems to already remove unused mcmeta fields in 1.7.10
//I'm just running this to poplate the mcmetaJson field more easily; this does it for us
resource.getMetadata("");
JsonObject mcmetaJson = ((SimpleResource) resource).mcmetaJson;
JsonObject animationJson;
if (mcmetaJson != null && (animationJson = mcmetaJson.getAsJsonObject("animation")) != null && animationJson.getAsJsonPrimitive("interpolate").getAsBoolean()) {
InterpolatedIcon interpolatedIcon = new InterpolatedIcon(textureName);
mapRegisteredSprites.put(textureName, interpolatedIcon);
cir.setReturnValue(interpolatedIcon);
if (resource.getMetadata("") != null) {
JsonObject mcmetaJson = ((SimpleResource) resource).mcmetaJson;
JsonObject animationJson;
if (mcmetaJson != null && (animationJson = mcmetaJson.getAsJsonObject("animation")) != null && animationJson.getAsJsonPrimitive("interpolate").getAsBoolean()) {
InterpolatedIcon interpolatedIcon = new InterpolatedIcon(textureName);
mapRegisteredSprites.put(textureName, interpolatedIcon);
cir.setReturnValue(interpolatedIcon);
}
}
}
} catch (Exception ignored) {/*Should quietly fail, no need to failhard*/}
Expand Down

0 comments on commit cf5a40f

Please sign in to comment.