From 9caaa894058802d9277980be2423f8468a6e7c99 Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 9 Nov 2022 23:13:48 +0100 Subject: [PATCH] well that was fucking stupid --- src/main/java/com/hbm/blocks/ModBlocks.java | 2 +- .../hbm/blocks/generic/BlockSnowglobe.java | 12 +- src/main/java/com/hbm/main/ClientProxy.java | 2 + .../render/tileentity/RenderSnowglobe.java | 85 +++ .../assets/hbm/models/trinkets/snowglobe.obj | 581 ++++++++++++++++++ .../textures/models/trinkets/snowglobe.png | Bin 0 -> 165 bytes 6 files changed, 680 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/hbm/render/tileentity/RenderSnowglobe.java create mode 100644 src/main/resources/assets/hbm/models/trinkets/snowglobe.obj create mode 100644 src/main/resources/assets/hbm/textures/models/trinkets/snowglobe.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index c162fc59f..9e904ba13 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2667,7 +2667,7 @@ public class ModBlocks { GameRegistry.registerBlock(deco_emitter, ItemBlockBase.class, deco_emitter.getUnlocalizedName()); GameRegistry.registerBlock(deco_loot, deco_loot.getUnlocalizedName()); GameRegistry.registerBlock(bobblehead, ItemBlockMeta.class, bobblehead.getUnlocalizedName()); - register(snowglobe); + GameRegistry.registerBlock(snowglobe, ItemBlockMeta.class, snowglobe.getUnlocalizedName()); GameRegistry.registerBlock(hazmat, hazmat.getUnlocalizedName()); GameRegistry.registerBlock(deco_rbmk, deco_rbmk.getUnlocalizedName()); GameRegistry.registerBlock(deco_rbmk_smooth, deco_rbmk_smooth.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java b/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java index f41767dd3..c94771004 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java +++ b/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java @@ -17,6 +17,7 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -153,7 +154,8 @@ public class BlockSnowglobe extends BlockContainer { } public static enum SnowglobeType { - NONE("NONE", new WorldInAJar(1, 1, 1)); + NONE("NONE", new WorldInAJar(1, 1, 1)), + TEST("Test", getTestJar()); public String label; public WorldInAJar scene; @@ -163,4 +165,12 @@ public class BlockSnowglobe extends BlockContainer { this.scene = scene; } } + + private static WorldInAJar getTestJar() { + WorldInAJar world = new WorldInAJar(3, 3, 3); + for(int x = 0; x < 3; x++) for(int z = 0; z < 3; z++) world.setBlock(x, 0, z, Blocks.brick_block, 0); + world.setBlock(1, 1, 1, Blocks.gold_block, 0); + world.setBlock(1, 2, 1, Blocks.gold_block, 0); + return world; + } } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index b8f329445..3c32ed8e0 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -46,6 +46,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; +import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.entity.cart.*; import com.hbm.entity.effect.*; import com.hbm.entity.grenade.*; @@ -159,6 +160,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDemonLamp.class, new RenderDemonLamp()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLoot.class, new RenderLoot()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBobble.class, new RenderBobble()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySnowglobe.class, new RenderSnowglobe()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEmitter.class, new RenderEmitter()); //bombs ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeGadget.class, new RenderNukeGadget()); diff --git a/src/main/java/com/hbm/render/tileentity/RenderSnowglobe.java b/src/main/java/com/hbm/render/tileentity/RenderSnowglobe.java new file mode 100644 index 000000000..e1aee6fcc --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderSnowglobe.java @@ -0,0 +1,85 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; +import com.hbm.lib.RefStrings; +import com.hbm.wiaj.WorldInAJar; + +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderSnowglobe extends TileEntitySpecialRenderer { + + public static final IModelCustom snowglobe = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/trinkets/snowglobe.obj")); + public static final ResourceLocation socket = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe.png"); + public static RenderBlocks renderer = new RenderBlocks(); + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + + GL11.glRotated(22.5D * tile.getBlockMetadata() + 90, 0, -1, 0); + + double scale = 0.0625D; + GL11.glScaled(scale, scale, scale); + + this.bindTexture(socket); + snowglobe.renderPart("Socket"); + + TileEntitySnowglobe te = (TileEntitySnowglobe) tile; + + if(te.type.scene != null) { + + WorldInAJar world = te.type.scene; + renderer.blockAccess = world; + renderer.enableAO = true; + + double size = Math.max(world.sizeX, world.sizeZ); + scale = 4D / size; + GL11.glTranslated(0, 1, 0); + GL11.glScaled(scale, scale, scale); + + GL11.glTranslated(world.sizeX * -0.5, 0, world.sizeZ * -0.5); + + RenderHelper.disableStandardItemLighting(); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_CULL_FACE); + + //i hope everyone involved in the creation of openGL has their nutsack explode + + bindTexture(TextureMap.locationBlocksTexture); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Tessellator.instance.startDrawingQuads(); + + for(int a = 0; a < world.sizeX; a++) { + for(int b = 0; b < world.sizeY; b++) { + for(int c = 0; c < world.sizeZ; c++) { + renderer.renderBlockByRenderType(world.getBlock(a, b, c), a, b, c); + } + } + } + + Tessellator.instance.draw(); + GL11.glShadeModel(GL11.GL_FLAT); + } + + GL11.glPopMatrix(); + RenderHelper.enableStandardItemLighting(); + } +} diff --git a/src/main/resources/assets/hbm/models/trinkets/snowglobe.obj b/src/main/resources/assets/hbm/models/trinkets/snowglobe.obj new file mode 100644 index 000000000..10fc715a6 --- /dev/null +++ b/src/main/resources/assets/hbm/models/trinkets/snowglobe.obj @@ -0,0 +1,581 @@ +# Blender v2.79 (sub 0) OBJ File: 'snowglobe.blend' +# www.blender.org +o Glass +v 0.000000 1.000000 -3.500000 +v -1.339392 1.000000 -3.233578 +v -2.474874 1.000000 -2.474874 +v -3.233578 1.000000 -1.339392 +v -3.500000 1.000000 0.000000 +v -3.233578 1.000000 1.339393 +v -2.474874 1.000000 2.474874 +v -1.339392 1.000000 3.233578 +v -0.000000 1.000000 3.500000 +v 1.339391 1.000000 3.233579 +v 2.474873 1.000000 2.474874 +v 3.233578 1.000000 1.339393 +v 3.500000 1.000000 0.000000 +v 3.233578 1.000000 -1.339393 +v 2.474873 1.000000 -2.474874 +v 1.339391 1.000000 -3.233579 +v 0.000001 5.000000 -1.205920 +v 0.000001 4.469670 -2.511333 +v -0.461486 5.000000 -1.114124 +v -0.961046 4.469670 -2.320169 +v -0.852714 5.000000 -0.852715 +v -1.775780 4.469670 -1.775781 +v -1.114124 5.000000 -0.461486 +v -2.320169 4.469670 -0.961045 +v -1.205920 5.000000 0.000000 +v -2.511333 4.469670 0.000000 +v -1.114124 5.000000 0.461486 +v -2.320169 4.469669 0.961046 +v -0.852714 5.000000 0.852715 +v -1.775780 4.469670 1.775781 +v -0.461485 5.000000 1.114124 +v -0.961046 4.469670 2.320169 +v -0.000000 5.000000 1.205920 +v -0.000000 4.469670 2.511333 +v 0.461486 5.000000 1.114124 +v 0.961045 4.469670 2.320169 +v 0.852714 5.000000 0.852715 +v 1.775780 4.469669 1.775782 +v 1.114125 5.000000 0.461486 +v 2.320169 4.469670 0.961046 +v 1.205920 5.000000 0.000000 +v 2.511333 4.469670 0.000000 +v 1.114125 5.000000 -0.461486 +v 2.320169 4.469670 -0.961046 +v 0.852714 5.000000 -0.852715 +v 1.775780 4.469670 -1.775782 +v 0.461484 5.000000 -1.114125 +v 0.961044 4.469669 -2.320170 +v 0.000000 4.030330 -2.959280 +v 0.000000 2.750000 -3.500000 +v -1.339392 2.750000 -3.233578 +v -1.132467 4.030330 -2.734018 +v -2.474874 2.750000 -2.474874 +v -2.092527 4.030330 -2.092527 +v -3.233578 2.750000 -1.339392 +v -2.734018 4.030330 -1.132467 +v -3.500000 2.750000 0.000000 +v -2.959280 4.030330 0.000000 +v -3.233578 2.750000 1.339393 +v -2.734018 4.030330 1.132467 +v -2.474874 2.750000 2.474874 +v -2.092527 4.030330 2.092527 +v -1.339392 2.750000 3.233578 +v -1.132468 4.030330 2.734018 +v -0.000000 2.750000 3.500000 +v -0.000000 4.030330 2.959280 +v 1.339391 2.750000 3.233579 +v 1.132467 4.030330 2.734018 +v 2.474873 2.750000 2.474874 +v 2.092527 4.030330 2.092527 +v 3.233578 2.750000 1.339393 +v 2.734018 4.030330 1.132468 +v 3.500000 2.750000 0.000000 +v 2.959280 4.030330 0.000000 +v 3.233578 2.750000 -1.339393 +v 2.734018 4.030330 -1.132468 +v 2.474873 2.750000 -2.474874 +v 2.092526 4.030330 -2.092527 +v 1.339391 2.750000 -3.233579 +v 1.132466 4.030330 -2.734019 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vn 0.5221 0.8250 -0.2163 +vn 0.5899 0.5513 -0.5899 +vn 0.3996 0.8250 -0.3996 +vn -0.3996 0.8250 0.3996 +vn -0.3193 0.5513 0.7707 +vn -0.2163 0.8250 0.5221 +vn 0.3193 0.5513 -0.7707 +vn 0.2163 0.8250 -0.5221 +vn 0.0000 0.5513 0.8343 +vn 0.0000 0.8250 0.5651 +vn 0.3193 0.5513 0.7707 +vn 0.2163 0.8250 0.5221 +vn 0.3996 0.8250 0.3996 +vn 0.5899 0.5513 0.5899 +vn -0.3996 0.8250 -0.3996 +vn -0.7707 0.5513 -0.3193 +vn -0.5221 0.8250 -0.2163 +vn 0.0000 0.5513 -0.8343 +vn 0.0000 0.8250 -0.5651 +vn 0.7707 0.5513 0.3193 +vn 0.5221 0.8250 0.2163 +vn -0.8343 0.5513 0.0000 +vn -0.5651 0.8250 0.0000 +vn 0.8343 0.5513 0.0000 +vn 0.5651 0.8250 0.0000 +vn -0.7707 0.5513 0.3193 +vn -0.5221 0.8250 0.2163 +vn 0.7707 0.5513 -0.3193 +vn -0.5899 0.5513 0.5899 +vn -0.3827 0.0000 -0.9239 +vn 0.0000 0.1938 -0.9810 +vn 0.0000 0.0000 -1.0000 +vn -0.3193 0.5513 -0.7707 +vn -0.5899 0.5513 -0.5899 +vn -0.9239 0.0000 -0.3827 +vn -0.6937 0.1938 -0.6937 +vn -0.7071 0.0000 -0.7071 +vn -1.0000 0.0000 0.0000 +vn -0.9063 0.1938 -0.3754 +vn -0.9239 0.0000 0.3827 +vn -0.9810 0.1938 0.0000 +vn -0.7071 0.0000 0.7071 +vn -0.9063 0.1938 0.3754 +vn -0.3827 0.0000 0.9239 +vn -0.6937 0.1938 0.6937 +vn 0.0000 0.0000 1.0000 +vn -0.3754 0.1938 0.9063 +vn 0.3827 0.0000 0.9239 +vn 0.0000 0.1938 0.9810 +vn 0.7071 0.0000 0.7071 +vn 0.3754 0.1938 0.9063 +vn 0.9239 0.0000 0.3827 +vn 0.6937 0.1938 0.6937 +vn 1.0000 0.0000 0.0000 +vn 0.9063 0.1938 0.3754 +vn 0.9239 0.0000 -0.3827 +vn 0.9810 0.1938 0.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.9063 0.1938 -0.3754 +vn 0.3827 0.0000 -0.9239 +vn 0.6937 0.1938 -0.6937 +vn -0.3754 0.1938 -0.9063 +vn 0.3754 0.1938 -0.9063 +vn 0.0000 0.9767 -0.2146 +vn -0.2163 0.8250 -0.5221 +vn -0.0821 0.9767 -0.1982 +vn -0.1517 0.9767 -0.1517 +vn -0.1982 0.9767 -0.0821 +vn -0.2146 0.9767 0.0000 +vn -0.1982 0.9767 0.0821 +vn -0.1517 0.9767 0.1517 +vn -0.0821 0.9767 0.1982 +vn 0.0000 0.9767 0.2146 +vn 0.0821 0.9767 0.1982 +vn 0.1517 0.9767 0.1517 +vn 0.1982 0.9767 0.0821 +vn 0.2146 0.9767 0.0000 +vn 0.1982 0.9767 -0.0821 +vn 0.1517 0.9767 -0.1517 +vn 0.0821 0.9767 -0.1982 +s 1 +f 44/1/1 78/2/2 46/3/3 +f 30/4/4 64/5/5 32/6/6 +f 46/3/3 80/7/7 48/8/8 +f 32/6/6 66/9/9 34/10/10 +f 34/10/10 68/11/11 36/12/12 +f 38/13/13 68/11/11 70/14/14 +f 22/15/15 56/16/16 24/17/17 +f 48/8/8 49/18/18 18/19/19 +f 38/13/13 72/20/20 40/21/21 +f 24/17/17 58/22/22 26/23/23 +f 40/21/21 74/24/24 42/25/25 +f 26/23/23 60/26/26 28/27/27 +f 44/1/1 74/24/24 76/28/28 +f 28/27/27 62/29/29 30/4/4 +f 2/30/30 50/31/31 1/32/32 +f 22/15/15 52/33/33 54/34/34 +f 4/35/35 53/36/36 3/37/37 +f 5/38/38 55/39/39 4/35/35 +f 6/40/40 57/41/41 5/38/38 +f 7/42/42 59/43/43 6/40/40 +f 8/44/44 61/45/45 7/42/42 +f 9/46/46 63/47/47 8/44/44 +f 10/48/48 65/49/49 9/46/46 +f 11/50/50 67/51/51 10/48/48 +f 12/52/52 69/53/53 11/50/50 +f 13/54/54 71/55/55 12/52/52 +f 14/56/56 73/57/57 13/54/54 +f 15/58/58 75/59/59 14/56/56 +f 16/60/60 77/61/61 15/58/58 +f 3/37/37 51/62/62 2/30/30 +f 1/32/32 79/63/63 16/60/60 +f 17/64/64 20/65/65 19/66/66 +f 21/67/67 20/65/65 22/15/15 +f 23/68/68 22/15/15 24/17/17 +f 25/69/69 24/17/17 26/23/23 +f 27/70/70 26/23/23 28/27/27 +f 27/70/70 30/4/4 29/71/71 +f 29/71/71 32/6/6 31/72/72 +f 33/73/73 32/6/6 34/10/10 +f 33/73/73 36/12/12 35/74/74 +f 37/75/75 36/12/12 38/13/13 +f 37/75/75 40/21/21 39/76/76 +f 39/76/76 42/25/25 41/77/77 +f 43/78/78 42/25/25 44/1/1 +f 45/79/79 44/1/1 46/3/3 +f 45/79/79 48/8/8 47/80/80 +f 17/64/64 48/8/8 18/19/19 +f 25/69/69 33/73/73 41/77/77 +f 51/62/62 49/18/18 50/31/31 +f 53/36/36 52/33/33 51/62/62 +f 53/36/36 56/16/16 54/34/34 +f 55/39/39 58/22/22 56/16/16 +f 57/41/41 60/26/26 58/22/22 +f 59/43/43 62/29/29 60/26/26 +f 63/47/47 62/29/29 61/45/45 +f 63/47/47 66/9/9 64/5/5 +f 67/51/51 66/9/9 65/49/49 +f 67/51/51 70/14/14 68/11/11 +f 71/55/55 70/14/14 69/53/53 +f 73/57/57 72/20/20 71/55/55 +f 75/59/59 74/24/24 73/57/57 +f 77/61/61 76/28/28 75/59/59 +f 79/63/63 78/2/2 77/61/61 +f 50/31/31 80/7/7 79/63/63 +f 18/19/19 52/33/33 20/65/65 +f 44/1/1 76/28/28 78/2/2 +f 30/4/4 62/29/29 64/5/5 +f 46/3/3 78/2/2 80/7/7 +f 32/6/6 64/5/5 66/9/9 +f 34/10/10 66/9/9 68/11/11 +f 38/13/13 36/12/12 68/11/11 +f 22/15/15 54/34/34 56/16/16 +f 48/8/8 80/7/7 49/18/18 +f 38/13/13 70/14/14 72/20/20 +f 24/17/17 56/16/16 58/22/22 +f 40/21/21 72/20/20 74/24/24 +f 26/23/23 58/22/22 60/26/26 +f 44/1/1 42/25/25 74/24/24 +f 28/27/27 60/26/26 62/29/29 +f 2/30/30 51/62/62 50/31/31 +f 22/15/15 20/65/65 52/33/33 +f 4/35/35 55/39/39 53/36/36 +f 5/38/38 57/41/41 55/39/39 +f 6/40/40 59/43/43 57/41/41 +f 7/42/42 61/45/45 59/43/43 +f 8/44/44 63/47/47 61/45/45 +f 9/46/46 65/49/49 63/47/47 +f 10/48/48 67/51/51 65/49/49 +f 11/50/50 69/53/53 67/51/51 +f 12/52/52 71/55/55 69/53/53 +f 13/54/54 73/57/57 71/55/55 +f 14/56/56 75/59/59 73/57/57 +f 15/58/58 77/61/61 75/59/59 +f 16/60/60 79/63/63 77/61/61 +f 3/37/37 53/36/36 51/62/62 +f 1/32/32 50/31/31 79/63/63 +f 17/64/64 18/19/19 20/65/65 +f 21/67/67 19/66/66 20/65/65 +f 23/68/68 21/67/67 22/15/15 +f 25/69/69 23/68/68 24/17/17 +f 27/70/70 25/69/69 26/23/23 +f 27/70/70 28/27/27 30/4/4 +f 29/71/71 30/4/4 32/6/6 +f 33/73/73 31/72/72 32/6/6 +f 33/73/73 34/10/10 36/12/12 +f 37/75/75 35/74/74 36/12/12 +f 37/75/75 38/13/13 40/21/21 +f 39/76/76 40/21/21 42/25/25 +f 43/78/78 41/77/77 42/25/25 +f 45/79/79 43/78/78 44/1/1 +f 45/79/79 46/3/3 48/8/8 +f 17/64/64 47/80/80 48/8/8 +f 17/64/64 19/66/66 25/69/69 +f 19/66/66 21/67/67 25/69/69 +f 21/67/67 23/68/68 25/69/69 +f 25/69/69 27/70/70 29/71/71 +f 29/71/71 31/72/72 25/69/69 +f 31/72/72 33/73/73 25/69/69 +f 33/73/73 35/74/74 41/77/77 +f 35/74/74 37/75/75 41/77/77 +f 37/75/75 39/76/76 41/77/77 +f 41/77/77 43/78/78 45/79/79 +f 45/79/79 47/80/80 41/77/77 +f 47/80/80 17/64/64 41/77/77 +f 17/64/64 25/69/69 41/77/77 +f 51/62/62 52/33/33 49/18/18 +f 53/36/36 54/34/34 52/33/33 +f 53/36/36 55/39/39 56/16/16 +f 55/39/39 57/41/41 58/22/22 +f 57/41/41 59/43/43 60/26/26 +f 59/43/43 61/45/45 62/29/29 +f 63/47/47 64/5/5 62/29/29 +f 63/47/47 65/49/49 66/9/9 +f 67/51/51 68/11/11 66/9/9 +f 67/51/51 69/53/53 70/14/14 +f 71/55/55 72/20/20 70/14/14 +f 73/57/57 74/24/24 72/20/20 +f 75/59/59 76/28/28 74/24/24 +f 77/61/61 78/2/2 76/28/28 +f 79/63/63 80/7/7 78/2/2 +f 50/31/31 49/18/18 80/7/7 +f 18/19/19 49/18/18 52/33/33 +o Socket +v 0.000000 0.000000 -4.000000 +v 0.000000 1.000000 -4.000000 +v 1.530734 0.000000 -3.695518 +v 1.530734 1.000000 -3.695518 +v 2.828427 0.000000 -2.828427 +v 2.828427 1.000000 -2.828427 +v 3.695518 0.000000 -1.530734 +v 3.695518 1.000000 -1.530734 +v 4.000000 0.000000 0.000000 +v 4.000000 1.000000 0.000000 +v 3.695518 0.000000 1.530734 +v 3.695518 1.000000 1.530734 +v 2.828427 0.000000 2.828427 +v 2.828427 1.000000 2.828427 +v 1.530734 0.000000 3.695518 +v 1.530734 1.000000 3.695518 +v 0.000001 0.000000 4.000000 +v 0.000001 1.000000 4.000000 +v -1.530733 0.000000 3.695518 +v -1.530733 1.000000 3.695518 +v -2.828426 0.000000 2.828428 +v -2.828426 1.000000 2.828428 +v -3.695518 0.000000 1.530734 +v -3.695518 1.000000 1.530734 +v -4.000000 0.000000 -0.000000 +v -4.000000 1.000000 -0.000000 +v -3.695518 0.000000 -1.530734 +v -3.695518 1.000000 -1.530734 +v -2.828426 0.000000 -2.828428 +v -2.828426 1.000000 -2.828428 +v -1.530732 0.000000 -3.695519 +v -1.530732 1.000000 -3.695519 +vt 0.426601 0.598494 +vt 0.426601 0.930919 +vt 0.073399 0.930919 +vt 0.345575 0.452461 +vt 0.019260 0.325247 +vt 0.154425 0.018127 +vt 0.480740 0.674753 +vt 0.499751 0.764706 +vt 0.480740 0.854660 +vt 0.345576 0.981873 +vt 0.250000 0.999766 +vt 0.154425 0.981873 +vt 0.019260 0.854659 +vt 0.000249 0.764706 +vt 0.019260 0.674752 +vt 0.073399 0.598493 +vt 0.154425 0.547539 +vt 0.250000 0.529646 +vt 0.345576 0.547539 +vt 0.480740 0.145341 +vt 0.499751 0.235294 +vt 0.480740 0.325248 +vt 0.426601 0.401507 +vt 0.250000 0.470354 +vt 0.154424 0.452461 +vt 0.073399 0.401506 +vt 0.000249 0.235294 +vt 0.019260 0.145341 +vt 0.073399 0.069081 +vt 0.250000 0.000234 +vt 0.345576 0.018127 +vt 0.426601 0.069082 +vt 0.750000 0.529412 +vt 0.687500 0.470588 +vt 0.750000 0.470588 +vt 0.687500 0.529412 +vt 0.625000 0.470588 +vt 0.625000 0.529412 +vt 0.562500 0.470588 +vt 0.562500 0.529412 +vt 0.500000 0.470588 +vt 0.500000 0.529412 +vt 0.437500 0.470588 +vt 0.437500 0.529412 +vt 0.375000 0.470588 +vt 0.375000 0.529412 +vt 0.312500 0.470588 +vt 0.312500 0.529412 +vt 0.250000 0.470588 +vt 0.250000 0.529412 +vt 0.187500 0.470588 +vt 0.187500 0.529412 +vt 0.125000 0.470588 +vt 0.125000 0.529412 +vt 0.062500 0.470588 +vt 0.062500 0.529412 +vt 0.000000 0.470588 +vt 1.000000 0.529412 +vt 0.937500 0.470588 +vt 1.000000 0.470588 +vt 0.937500 0.529412 +vt 0.875000 0.470588 +vt 0.875000 0.529412 +vt 0.812500 0.470588 +vt 0.812500 0.529412 +vt 0.000000 0.529412 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.6657 -0.7462 +vn 0.2855 -0.6657 -0.6894 +vn 0.0000 -0.6657 -0.7462 +vn 0.2855 0.6657 -0.6894 +vn 0.5276 -0.6657 -0.5276 +vn 0.5276 0.6657 -0.5276 +vn 0.6894 -0.6657 -0.2855 +vn 0.6894 0.6657 -0.2855 +vn 0.7462 -0.6657 0.0000 +vn 0.7462 0.6657 0.0000 +vn 0.6894 -0.6657 0.2855 +vn 0.6894 0.6657 0.2855 +vn 0.5276 -0.6657 0.5276 +vn 0.5276 0.6657 0.5276 +vn 0.2855 -0.6657 0.6894 +vn 0.2855 0.6657 0.6894 +vn 0.0000 -0.6657 0.7462 +vn 0.0000 0.6657 0.7462 +vn -0.2855 -0.6657 0.6894 +vn -0.2855 0.6657 0.6894 +vn -0.5276 -0.6657 0.5276 +vn -0.5276 0.6657 0.5276 +vn -0.6894 -0.6657 0.2855 +vn -0.6894 0.6657 0.2855 +vn -0.7462 -0.6657 0.0000 +vn -0.7462 0.6657 0.0000 +vn -0.6894 -0.6657 -0.2855 +vn -0.6894 0.6657 -0.2855 +vn -0.5276 -0.6657 -0.5276 +vn -0.5276 0.6657 -0.5276 +vn -0.2855 -0.6657 -0.6894 +vn -0.2855 0.6657 -0.6894 +s off +f 86/81/81 110/82/81 102/83/81 +f 87/84/82 95/85/82 103/86/82 +f 86/81/81 84/87/81 82/88/81 +f 82/88/81 112/89/81 110/82/81 +f 110/82/81 108/90/81 106/91/81 +f 106/91/81 104/92/81 102/83/81 +f 102/83/81 100/93/81 98/94/81 +f 98/94/81 96/95/81 94/96/81 +f 94/96/81 92/97/81 90/98/81 +f 90/98/81 88/99/81 94/96/81 +f 88/99/81 86/81/81 94/96/81 +f 86/81/81 82/88/81 110/82/81 +f 110/82/81 106/91/81 102/83/81 +f 102/83/81 98/94/81 86/81/81 +f 98/94/81 94/96/81 86/81/81 +f 111/100/82 81/101/82 83/102/82 +f 83/102/82 85/103/82 111/100/82 +f 85/103/82 87/84/82 111/100/82 +f 87/84/82 89/104/82 91/105/82 +f 91/105/82 93/106/82 87/84/82 +f 93/106/82 95/85/82 87/84/82 +f 95/85/82 97/107/82 103/86/82 +f 97/107/82 99/108/82 103/86/82 +f 99/108/82 101/109/82 103/86/82 +f 103/86/82 105/110/82 107/111/82 +f 107/111/82 109/112/82 111/100/82 +f 103/86/82 107/111/82 111/100/82 +f 111/100/82 87/84/82 103/86/82 +s 1 +f 82/113/83 83/114/84 81/115/85 +f 84/116/86 85/117/87 83/114/84 +f 86/118/88 87/119/89 85/117/87 +f 88/120/90 89/121/91 87/119/89 +f 90/122/92 91/123/93 89/121/91 +f 92/124/94 93/125/95 91/123/93 +f 94/126/96 95/127/97 93/125/95 +f 96/128/98 97/129/99 95/127/97 +f 98/130/100 99/131/101 97/129/99 +f 100/132/102 101/133/103 99/131/101 +f 102/134/104 103/135/105 101/133/103 +f 104/136/106 105/137/107 103/135/105 +f 106/138/108 107/139/109 105/140/107 +f 108/141/110 109/142/111 107/139/109 +f 110/143/112 111/144/113 109/142/111 +f 112/145/114 81/115/85 111/144/113 +f 82/113/83 84/116/86 83/114/84 +f 84/116/86 86/118/88 85/117/87 +f 86/118/88 88/120/90 87/119/89 +f 88/120/90 90/122/92 89/121/91 +f 90/122/92 92/124/94 91/123/93 +f 92/124/94 94/126/96 93/125/95 +f 94/126/96 96/128/98 95/127/97 +f 96/128/98 98/130/100 97/129/99 +f 98/130/100 100/132/102 99/131/101 +f 100/132/102 102/134/104 101/133/103 +f 102/134/104 104/136/106 103/135/105 +f 104/136/106 106/146/108 105/137/107 +f 106/138/108 108/141/110 107/139/109 +f 108/141/110 110/143/112 109/142/111 +f 110/143/112 112/145/114 111/144/113 +f 112/145/114 82/113/83 81/115/85 diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe.png b/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe.png new file mode 100644 index 0000000000000000000000000000000000000000..6be391ef7007ad1be8cf5e07c2af2b82cc1161d9 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!3HF+tk*dLq*#ibJVQ8upoSx*1IUl@ba4!^ z=zSZsQ}BQRhj0vAf{59duAW0|OH`*z2wz|J(1Bk>DU??vH7(@f9CpFRj*ve)9mW0` zKAgEA`%t#m;RAQ$4_sgOM}d1+62p$Nb#_|EIvA3+U*^2TDbyg%JlQXp<