the bear and the bull and the bear and the bull and the bear and the bul

This commit is contained in:
Bob 2022-02-28 21:10:40 +01:00
parent d4af867832
commit 7a34d437f0
11 changed files with 145 additions and 14 deletions

View File

@ -274,6 +274,21 @@ public class BobmazonOfferFactory {
new ItemStack(ModItems.pipe_lead).setStackDisplayName("Get Nutted, Dumbass"),
new ItemStack(ModItems.gem_alexandrite)
).setStackDisplayName("The Nut Bucket"), Requirement.HIDDEN, 64));
special.add(new Offer(ItemKitNBT.create(
new ItemStack(ModItems.rpa_helmet),
new ItemStack(ModItems.rpa_plate),
new ItemStack(ModItems.rpa_legs),
new ItemStack(ModItems.rpa_boots),
new ItemStack(ModItems.gun_lacunae),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64)
).setStackDisplayName("Frenchman's Reward"), Requirement.HIDDEN, 32));
}
public static List<Offer> getOffers(ItemStack stack) {

View File

@ -7,8 +7,10 @@ import org.apache.logging.log4j.Level;
import com.hbm.config.GeneralConfig;
import com.hbm.interfaces.IBomb;
import com.hbm.interfaces.IBomb.BombReturnCode;
import com.hbm.interfaces.IHoldableWeapon;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
import com.hbm.util.ChatBuilder;
import net.minecraft.entity.player.EntityPlayer;
@ -19,7 +21,7 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class ItemLaserDetonator extends Item {
public class ItemLaserDetonator extends Item implements IHoldableWeapon {
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
@ -70,4 +72,9 @@ public class ItemLaserDetonator extends Item {
return stack;
}
@Override
public Crosshair getCrosshair() {
return Crosshair.L_ARROWS;
}
}

View File

@ -60,7 +60,6 @@ public class Library {
public static String Hoboy03new = "d7f29d9c-5103-4f6f-88e1-2632ff95973f";
public static String Dragon59MC = "dc23a304-0f84-4e2d-b47d-84c8d3bfbcdb";
public static String Steelcourage = "ac49720b-4a9a-4459-a26f-bee92160287a";
public static String GOD___TM = "57146e3f-16b5-4e9f-b0b8-139bec2ca2cb";
public static String ZippySqrl = "03c20435-a229-489a-a1a1-671b803f7017";
public static String Schrabby = "3a4a1944-5154-4e67-b80a-b6561e8630b7";
public static String SweatySwiggs = "5544aa30-b305-4362-b2c1-67349bb499d5";
@ -74,6 +73,7 @@ public class Library {
public static String Tankish = "609268ad-5b34-49c2-abba-a9d83229af03";
public static String SolsticeUnlimitd = "f5574fd2-ec28-4927-9d11-3c0c731771f4";
public static String FrizzleFrazzle = "fc4cc2ee-12e8-4097-b26a-1c6cb1b96531";
public static String the_NCR = "28ae585f-4431-4491-9ce8-3def6126e3c6";
public static Set<String> contributors = Sets.newHashSet(new String[] {
"06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf

View File

@ -415,6 +415,7 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter_digamma, new ItemRenderWeaponBolter());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15());
MinecraftForgeClient.registerItemRenderer(ModItems.detonator_laser, new ItemRenderDetonatorLaser());
//multitool
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool());
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool());

View File

@ -1004,9 +1004,10 @@ public class ModEventHandler {
if(player.getCurrentArmor(2) == null && !player.onGround) {
boolean isBob = player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft");
boolean isSol = player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd");
boolean isOther = player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd") ||
player.getUniqueID().toString().equals(Library.the_NCR) || player.getDisplayName().equals("the_NCR");
if(isBob || isSol) {
if(isBob || isOther) {
ArmorUtil.resetFlightTime(player);
@ -1029,7 +1030,7 @@ public class ModEventHandler {
else
player.motionY = cap + 0.15D;
if(isSol) {
if(isOther) {
if(player.getFoodStats().getSaturationLevel() > 0F)
player.addExhaustion(4F); //burn up saturation so that super-saturating foods have no effect
else
@ -1045,7 +1046,7 @@ public class ModEventHandler {
else if(player.motionY < 0)
player.motionY = 0;
if(isSol && !player.onGround) {
if(isOther && !player.onGround) {
if(player.getFoodStats().getSaturationLevel() > 0F)
player.addExhaustion(4F);
else

View File

@ -335,7 +335,9 @@ public class ModEventHandlerClient {
if(player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd"))
RenderAccessoryUtility.renderSol(event);
if(player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft"))
RenderAccessoryUtility.renderWings(event);
RenderAccessoryUtility.renderWings(event, 2);
if(player.getUniqueID().toString().equals(Library.the_NCR) || player.getDisplayName().equals("the_NCR"))
RenderAccessoryUtility.renderWings(event, 3);
}
}

View File

@ -624,6 +624,7 @@ public class ResourceManager {
public static final IModelCustom mg42 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mg42.obj"));
public static final IModelCustom rem700 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700.obj"));
public static final IModelCustom cursed_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cursed.obj"));
public static final IModelCustom detonator_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/detonator_laser.obj"));
public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj"));
@ -692,6 +693,7 @@ public class ResourceManager {
public static final ResourceLocation sky_stinger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sky_stinger.png");
public static final ResourceLocation mg42_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/mg42.png");
public static final ResourceLocation rem700_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700.png");
public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png");
public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png");
@ -756,6 +758,7 @@ public class ResourceManager {
public static final ResourceLocation wings_murk = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_murk.png");
public static final ResourceLocation wings_bob = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_bob.png");
public static final ResourceLocation wings_black = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_black.png");
public static final ResourceLocation wings_solstice = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_solstice.png");
public static final ResourceLocation hat = new ResourceLocation(RefStrings.MODID, "textures/armor/hat.png");

View File

@ -0,0 +1,100 @@
package com.hbm.render.item;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
public class ItemRenderDetonatorLaser implements IItemRenderer {
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED:
case EQUIPPED_FIRST_PERSON:
case ENTITY:
case INVENTORY:
return true;
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING);
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.detonator_laser_tex);
switch(type) {
case EQUIPPED_FIRST_PERSON:
double s0 = 0.25D;
GL11.glScaled(s0, s0, s0);
GL11.glRotatef(80F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-20F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(1.0F, 0.5F, 3.0F);
break;
case EQUIPPED:
double scale = 0.125D;
GL11.glScaled(-scale, -scale, -scale);
GL11.glRotatef(85F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(145F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.5F, -1.0F, 6.5F);
break;
case ENTITY:
double s1 = 0.25D;
GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
GL11.glScaled(s1, s1, s1);
break;
case INVENTORY:
GL11.glEnable(GL11.GL_LIGHTING);
double s = 3.5D;
GL11.glScaled(s, s, -s);
GL11.glTranslatef(1.5F, 2.75F, 0.0F);
GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F);
break;
default: break;
}
ResourceManager.detonator_laser.renderPart("Main");
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glColor3f(1F, 0F, 0F);
ResourceManager.detonator_laser.renderPart("Lights");
GL11.glColor3f(1F, 1F, 1F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
}

View File

@ -160,9 +160,11 @@ public class ModelArmorWings extends ModelArmorBase {
}
protected ResourceLocation getTexture() {
if(this.type == 2)
return ResourceManager.wings_bob;
if(this.type == 3)
return ResourceManager.wings_black;
return ResourceManager.wings_murk;
}

View File

@ -143,17 +143,17 @@ public class RenderAccessoryUtility {
solModel.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F);
}
private static ModelBiped wingModel;
public static void renderWings(RenderPlayerEvent.SetArmorModel event) {
private static ModelBiped[] wingModels = new ModelBiped[10];
public static void renderWings(RenderPlayerEvent.SetArmorModel event, int mode) {
if(wingModel == null)
wingModel = new ModelArmorWings(2);
if(wingModels[mode] == null)
wingModels[mode] = new ModelArmorWings(mode);
RenderPlayer renderer = event.renderer;
ModelBiped model = renderer.modelArmor;
EntityPlayer player = event.entityPlayer;
wingModel.isSneak = model.isSneak;
wingModels[mode].isSneak = model.isSneak;
float interp = event.partialRenderTick;
float yawHead = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * interp;
@ -162,6 +162,6 @@ public class RenderAccessoryUtility {
float yawWrapped = MathHelper.wrapAngleTo180_float(yawHead - yawOffset);
float pitch = player.rotationPitch;
wingModel.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F);
wingModels[mode].render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB