mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
return the slab, or suffer my curse
This commit is contained in:
parent
10f62b88e1
commit
6e44aeea8d
@ -7,6 +7,7 @@
|
|||||||
* All non black powder shotgun shells now have some amount of damage threshold negation in order to not immediately become useless when used against early power armor
|
* All non black powder shotgun shells now have some amount of damage threshold negation in order to not immediately become useless when used against early power armor
|
||||||
* Obviously shot will always fare worse against higher tier armor, in those cases either use flechettes, slugs, any of the high tier rounds or a different caliber entirely
|
* Obviously shot will always fare worse against higher tier armor, in those cases either use flechettes, slugs, any of the high tier rounds or a different caliber entirely
|
||||||
* Bombers and cargo planes now use interpolation, making their movement smoother and fixing potential desyncs due to TPS
|
* Bombers and cargo planes now use interpolation, making their movement smoother and fixing potential desyncs due to TPS
|
||||||
|
* Trenchmaster armor no longer displays benefits that no longer exist
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
* Fixed 9mm soft points being called ".9mm"
|
* Fixed 9mm soft points being called ".9mm"
|
||||||
@ -24,4 +25,5 @@
|
|||||||
* Fixed JHP's negative armor piercing value not being counted right, breaking the "armor is worth more" system
|
* Fixed JHP's negative armor piercing value not being counted right, breaking the "armor is worth more" system
|
||||||
* Fixed the second UZI dealing more damage than it should
|
* Fixed the second UZI dealing more damage than it should
|
||||||
* Potentially fixed an issue where artillery rockets would sometimes get stuck mid-air
|
* Potentially fixed an issue where artillery rockets would sometimes get stuck mid-air
|
||||||
* Fixed the artillery rocket turret's grace range not being 250 as advertised
|
* Fixed the artillery rocket turret's grace range not being 250 as advertised
|
||||||
|
* Fixed black powder shotshells using smokeless powder instead of smokeful powder
|
||||||
@ -1,6 +1,10 @@
|
|||||||
package com.hbm.blocks.generic;
|
package com.hbm.blocks.generic;
|
||||||
|
|
||||||
|
import com.hbm.inventory.recipes.PedestalRecipes;
|
||||||
|
import com.hbm.inventory.recipes.PedestalRecipes.PedestalRecipe;
|
||||||
import com.hbm.lib.RefStrings;
|
import com.hbm.lib.RefStrings;
|
||||||
|
import com.hbm.particle.helper.ExplosionSmallCreator;
|
||||||
|
import com.hbm.util.Compat;
|
||||||
|
|
||||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
@ -20,6 +24,7 @@ import net.minecraft.tileentity.TileEntity;
|
|||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.IBlockAccess;
|
import net.minecraft.world.IBlockAccess;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
public class BlockPedestal extends BlockContainer {
|
public class BlockPedestal extends BlockContainer {
|
||||||
|
|
||||||
@ -108,6 +113,73 @@ public class BlockPedestal extends BlockContainer {
|
|||||||
super.breakBlock(world, x, y, z, block, meta);
|
super.breakBlock(world, x, y, z, block, meta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNeighborBlockChange(World world, int x, int y, int z, Block b) {
|
||||||
|
if(!world.isRemote) {
|
||||||
|
if(world.isBlockIndirectlyGettingPowered(x, y, z)) {
|
||||||
|
|
||||||
|
TileEntityPedestal nw = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.NORTH.offsetX * 2 + ForgeDirection.WEST.offsetX * 2, y, z + ForgeDirection.NORTH.offsetZ * 2 + ForgeDirection.WEST.offsetZ * 2));
|
||||||
|
TileEntityPedestal n = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.NORTH.offsetX * 3, y, z + ForgeDirection.NORTH.offsetZ * 3));
|
||||||
|
TileEntityPedestal ne = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.NORTH.offsetX * 2 + ForgeDirection.EAST.offsetX * 2, y, z + ForgeDirection.NORTH.offsetZ * 2 + ForgeDirection.EAST.offsetZ * 2));
|
||||||
|
TileEntityPedestal w = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.WEST.offsetX * 3, y, z + ForgeDirection.WEST.offsetZ * 3));
|
||||||
|
TileEntityPedestal center = (TileEntityPedestal) world.getTileEntity(x, y, z);
|
||||||
|
TileEntityPedestal e = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.EAST.offsetX * 3, y, z + ForgeDirection.EAST.offsetZ * 3));
|
||||||
|
TileEntityPedestal sw = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.SOUTH.offsetX * 2 + ForgeDirection.WEST.offsetX * 2, y, z + ForgeDirection.SOUTH.offsetZ * 2 + ForgeDirection.WEST.offsetZ * 2));
|
||||||
|
TileEntityPedestal s = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.SOUTH.offsetX * 3, y, z + ForgeDirection.SOUTH.offsetZ * 3));
|
||||||
|
TileEntityPedestal se = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.SOUTH.offsetX * 2 + ForgeDirection.EAST.offsetX * 2, y, z + ForgeDirection.SOUTH.offsetZ * 2 + ForgeDirection.EAST.offsetZ * 2));
|
||||||
|
|
||||||
|
TileEntityPedestal[] tileArray = new TileEntityPedestal[] {nw, n, ne, w, center, e, sw, s, se};
|
||||||
|
|
||||||
|
outer: for(PedestalRecipe recipe : PedestalRecipes.recipes) {
|
||||||
|
|
||||||
|
if(recipe.extra == recipe.extra.FULL_MOON) {
|
||||||
|
if(world.getCelestialAngle(0) < 0.35 || world.getCelestialAngle(0) > 0.65) continue;
|
||||||
|
if(world.getMoonPhase() != 0) continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(recipe.extra == recipe.extra.NEW_MOON) {
|
||||||
|
if(world.getCelestialAngle(0) < 0.35 || world.getCelestialAngle(0) > 0.65) continue;
|
||||||
|
if(world.getMoonPhase() != 4) continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(recipe.extra == recipe.extra.SUN) {
|
||||||
|
if(world.getCelestialAngle(0) > 0.15 || world.getCelestialAngle(0) < 0.85) continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < 9; i++) {
|
||||||
|
ItemStack pedestal = tileArray[i] != null ? tileArray[i].item : null;
|
||||||
|
if(pedestal == null && recipe.input[i] != null) continue outer;
|
||||||
|
if(pedestal != null && recipe.input[i] == null) continue outer;
|
||||||
|
if(pedestal == null && recipe.input[i] == null) continue;
|
||||||
|
|
||||||
|
if(!recipe.input[i].matchesRecipe(pedestal, true) || recipe.input[i].stacksize != pedestal.stackSize) continue outer;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < 9; i++) {
|
||||||
|
if(i == 4) continue;
|
||||||
|
ItemStack pedestal = tileArray[i] != null ? tileArray[i].item : null;
|
||||||
|
if(pedestal == null && recipe.input[i] == null) continue;
|
||||||
|
tileArray[i].item = null;
|
||||||
|
tileArray[i].markDirty();
|
||||||
|
world.markBlockForUpdate(tileArray[i].xCoord, tileArray[i].yCoord, tileArray[i].zCoord);
|
||||||
|
}
|
||||||
|
|
||||||
|
center.item = recipe.output.copy();
|
||||||
|
center.markDirty();
|
||||||
|
world.markBlockForUpdate(x, y, z);
|
||||||
|
ExplosionSmallCreator.composeEffect(world, x + 0.5, y + 1.5, z + 0.5, 10, 2.5F, 1F);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TileEntityPedestal castOrNull(TileEntity tile) {
|
||||||
|
if(tile instanceof TileEntityPedestal) return (TileEntityPedestal) tile;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static class TileEntityPedestal extends TileEntity {
|
public static class TileEntityPedestal extends TileEntity {
|
||||||
|
|
||||||
public ItemStack item;
|
public ItemStack item;
|
||||||
|
|||||||
141
src/main/java/com/hbm/inventory/gui/GUIScreenClayTablet.java
Normal file
141
src/main/java/com/hbm/inventory/gui/GUIScreenClayTablet.java
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
package com.hbm.inventory.gui;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
import org.lwjgl.opengl.GL12;
|
||||||
|
|
||||||
|
import com.hbm.inventory.RecipesCommon.AStack;
|
||||||
|
import com.hbm.inventory.recipes.PedestalRecipes;
|
||||||
|
import com.hbm.inventory.recipes.PedestalRecipes.PedestalRecipe;
|
||||||
|
import com.hbm.items.ModItems;
|
||||||
|
import com.hbm.lib.RefStrings;
|
||||||
|
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.gui.FontRenderer;
|
||||||
|
import net.minecraft.client.gui.GuiScreen;
|
||||||
|
import net.minecraft.client.renderer.RenderHelper;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
public class GUIScreenClayTablet extends GuiScreen {
|
||||||
|
|
||||||
|
protected int xSize = 142;
|
||||||
|
protected int ySize = 84;
|
||||||
|
protected int guiLeft;
|
||||||
|
protected int guiTop;
|
||||||
|
|
||||||
|
protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/guide_pedestal.png");
|
||||||
|
|
||||||
|
public GUIScreenClayTablet() { }
|
||||||
|
|
||||||
|
public void initGui() {
|
||||||
|
super.initGui();
|
||||||
|
this.guiLeft = (this.width - this.xSize) / 2;
|
||||||
|
this.guiTop = (this.height - this.ySize) / 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||||
|
this.drawDefaultBackground();
|
||||||
|
this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY);
|
||||||
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
this.drawGuiContainerForegroundLayer(mouseX, mouseY);
|
||||||
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void drawGuiContainerForegroundLayer(int i, int j) { }
|
||||||
|
|
||||||
|
protected void drawGuiContainerBackgroundLayer(float f, int i, int j) {
|
||||||
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||||
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||||
|
|
||||||
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
|
|
||||||
|
if(player.getHeldItem() != null && player.getHeldItem().hasTagCompound() && player.getHeldItem().stackTagCompound.hasKey("tabletSeed") && !PedestalRecipes.recipes.isEmpty()) {
|
||||||
|
Random rand = new Random(player.getHeldItem().stackTagCompound.getLong("tabletSeed"));
|
||||||
|
PedestalRecipe recipe = PedestalRecipes.recipes.get(rand.nextInt(PedestalRecipes.recipes.size()));
|
||||||
|
|
||||||
|
if(recipe.extra == recipe.extra.FULL_MOON) drawTexturedModalRect(guiLeft + 120, guiTop + 62, 142, 32, 16, 16);
|
||||||
|
if(recipe.extra == recipe.extra.NEW_MOON) drawTexturedModalRect(guiLeft + 120, guiTop + 62, 142, 48, 16, 16);
|
||||||
|
if(recipe.extra == recipe.extra.SUN) drawTexturedModalRect(guiLeft + 120, guiTop + 62, 142, 64, 16, 16);
|
||||||
|
|
||||||
|
for(int l = 0; l < 3; l++) {
|
||||||
|
for(int r = 0; r < 3; r++) {
|
||||||
|
if(rand.nextBoolean()) {
|
||||||
|
drawTexturedModalRect(guiLeft + 7 + r * 27, guiTop + 7 + l * 27, 142, 16, 16, 16);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
AStack ingredient = recipe.input[r + l * 3];
|
||||||
|
|
||||||
|
if(ingredient == null) {
|
||||||
|
drawTexturedModalRect(guiLeft + 7 + r * 27, guiTop + 7 + l * 27, 142, 0, 16, 16);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ItemStack> inputs = ingredient.extractForNEI();
|
||||||
|
ItemStack input = inputs.size() <= 0 ? new ItemStack(ModItems.nothing) : inputs.get((int) (Math.abs(System.currentTimeMillis() / 1000) % inputs.size()));
|
||||||
|
|
||||||
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
RenderHelper.enableGUIStandardItemLighting();
|
||||||
|
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||||
|
|
||||||
|
FontRenderer font = null;
|
||||||
|
if(input != null) font = input.getItem().getFontRenderer(recipe.output);
|
||||||
|
if(font == null) font = fontRendererObj;
|
||||||
|
|
||||||
|
itemRender.zLevel = 300.0F;
|
||||||
|
itemRender.renderItemAndEffectIntoGUI(font, this.mc.getTextureManager(), input, guiLeft + 7 + r * 27, guiTop + 7 + l * 27);
|
||||||
|
itemRender.renderItemOverlayIntoGUI(font, this.mc.getTextureManager(), input, guiLeft + 7 + r * 27, guiTop + 7 + l * 27, input.stackSize > 1 ? (input.stackSize + "") : null);
|
||||||
|
itemRender.zLevel = 0.0F;
|
||||||
|
|
||||||
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
this.mc.getTextureManager().bindTexture(texture);
|
||||||
|
this.zLevel = 300.0F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
RenderHelper.enableGUIStandardItemLighting();
|
||||||
|
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||||
|
|
||||||
|
FontRenderer font = null;
|
||||||
|
if(recipe.output != null) font = recipe.output.getItem().getFontRenderer(recipe.output);
|
||||||
|
if(font == null) font = fontRendererObj;
|
||||||
|
|
||||||
|
itemRender.zLevel = 300.0F;
|
||||||
|
itemRender.renderItemAndEffectIntoGUI(font, this.mc.getTextureManager(), recipe.output, guiLeft + xSize / 2 - 8, guiTop - 20);
|
||||||
|
itemRender.renderItemOverlayIntoGUI(font, this.mc.getTextureManager(), recipe.output, guiLeft + xSize / 2 - 8, guiTop - 20, recipe.output.stackSize > 1 ? (recipe.output.stackSize + "") : null);
|
||||||
|
itemRender.zLevel = 0.0F;
|
||||||
|
|
||||||
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
|
||||||
|
this.mc.getTextureManager().bindTexture(texture);
|
||||||
|
this.zLevel = 300.0F;
|
||||||
|
|
||||||
|
GL11.glDisable(GL11.GL_DEPTH_TEST);
|
||||||
|
String label = recipe.output.getDisplayName();
|
||||||
|
font.drawString(label, guiLeft + (xSize - font.getStringWidth(label)) / 2, guiTop - 30, 0xffffff);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
for(int l = 0; l < 3; l++) {
|
||||||
|
for(int r = 0; r < 3; r++) {
|
||||||
|
drawTexturedModalRect(guiLeft + 7 + r * 27, guiTop + 7 + l * 27, 142, 16, 16, 16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void keyTyped(char c, int key) {
|
||||||
|
if(key == 1 || key == this.mc.gameSettings.keyBindInventory.getKeyCode()) {
|
||||||
|
this.mc.thePlayer.closeScreen();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public boolean doesGuiPauseGame() { return false; }
|
||||||
|
}
|
||||||
@ -197,15 +197,15 @@ public class AmmoPressRecipes extends SerializableRecipe {
|
|||||||
|
|
||||||
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP, 6),
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP, 6),
|
||||||
null, nugget.copy(6), null,
|
null, nugget.copy(6), null,
|
||||||
null, smokeless, null,
|
null, smokeful, null,
|
||||||
null, bpShell, null));
|
null, bpShell, null));
|
||||||
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP_MAGNUM, 6),
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP_MAGNUM, 6),
|
||||||
null, nugget.copy(8), null,
|
null, nugget.copy(8), null,
|
||||||
null, smokeless, null,
|
null, smokeful, null,
|
||||||
null, bpShell, null));
|
null, bpShell, null));
|
||||||
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP_SLUG, 6),
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP_SLUG, 6),
|
||||||
null, lead, null,
|
null, lead, null,
|
||||||
null, smokeless, null,
|
null, smokeful, null,
|
||||||
null, bpShell, null));
|
null, bpShell, null));
|
||||||
|
|
||||||
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12, 6),
|
recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12, 6),
|
||||||
|
|||||||
@ -4,15 +4,22 @@ import java.io.IOException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.hbm.inventory.OreDictManager.*;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.stream.JsonWriter;
|
import com.google.gson.stream.JsonWriter;
|
||||||
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.inventory.RecipesCommon.AStack;
|
import com.hbm.inventory.RecipesCommon.AStack;
|
||||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||||
|
import com.hbm.inventory.RecipesCommon.OreDictStack;
|
||||||
import com.hbm.inventory.recipes.loader.SerializableRecipe;
|
import com.hbm.inventory.recipes.loader.SerializableRecipe;
|
||||||
|
import com.hbm.items.ItemEnums.EnumSecretType;
|
||||||
|
import com.hbm.items.food.ItemConserve.EnumFoodType;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
public class PedestalRecipes extends SerializableRecipe {
|
public class PedestalRecipes extends SerializableRecipe {
|
||||||
@ -23,9 +30,47 @@ public class PedestalRecipes extends SerializableRecipe {
|
|||||||
public void registerDefaults() {
|
public void registerDefaults() {
|
||||||
|
|
||||||
recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_light_revolver_dani),
|
recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_light_revolver_dani),
|
||||||
null, null, null,
|
null, new OreDictStack(PB.plate()), null,
|
||||||
null, new ComparableStack(ModItems.gun_light_revolver), null,
|
new OreDictStack(GOLD.plate()), new ComparableStack(ModItems.gun_light_revolver), new OreDictStack(GOLD.plate()),
|
||||||
null, null, null));
|
null, new OreDictStack(PB.plate()), null));
|
||||||
|
|
||||||
|
recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_maresleg_broken),
|
||||||
|
new ComparableStack(ModBlocks.barbed_wire), new OreDictStack(WEAPONSTEEL.plate()), new ComparableStack(ModBlocks.barbed_wire),
|
||||||
|
new OreDictStack(WEAPONSTEEL.plate()), new ComparableStack(ModItems.gun_maresleg), new OreDictStack(WEAPONSTEEL.plate()),
|
||||||
|
new ComparableStack(ModBlocks.barbed_wire), new OreDictStack(WEAPONSTEEL.plate()), new ComparableStack(ModBlocks.barbed_wire)));
|
||||||
|
|
||||||
|
recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_heavy_revolver_lilmac),
|
||||||
|
new OreDictStack(WEAPONSTEEL.plate()), new OreDictStack(DIAMOND.gem()), new OreDictStack(WEAPONSTEEL.plate()),
|
||||||
|
new ComparableStack(ModItems.powder_magic), new ComparableStack(ModItems.gun_heavy_revolver), null,
|
||||||
|
null, new OreDictStack(BONE.grip()), new ComparableStack(Items.apple, 3)));
|
||||||
|
|
||||||
|
recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_heavy_revolver_protege),
|
||||||
|
new ComparableStack(ModBlocks.chain, 16), new OreDictStack(CINNABAR.gem()), new ComparableStack(ModBlocks.chain, 16),
|
||||||
|
new ComparableStack(ModItems.scrap_nuclear), new ComparableStack(ModItems.gun_heavy_revolver), new ComparableStack(ModItems.scrap_nuclear),
|
||||||
|
new ComparableStack(ModBlocks.chain, 16), new OreDictStack(CINNABAR.gem()), new ComparableStack(ModBlocks.chain, 16)));
|
||||||
|
|
||||||
|
recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_flamer_daybreaker),
|
||||||
|
new OreDictStack(GOLD.plateCast()), new ComparableStack(ModItems.canned_conserve, 1, EnumFoodType.JIZZ), new OreDictStack(GOLD.plateCast()),
|
||||||
|
new OreDictStack(P_WHITE.ingot()), new ComparableStack(ModItems.gun_flamer), new OreDictStack(P_WHITE.ingot()),
|
||||||
|
new OreDictStack(GOLD.plateCast()), new ComparableStack(ModItems.stick_dynamite), new OreDictStack(GOLD.plateCast()))
|
||||||
|
.extra(PedestalExtraCondition.SUN));
|
||||||
|
|
||||||
|
recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_autoshotgun_sexy),
|
||||||
|
new ComparableStack(ModItems.bolt_spike, 16), new OreDictStack(STAR.ingot(), 4), new ComparableStack(ModItems.bolt_spike, 16),
|
||||||
|
new ComparableStack(ModItems.card_qos), new ComparableStack(ModItems.gun_autoshotgun), new ComparableStack(ModItems.card_aos),
|
||||||
|
new ComparableStack(ModItems.bolt_spike, 16), new OreDictStack(STAR.ingot(), 4), new ComparableStack(ModItems.bolt_spike, 16)));
|
||||||
|
|
||||||
|
recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_minigun_lacunae),
|
||||||
|
null, new ComparableStack(ModItems.powder_magic, 4), null,
|
||||||
|
new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.gun_minigun), new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL),
|
||||||
|
null, new ComparableStack(ModItems.powder_magic, 4), null)
|
||||||
|
.extra(PedestalExtraCondition.FULL_MOON));
|
||||||
|
|
||||||
|
recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_folly),
|
||||||
|
new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.item_secret, 2, EnumSecretType.CONTROLLER), new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL),
|
||||||
|
new OreDictStack(BSCCO.ingot(), 16), new OreDictStack(STAR.block(), 64), new OreDictStack(BSCCO.ingot(), 16),
|
||||||
|
new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.item_secret, 2, EnumSecretType.CONTROLLER), new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL))
|
||||||
|
.extra(PedestalExtraCondition.FULL_MOON));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -60,7 +105,12 @@ public class PedestalRecipes extends SerializableRecipe {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.recipes.add(new PedestalRecipe(output, input));
|
PedestalRecipe rec = new PedestalRecipe(output, input);
|
||||||
|
if(obj.has("extra")) {
|
||||||
|
rec.extra = PedestalExtraCondition.valueOf(obj.get("extra").getAsString());
|
||||||
|
}
|
||||||
|
|
||||||
|
this.recipes.add(rec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -79,15 +129,27 @@ public class PedestalRecipes extends SerializableRecipe {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
writer.endArray();
|
writer.endArray();
|
||||||
|
|
||||||
|
writer.name("extra").value(rec.extra.name());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static enum PedestalExtraCondition {
|
||||||
|
NONE, FULL_MOON, NEW_MOON, SUN
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class PedestalRecipe {
|
public static class PedestalRecipe {
|
||||||
public ItemStack output;
|
public ItemStack output;
|
||||||
public AStack[] input;
|
public AStack[] input;
|
||||||
|
public PedestalExtraCondition extra = PedestalExtraCondition.NONE;
|
||||||
|
|
||||||
public PedestalRecipe(ItemStack output, AStack... input) {
|
public PedestalRecipe(ItemStack output, AStack... input) {
|
||||||
this.output = output;
|
this.output = output;
|
||||||
this.input = input;
|
this.input = input;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PedestalRecipe extra(PedestalExtraCondition extra) {
|
||||||
|
this.extra = extra;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5219,7 +5219,7 @@ public class ModItems {
|
|||||||
book_lore = new ItemBookLore().setUnlocalizedName("book_lore").setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_pages");
|
book_lore = new ItemBookLore().setUnlocalizedName("book_lore").setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_pages");
|
||||||
holotape_image = new ItemHolotapeImage().setUnlocalizedName("holotape_image").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape");
|
holotape_image = new ItemHolotapeImage().setUnlocalizedName("holotape_image").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape");
|
||||||
holotape_damaged = new Item().setUnlocalizedName("holotape_damaged").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape_damaged");
|
holotape_damaged = new Item().setUnlocalizedName("holotape_damaged").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape_damaged");
|
||||||
clay_tablet = new Item().setUnlocalizedName("clay_tablet").setCreativeTab(null).setTextureName(RefStrings.MODID + ":clay_tablet");
|
clay_tablet = new ItemClayTablet().setUnlocalizedName("clay_tablet").setCreativeTab(null).setTextureName(RefStrings.MODID + ":clay_tablet");
|
||||||
|
|
||||||
polaroid = new ItemPolaroid().setUnlocalizedName("polaroid").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":polaroid_" + MainRegistry.polaroidID);
|
polaroid = new ItemPolaroid().setUnlocalizedName("polaroid").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":polaroid_" + MainRegistry.polaroidID);
|
||||||
glitch = new ItemGlitch().setUnlocalizedName("glitch").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glitch_" + MainRegistry.polaroidID);
|
glitch = new ItemGlitch().setUnlocalizedName("glitch").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glitch_" + MainRegistry.polaroidID);
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import java.util.List;
|
|||||||
|
|
||||||
import com.hbm.extprop.HbmPlayerProps;
|
import com.hbm.extprop.HbmPlayerProps;
|
||||||
import com.hbm.render.model.ModelArmorTrenchmaster;
|
import com.hbm.render.model.ModelArmorTrenchmaster;
|
||||||
import com.hbm.util.I18nUtil;
|
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
@ -12,7 +11,6 @@ import net.minecraft.client.model.ModelBiped;
|
|||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.EnumChatFormatting;
|
|
||||||
import net.minecraftforge.event.entity.living.LivingAttackEvent;
|
import net.minecraftforge.event.entity.living.LivingAttackEvent;
|
||||||
import net.minecraftforge.event.entity.living.LivingHurtEvent;
|
import net.minecraftforge.event.entity.living.LivingHurtEvent;
|
||||||
|
|
||||||
@ -44,8 +42,8 @@ public class ArmorTrenchmaster extends ArmorFSB {
|
|||||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||||
super.addInformation(stack, player, list, ext);
|
super.addInformation(stack, player, list, ext);
|
||||||
|
|
||||||
list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.fasterReload"));
|
//list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.fasterReload"));
|
||||||
list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.moreAmmo"));
|
//list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.moreAmmo"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
39
src/main/java/com/hbm/items/special/ItemClayTablet.java
Normal file
39
src/main/java/com/hbm/items/special/ItemClayTablet.java
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
package com.hbm.items.special;
|
||||||
|
|
||||||
|
import com.hbm.inventory.gui.GUIScreenClayTablet;
|
||||||
|
import com.hbm.main.MainRegistry;
|
||||||
|
import com.hbm.tileentity.IGUIProvider;
|
||||||
|
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.inventory.Container;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class ItemClayTablet extends Item implements IGUIProvider {
|
||||||
|
|
||||||
|
public ItemClayTablet() {
|
||||||
|
this.setMaxDamage(0);
|
||||||
|
this.setMaxStackSize(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
||||||
|
if(!world.isRemote && !stack.hasTagCompound()) {
|
||||||
|
stack.stackTagCompound = new NBTTagCompound();
|
||||||
|
stack.stackTagCompound.setLong("tabletSeed", player.getRNG().nextLong());
|
||||||
|
}
|
||||||
|
if(world.isRemote) player.openGui(MainRegistry.instance, 0, world, 0, 0, 0);
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; }
|
||||||
|
|
||||||
|
@Override @SideOnly(Side.CLIENT)
|
||||||
|
public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||||
|
return new GUIScreenClayTablet();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -102,7 +102,7 @@ public class XFactory12ga {
|
|||||||
.anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_AKIMBO),
|
.anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_AKIMBO),
|
||||||
new GunConfig().dura(600).draw(5).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
|
new GunConfig().dura(600).draw(5).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE)
|
||||||
.rec(new Receiver(0)
|
.rec(new Receiver(0)
|
||||||
.dmg(12F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.shotgun", 1.0F, 1.0F)
|
.dmg(16F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.shotgun", 1.0F, 1.0F)
|
||||||
.mag(new MagazineSingleReload(1, 6).addConfigs(all))
|
.mag(new MagazineSingleReload(1, 6).addConfigs(all))
|
||||||
.offset(0.75, -0.0625, -0.1875)
|
.offset(0.75, -0.0625, -0.1875)
|
||||||
.setupStandardFire().recoil(LAMBDA_RECOIL_MARESLEG))
|
.setupStandardFire().recoil(LAMBDA_RECOIL_MARESLEG))
|
||||||
|
|||||||
@ -852,7 +852,8 @@ public class ModEventHandler {
|
|||||||
|
|
||||||
if(servo != null && servo.getItem() == ModItems.ballistic_gauntlet) {
|
if(servo != null && servo.getItem() == ModItems.ballistic_gauntlet) {
|
||||||
|
|
||||||
BulletConfiguration firedConfig = null;
|
//TODO: fix this shit
|
||||||
|
/*BulletConfig firedConfig = null;
|
||||||
|
|
||||||
for(Integer config : HbmCollection.g12) {
|
for(Integer config : HbmCollection.g12) {
|
||||||
BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(config);
|
BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(config);
|
||||||
@ -876,7 +877,7 @@ public class ModEventHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
player.worldObj.playSoundAtEntity(player, "hbm:weapon.shotgunShoot", 1.0F, 1.0F);
|
player.worldObj.playSoundAtEntity(player, "hbm:weapon.shotgunShoot", 1.0F, 1.0F);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,7 +51,7 @@ public class RenderInfoSystem {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
//this.messages.put(-666, new InfoEntry(Minecraft.getMinecraft().theWorld.getCelestialAngle(0) + "", 666_666));
|
//this.messages.put(-666, new InfoEntry(Minecraft.getMinecraft().theWorld.getCelestialAngle(0) + "", 666_666));
|
||||||
//this.messages.put(-665, new InfoEntry(Minecraft.getMinecraft().theWorld.getCurrentMoonPhaseFactor() + "", 666_666));
|
//this.messages.put(-665, new InfoEntry(Minecraft.getMinecraft().theWorld.getMoonPhase() + "", 666_666));
|
||||||
|
|
||||||
if(this.messages.isEmpty())
|
if(this.messages.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -1782,6 +1782,7 @@ item.cladding_lead.name=Bleibeschläge
|
|||||||
item.cladding_obsidian.name=Obsidianhaut
|
item.cladding_obsidian.name=Obsidianhaut
|
||||||
item.cladding_paint.name=Bleifarbe
|
item.cladding_paint.name=Bleifarbe
|
||||||
item.cladding_rubber.name=Gummibeschlag
|
item.cladding_rubber.name=Gummibeschlag
|
||||||
|
item.clay_tablet.name=Tontafel
|
||||||
item.clip_bf.name=BF-Geschosse im Doppelpack
|
item.clip_bf.name=BF-Geschosse im Doppelpack
|
||||||
item.clip_bolt_action.name=12x74 Brenneke-Patronenbox
|
item.clip_bolt_action.name=12x74 Brenneke-Patronenbox
|
||||||
item.clip_cryolator.name=Großer Kryogentank
|
item.clip_cryolator.name=Großer Kryogentank
|
||||||
|
|||||||
@ -2555,6 +2555,7 @@ item.cladding_lead.name=Lead Cladding
|
|||||||
item.cladding_obsidian.name=Obsidian Skin
|
item.cladding_obsidian.name=Obsidian Skin
|
||||||
item.cladding_paint.name=Lead Paint
|
item.cladding_paint.name=Lead Paint
|
||||||
item.cladding_rubber.name=Rubber Cladding
|
item.cladding_rubber.name=Rubber Cladding
|
||||||
|
item.clay_tablet.name=Clay Tablet
|
||||||
item.clip_bf.name=BF-Shell Double Pack
|
item.clip_bf.name=BF-Shell Double Pack
|
||||||
item.clip_bolt_action.name=Box of 12x74 Slugs
|
item.clip_bolt_action.name=Box of 12x74 Slugs
|
||||||
item.clip_cryolator.name=Tank of Cryolator Fuel
|
item.clip_cryolator.name=Tank of Cryolator Fuel
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 3.7 KiB |
Loading…
x
Reference in New Issue
Block a user