Icons for armor slots

This commit is contained in:
drcrazy 2017-10-21 02:42:57 +03:00
parent 3901d60545
commit c0a43c0947
3 changed files with 28 additions and 4 deletions

View file

@ -24,8 +24,26 @@
package techreborn.client;
//TODO recode for 1.8
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.TextureStitchEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class IconSupplier {
public static TextureAtlasSprite armour_head;
@SubscribeEvent
public void preTextureStitch(TextureStitchEvent.Pre event) {
TextureMap map = event.getMap();
armour_head = map.registerSprite(new ResourceLocation("techreborn:gui/slot_sprites/armour_head"));
}
// public static IIcon insulatedCopperCable;
// public static IIcon copperCable;
// public static IIcon goldCable;

View file

@ -29,6 +29,7 @@ import net.minecraft.inventory.EntityEquipmentSlot;
import org.apache.commons.lang3.Range;
import reborncore.client.gui.slots.BaseSlot;
import techreborn.client.container.builder.slot.FilteredSlot;
import techreborn.client.container.builder.slot.SpriteSlot;
public final class ContainerPlayerInventoryBuilder {
@ -95,8 +96,11 @@ public final class ContainerPlayerInventoryBuilder {
private ContainerPlayerArmorInventoryBuilder armor(final int index, final int xStart, final int yStart,
final EntityEquipmentSlot slotType) {
this.parent.parent.slots.add(new FilteredSlot(this.parent.player, index, xStart, yStart)
.setFilter(stack -> stack.getItem().isValidArmor(stack, slotType, this.parent.player.player)));
// this.parent.parent.slots.add(new FilteredSlot(this.parent.player, index, xStart, yStart)
// .setFilter(stack -> stack.getItem().isValidArmor(stack, slotType, this.parent.player.player)));
String sprite = "armour_" + slotType.getName();
this.parent.parent.slots.add(new SpriteSlot(this.parent.player, index, xStart, yStart, sprite, 1)
.setFilter(stack -> stack.getItem().isValidArmor(stack, slotType, this.parent.player.player)));
return this;
}

View file

@ -24,9 +24,11 @@
package techreborn.client.container.builder.slot;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.inventory.IInventory;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import techreborn.client.IconSupplier;
import techreborn.lib.ModInfo;
import javax.annotation.Nullable;
@ -38,7 +40,7 @@ public class SpriteSlot extends FilteredSlot {
public SpriteSlot(final IInventory inventory, final int index, final int xPosition, final int yPosition, final String sprite, final int stacksize) {
super(inventory, index, xPosition, yPosition);
this.sprite = ModInfo.MOD_ID + ":textures/gui/slot_sprites/" + sprite;
this.sprite = ModInfo.MOD_ID + ":textures/gui/slot_sprites/" + sprite + ".png";
this.stacksize = stacksize;
}