diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 176b270f7..3aedb9c06 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -341,6 +341,7 @@ public class ModBlocks { public static Block brick_fire; public static Block lightstone; + public static Block brick_forgotten; public static Block concrete_slab; public static Block concrete_double_slab; @@ -1558,6 +1559,7 @@ public class ModBlocks { reinforced_ducrete = new BlockGeneric(Material.rock).setBlockName("reinforced_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_ducrete"); lightstone = new BlockLightstone(Material.rock, LightstoneType.class, true, true).setBlockName("lightstone").setCreativeTab(MainRegistry.blockTab).setHardness(2F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":lightstone"); + brick_forgotten = new BlockPillar(Material.rock, RefStrings.MODID + ":brick_forgotten_top").setBlockName("brick_forgotten").setBlockUnbreakable().setResistance(666_666F).setBlockTextureName(RefStrings.MODID + ":brick_forgotten"); concrete_slab = new BlockMultiSlab(null, Material.rock, concrete_smooth, concrete, concrete_asbestos, ducrete_smooth, ducrete, asphalt).setBlockName("concrete_slab").setCreativeTab(MainRegistry.blockTab); concrete_double_slab = new BlockMultiSlab(concrete_slab, Material.rock, concrete_smooth, concrete, concrete_asbestos, ducrete_smooth, ducrete, asphalt).setBlockName("concrete_double_slab").setCreativeTab(MainRegistry.blockTab); @@ -2741,6 +2743,8 @@ public class ModBlocks { register(lightstone_bricks_stairs); register(stones_slab, ItemModSlab.class); register(stones_double_slab, ItemModSlab.class); + + register(brick_forgotten); GameRegistry.registerBlock(concrete_slab, ItemModSlab.class, concrete_slab.getUnlocalizedName()); GameRegistry.registerBlock(concrete_double_slab, ItemModSlab.class, concrete_double_slab.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java index acca45ca7..29bf99834 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java @@ -101,6 +101,7 @@ public class GunFactoryClient { MinecraftForgeClient.registerItemRenderer(ModItems.gun_double_barrel, new ItemRenderDoubleBarrel(ResourceManager.double_barrel_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_double_barrel_sacred_dragon, new ItemRenderDoubleBarrel(ResourceManager.double_barrel_sacred_dragon_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_charge_thrower, new ItemRenderChargeThrower()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_drill, new ItemRenderDrill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_n_i_4_n_i, new ItemRenderNI4NI()); //PROJECTILES diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index fc422c215..6af5c6005 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -911,6 +911,7 @@ public class ResourceManager { public static final IModelCustom aberrator = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/aberrator.obj")).asVBO(); public static final IModelCustom mas36 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mas36.obj")).asVBO(); public static final IModelCustom charge_thrower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/charge_thrower.obj")).asVBO(); + public static final IModelCustom drill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/drill.obj")).asVBO(); public static final IModelCustom n_i_4_n_i = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/n_i_4_n_i.obj")).asVBO(); public static final HashMap spas_12_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/spas12.json")); @@ -1050,6 +1051,7 @@ public class ResourceManager { public static final ResourceLocation charge_thrower_hook_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/charge_thrower_hook.png"); public static final ResourceLocation charge_thrower_mortar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/charge_thrower_mortar.png"); public static final ResourceLocation charge_thrower_rocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/charge_thrower_rocket.png"); + public static final ResourceLocation drill_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/drill.png"); public static final ResourceLocation n_i_4_n_i_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/n_i_4_n_i.png"); public static final ResourceLocation n_i_4_n_i_greyscale_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/n_i_4_n_i_greyscale.png"); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDrill.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDrill.java new file mode 100644 index 000000000..dc77ef450 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDrill.java @@ -0,0 +1,101 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderDrill extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 0F : -0.5F; } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.25F * offset, -1.75F * offset, 1.75F * offset, + 0, -4.6825 / 8D, 0.75); + + GL11.glRotated(15, 0, 1, 0); + GL11.glRotated(-10, 1, 0, 0); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.drill_tex); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.drill.renderPart("Base"); + + GL11.glPushMatrix(); + GL11.glTranslated(1, 2.0625, -1.75); + GL11.glRotated(45, 1, 0, 0); + GL11.glRotated(-135, 0, 0, 1); + GL11.glRotated(-45, 1, 0, 0); + GL11.glTranslated(-1, -2.0625, 1.75); + ResourceManager.drill.renderPart("Gauge"); + GL11.glPopMatrix(); + + ResourceManager.drill.renderPart("Piston1"); + ResourceManager.drill.renderPart("Piston2"); + ResourceManager.drill.renderPart("Piston3"); + + GL11.glPushMatrix(); + GL11.glRotated(System.currentTimeMillis() / 3 % 360D, 0, 0, -1); + ResourceManager.drill.renderPart("DrillBack"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glRotated(System.currentTimeMillis() / 3 % 360D, 0, 0, 1); + ResourceManager.drill.renderPart("DrillFront"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(1, -2, 6); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 2, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.drill_tex); + ResourceManager.drill.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/brick_forgotten.png b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten.png index c302768fc..3b497c51a 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/brick_forgotten.png and b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_hole.png b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_hole.png new file mode 100644 index 000000000..dc73dfda5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_hole.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_hole.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_hole.png.mcmeta new file mode 100644 index 000000000..92dd223c8 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_hole.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 10 + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_lock.png b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_lock.png new file mode 100644 index 000000000..a11223302 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_lock.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_top.png b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_top.png new file mode 100644 index 000000000..7deaf53de Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/brick_forgotten_top.png differ