use of riskyken.armourersWorkshop.common.skin.data.Skin in project Armourers-Workshop by RiskyKen.
the class SkinnableEntityCreeperRenderer method renderEquipmentType.
private void renderEquipmentType(EntityLivingBase entity, RendererLivingEntity renderer, ISkinType skinType, IEntityEquipment equipmentData) {
if (equipmentData.haveEquipment(skinType, 0)) {
ISkinPointer skinPointer = equipmentData.getSkinPointer(skinType, 0);
Skin skin = ClientSkinCache.INSTANCE.getSkin(skinPointer);
if (skin == null) {
return;
}
GL11.glEnable(GL11.GL_NORMALIZE);
float scale = 0.0625F;
for (int i = 0; i < skin.getParts().size(); i++) {
SkinPartRenderer.INSTANCE.renderPart(skin.getParts().get(i), scale, skinPointer.getSkinDye(), null, false);
}
GL11.glDisable(GL11.GL_NORMALIZE);
}
}
use of riskyken.armourersWorkshop.common.skin.data.Skin in project Armourers-Workshop by RiskyKen.
the class SkinnableEntityGhastRenderer method renderEquipmentType.
private void renderEquipmentType(EntityLivingBase entity, RendererLivingEntity renderer, ISkinType skinType, IEntityEquipment equipmentData) {
if (equipmentData.haveEquipment(skinType, 0)) {
ISkinPointer skinPointer = equipmentData.getSkinPointer(skinType, 0);
Skin skin = ClientSkinCache.INSTANCE.getSkin(skinPointer);
if (skin == null) {
return;
}
GL11.glEnable(GL11.GL_NORMALIZE);
float scale = 1F / 16F;
for (int i = 0; i < skin.getParts().size(); i++) {
SkinPartRenderer.INSTANCE.renderPart(skin.getParts().get(i), scale, skinPointer.getSkinDye(), null, false);
}
GL11.glDisable(GL11.GL_NORMALIZE);
}
}
use of riskyken.armourersWorkshop.common.skin.data.Skin in project Armourers-Workshop by RiskyKen.
the class SkinnableEntitySkeletonRenderer method renderEquipmentType.
private void renderEquipmentType(EntityLivingBase entity, RendererLivingEntity renderer, ISkinType skinType, IEntityEquipment equipmentData) {
float scale = 0.0625F;
if (renderer instanceof RenderSkeleton) {
RenderSkeleton rs = (RenderSkeleton) renderer;
if (!equipmentData.haveEquipment(skinType, 0)) {
return;
}
ISkinPointer skinPointer = equipmentData.getSkinPointer(skinType, 0);
Skin skin = ClientSkinCache.INSTANCE.getSkin(skinPointer);
if (skin == null) {
return;
}
AbstractModelSkin model = SkinModelRenderer.INSTANCE.getModelForEquipmentType(skinType);
GL11.glPushMatrix();
model.render(entity, rs.modelBipedMain, skin, false, skinPointer.getSkinDye(), null, false, 0, false);
GL11.glPopMatrix();
}
}
use of riskyken.armourersWorkshop.common.skin.data.Skin in project Armourers-Workshop by RiskyKen.
the class ItemSkin method addTooltipToSkinItem.
public static void addTooltipToSkinItem(ItemStack stack, EntityPlayer player, List tooltip, boolean showAdvancedItemTooltips) {
String cRed = EnumChatFormatting.RED.toString();
boolean isEquipmentSkin = stack.getItem() == ModItems.equipmentSkin;
boolean isEquipmentContainer = stack.getItem() instanceof AbstractModItemArmour;
if (SkinNBTHelper.stackHasSkinData(stack)) {
SkinPointer skinData = SkinNBTHelper.getSkinPointerFromStack(stack);
SkinIdentifier identifier = skinData.getIdentifier();
if (!isEquipmentSkin & !skinData.lockSkin & !isEquipmentContainer) {
return;
}
if (!isEquipmentSkin) {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.hasSkin"));
}
if (ClientSkinCache.INSTANCE.isSkinInCache(skinData)) {
Skin data = ClientSkinCache.INSTANCE.getSkin(skinData);
if (stack.getItem() != ModItems.equipmentSkin & !data.getCustomName().trim().isEmpty()) {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinName", data.getCustomName()));
}
if (!data.getAuthorName().trim().isEmpty()) {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinAuthor", data.getAuthorName()));
}
if (skinData.getIdentifier().getSkinType() != null) {
String localSkinName = SkinTypeRegistry.INSTANCE.getLocalizedSkinTypeName(skinData.getIdentifier().getSkinType());
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinType", localSkinName));
}
if (ConfigHandlerClient.showSkinTooltipDebugInfo) {
if (GuiScreen.isShiftKeyDown()) {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinIdentifier"));
if (identifier.hasLocalId()) {
tooltip.add(" " + TranslateUtils.translate("item.armourersworkshop:rollover.skinId", identifier.getSkinLocalId()));
}
if (identifier.hasLibraryFile()) {
tooltip.add(" " + TranslateUtils.translate("item.armourersworkshop:rollover.skinLibraryFile", identifier.getSkinLibraryFile().getFullName()));
}
if (identifier.hasGlobalId()) {
tooltip.add(" " + TranslateUtils.translate("item.armourersworkshop:rollover.skinGlobalId", identifier.getSkinGlobalId()));
}
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinTotalCubes", data.getTotalCubes()));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinNumCubes", data.getTotalOfCubeType(CubeRegistry.INSTANCE.getCubeFormId((byte) 0))));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinNumCubesGlowing", data.getTotalOfCubeType(CubeRegistry.INSTANCE.getCubeFormId((byte) 1))));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinNumCubesGlass", data.getTotalOfCubeType(CubeRegistry.INSTANCE.getCubeFormId((byte) 2))));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinNumCubesGlassGlowing", data.getTotalOfCubeType(CubeRegistry.INSTANCE.getCubeFormId((byte) 3))));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinPaintData", data.hasPaintData()));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinMarkerCount", data.getMarkerCount()));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinDyeCount", skinData.getSkinDye().getNumberOfDyes()));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinProperties"));
ArrayList<String> props = data.getProperties().getPropertiesList();
for (int i = 0; i < props.size(); i++) {
tooltip.add(" " + props.get(i));
}
} else {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinHoldShiftForInfo"));
}
}
if (identifier.hasLocalId()) {
if (identifier.getSkinLocalId() != data.lightHash()) {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinIdError1"));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinIdError2"));
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinIdError3", data.requestId, data.lightHash()));
}
}
} else {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skindownloading", identifier.toString()));
if (identifier.hasLocalId()) {
tooltip.add(" " + TranslateUtils.translate("item.armourersworkshop:rollover.skinId", identifier.getSkinLocalId()));
}
if (identifier.hasLibraryFile()) {
tooltip.add(" " + TranslateUtils.translate("item.armourersworkshop:rollover.skinLibraryFile", identifier.getSkinLibraryFile().getFullName()));
}
if (identifier.hasGlobalId()) {
tooltip.add(" " + TranslateUtils.translate("item.armourersworkshop:rollover.skinGlobalId", identifier.getSkinGlobalId()));
}
}
String keyName = Keyboard.getKeyName(Keybindings.openCustomArmourGui.getKeyCode());
if (isEquipmentSkin) {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinOpenWardrobe", keyName));
}
} else {
if (SkinNBTHelper.stackHasLegacySkinData(stack)) {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinOldType"));
} else {
if (isEquipmentSkin) {
tooltip.add(TranslateUtils.translate("item.armourersworkshop:rollover.skinInvalidItem"));
}
}
}
}
use of riskyken.armourersWorkshop.common.skin.data.Skin in project Armourers-Workshop by RiskyKen.
the class ItemSkin method placeSkinAtLocation.
private boolean placeSkinAtLocation(World world, EntityPlayer player, int side, ItemStack stack, int x, int y, int z, SkinPointer skinPointer) {
if (!canPlaceSkinAtLocation(world, player, side, stack, x, y, z, skinPointer)) {
return false;
}
ForgeDirection dir = UtilPlayer.getDirectionSide(player).getOpposite();
Skin skin = SkinUtils.getSkinDetectSide(stack, false, true);
if (skin == null) {
return false;
}
BlockSkinnable targetBlock = (BlockSkinnable) ModBlocks.skinnable;
if (SkinProperties.PROP_BLOCK_GLOWING.getValue(skin.getProperties())) {
targetBlock = (BlockSkinnable) ModBlocks.skinnableGlowing;
}
int meta = targetBlock.convertDirectionToMetadata(dir);
boolean multiblock = SkinProperties.PROP_BLOCK_MULTIBLOCK.getValue(skin.getProperties());
ArrayList<BlockLocation> relatedBlocks = new ArrayList<BlockLocation>();
if (multiblock) {
if (!canPlaceChildren(world, player, side, stack, x, y, z, skin, skinPointer, relatedBlocks)) {
return false;
}
placeChildren(world, player, side, x, y, z, skin, skinPointer, relatedBlocks);
}
world.setBlock(x, y, z, targetBlock, meta, 2);
world.setTileEntity(x, y, z, ((ITileEntityProvider) targetBlock).createNewTileEntity(world, 0));
TileEntitySkinnable te = (TileEntitySkinnable) world.getTileEntity(x, y, z);
te.setSkinPointer(skin, skinPointer);
targetBlock.onBlockPlacedBy(world, x, y, z, player, stack);
targetBlock.onPostBlockPlaced(world, x, y, z, meta);
te.setRelatedBlocks(relatedBlocks);
// targetBlock.setFacingDirection(world, x, y, z, dir);
stack.stackSize--;
world.playSoundEffect((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.5F, "dig.stone", 1, 1);
return true;
}
Aggregations