mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
fixes, foxes, flixes
This commit is contained in:
parent
bc65f80501
commit
7be71dfb99
70
changelog
70
changelog
@ -1,66 +1,10 @@
|
||||
## Added
|
||||
* More axes
|
||||
* Bismuth, volcanic, chlorophyte and mese tool materials now have axes
|
||||
* Axes also double as offensive weapons, being a lot more powerful than their pickaxe counterparts
|
||||
* Drainage pipe
|
||||
* Spills fluid, allowing to void up to 1.000mB per tick
|
||||
* Might slightly alter the landscape, depending on whether the fluid was poisonous
|
||||
* Viscous, flammable liquids cause oil spill blocks to appear
|
||||
* Not all liquids have the appropriate pollution stats yet, the system is still subject to change
|
||||
|
||||
## Changed
|
||||
* After three quarters of a decade, three separate models, countless rebalances and hours of senseless yapping, the industrial generator has finally met its end. Suddenly, yet not unsurprisingly, on this here day the industrial generator has closed its eyes for the final time. It was a long and eventful journey, but as with all things in life, it too had to come to an end.
|
||||
* And this is why we can't ever have anything nice
|
||||
* Rebalanced glyphids
|
||||
* We'll see how it goes
|
||||
* Still prone to changes, there's still a few inconsistencies and some behavior has barely been tested it all, but I have consulted the almighty spreadsheet and it said "yeah it ok"
|
||||
* Did some spring cleaning
|
||||
* Removed cloud residue (looked horrible, allowed for weird dupes and made no sense overall)
|
||||
* Bottlecap blocks now use a single block ID and metadata instead of using one ID per type. This change however will delete all existing bottlecap blocks in the world
|
||||
* Removed the config option for silos (the option no longer works anyway since the new silos use the structure component system)
|
||||
* Finally removed the deaerator and the large shredder
|
||||
* Removed some of the ancient test blocks that haven't been needed in about 8 years
|
||||
* Removed all the siege blocks, since siege mode will never be finished anyway
|
||||
* Removed reinforced niter
|
||||
* Removed a few other minor things that won't be mentioned because nobody's gonna even notice their absence anyway
|
||||
* Retextured the laser detonator to look more like the old detonator, but keeping the 3D model
|
||||
* Bedrock ores can now be customized in creative mode. Using a drillbit sets the tier, a fluid container sets the borefluid requirement and any other item sets the resource.
|
||||
* The texture used is random, and the color applied is based on the auto detect system. The system doesn't work with layered items, so the resulting color won't be the same as naturally generated bedrock ore. The bedrock ore item in particular will always result in a white ore, no matter the type
|
||||
* The polluting fluid trait is now recognized by machines, which means that pollution amounts now depend on the fluid used, not the machine
|
||||
* This means that flare stacks are now significantly less polluting, assuming natural gas is burned
|
||||
* Flare stacks and barrels now also respect the spilling tag, which means that simply venting the gas may cause poison pollution
|
||||
* Hydrogen doesn't have the polluting tag, so hydrogen burning generators won't create soot anymore
|
||||
* Compressing blood no longer creates oil, rather it makes heavy oil (250mB)
|
||||
* Tier 2 pickaxes (bismuth and up) now use the large item renderer
|
||||
* Added the metal block material to the sellafite conversion list of nuclear explosions
|
||||
* Changed the mechanics for schottky particle diodes
|
||||
* Instead of randomizing directions, schottky diodes will now split particles into "virtual particles" which take mutliple paths at once
|
||||
* The particles will collapse as soon as the first virtual particle with a valid outcome reaches the end
|
||||
* This change allows branching accelerators to be made, where the particle will always take the shortest path necessary to complete the operation. In essence, it allows a single accelerator to do any recipe, without requiring to power the entire accelerator, as only the path of the finishing particle will use up energy.
|
||||
* The particle accelerator as well as the schottky particle diodes now have presentations explaining how they work
|
||||
* Loot pools are now configurable. Loot is divided into different categories, and structures may generate things from certain categories.
|
||||
* The config currently includes all items spawned in dungeon chests/crates/safes/lockers, excluding black book spawns, but also including the loot pool for red room pedestals
|
||||
* Also added satellites as configurable loot pools. Yay!
|
||||
* Pylons and wire connectors now use a texture instead of a solid colored wire
|
||||
* The cable model has been simplified, being only a single face instead of three faces stuck inside each other at weird angles
|
||||
* Cables now sag slightly more at long ranges
|
||||
* There are now configs for toggling the startup message as well as the guidebook
|
||||
* Cybercrab spawners will only start spawning as soon as a player is within 25 blocks of the spawner
|
||||
* Improved inventory shift-clicking for the FEL, assembler, chemplant, large mining drill, gas centrifuge, shredder and turbofan
|
||||
* Updated chinese localization
|
||||
* Glyphid hive treasures, hive bone piles and bottlecap stashes now have configurable item pools
|
||||
* Adjusted glyphid hive treasures, there's now more variety
|
||||
* Launch code pieces can now be found in the "expensive" loot pool with low chance
|
||||
* Removed Brandon
|
||||
|
||||
## Fixed
|
||||
* WarTec should now be compatible again
|
||||
* Fixed the "Hold shift for more info" line appearing on fluid info when shift is held, and disappearing otherwise
|
||||
* Fixed smokestacks being able to void any fluid under certain conditions
|
||||
* Fixed the hydrotreater only using half as much crude oil per operation as it should
|
||||
* Fixed the old launchpad printing the wrong message when successfully launched via detonator
|
||||
* Oil spills should no longer save, fixing an issue where chunkloaded derricks would constantly spill oil entities into unloaded chunks, causing them to get stuck
|
||||
* Fixed schrabidium conversion happening outside the main crater instead of inside
|
||||
* Fixed wood burning generator creating smoke even if no power is being generated
|
||||
* Fixed one of the woodburner's ports being offset in certain orientations
|
||||
* Fixed fog caching causing weird behavior with the sky color change in response to crater biomes (or lack thereof)
|
||||
* Fixed "F1 for help" keybind not working on non-standard inventories such as the NEI item list
|
||||
* Fixed pylon wire rendering having incorrect corrdinates for brightness checks
|
||||
* Fixed dupe caused by shift clicking certain slots in the fusion reactor
|
||||
* Fixed snowglobe rendering lighting setup leak causing blocks rendered after them in inventory to not have correct lighting
|
||||
* Fixed satellite item pool not being registered, resulting in satellites only delivering things from the backup pool
|
||||
* Fixed drill bits not correctly setting the tier when customizing a bedrock ore
|
||||
* Fixed debugging display showing glyphid damage still being in the game
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
mod_version=1.0.27
|
||||
# Empty build number makes a release type
|
||||
mod_build_number=4914
|
||||
mod_build_number=4915
|
||||
|
||||
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
|
||||
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\
|
||||
|
||||
@ -1092,7 +1092,7 @@ public class ModBlocks {
|
||||
public static Block turret_howard_damaged;
|
||||
public static Block turret_maxwell;
|
||||
public static Block turret_fritz;
|
||||
public static Block turret_brandon;
|
||||
//public static Block turret_brandon;
|
||||
public static Block turret_arty;
|
||||
public static Block turret_himars;
|
||||
public static Block turret_sentry;
|
||||
@ -2147,7 +2147,7 @@ public class ModBlocks {
|
||||
turret_howard_damaged = new TurretHowardDamaged(Material.iron).setBlockName("turret_howard_damaged").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_rust");
|
||||
turret_maxwell = new TurretMaxwell(Material.iron).setBlockName("turret_maxwell").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_brandon = new TurretBrandon(Material.iron).setBlockName("turret_brandon").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
//turret_brandon = new TurretBrandon(Material.iron).setBlockName("turret_brandon").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_arty = new TurretArty(Material.iron).setBlockName("turret_arty").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_himars = new TurretHIMARS(Material.iron).setBlockName("turret_himars").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_sentry = new TurretSentry().setBlockName("turret_sentry").setHardness(5.0F).setResistance(5.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
@ -2936,7 +2936,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(turret_howard_damaged, turret_howard_damaged.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_maxwell, turret_maxwell.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_fritz, turret_fritz.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_brandon, turret_brandon.getUnlocalizedName());
|
||||
//GameRegistry.registerBlock(turret_brandon, turret_brandon.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_arty, turret_arty.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_himars, turret_himars.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_sentry, turret_sentry.getUnlocalizedName());
|
||||
|
||||
@ -79,7 +79,7 @@ public class BlockBedrockOreTE extends BlockContainer implements ILookOverlay, I
|
||||
|
||||
if(stack.getItem() == ModItems.drillbit) {
|
||||
EnumDrillType type = EnumUtil.grabEnumSafely(EnumDrillType.class, stack.getItemDamage());
|
||||
ore.tier = type.ordinal();
|
||||
ore.tier = type.tier;
|
||||
} else if(FluidContainerRegistry.getFluidType(stack) != Fluids.NONE) {
|
||||
FluidType type = FluidContainerRegistry.getFluidType(stack);
|
||||
int amount = FluidContainerRegistry.getFluidContent(stack, type);
|
||||
|
||||
@ -336,13 +336,12 @@ public class EntityGlyphid extends EntityMob {
|
||||
/** Provides a direct entrypoint from outside to access the superclass' implementation because otherwise we end up wwith infinite recursion */
|
||||
public boolean attackSuperclass(DamageSource source, float amount) {
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
/*NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "debug");
|
||||
data.setInteger("color", 0x0000ff);
|
||||
data.setFloat("scale", 2.5F);
|
||||
data.setString("text", "" + (int) amount);
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 2, posZ), new TargetPoint(dimension, posX, posY + 2, posZ, 50));
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 2, posZ), new TargetPoint(dimension, posX, posY + 2, posZ, 50));*/
|
||||
|
||||
return super.attackEntityFrom(source, amount);
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import static com.hbm.lib.HbmChestContents.weighted;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
@ -12,10 +13,20 @@ import net.minecraft.block.Block;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.WeightedRandom;
|
||||
import net.minecraft.util.WeightedRandomChestContent;
|
||||
|
||||
public class ItemPool {
|
||||
|
||||
public static void initialize() {
|
||||
ItemPoolsLegacy.init();
|
||||
ItemPoolsComponent.init();
|
||||
ItemPoolsSingle.init();
|
||||
ItemPoolsRedRoom.init();
|
||||
ItemPoolsSatellite.init();
|
||||
ItemPoolsPile.init();
|
||||
}
|
||||
|
||||
public static HashMap<String, ItemPool> pools = new HashMap();
|
||||
|
||||
public String name;
|
||||
@ -47,13 +58,6 @@ public class ItemPool {
|
||||
return this;
|
||||
}
|
||||
|
||||
public static void initialize() {
|
||||
ItemPoolsLegacy.init();
|
||||
ItemPoolsComponent.init();
|
||||
ItemPoolsSingle.init();
|
||||
ItemPoolsRedRoom.init();
|
||||
}
|
||||
|
||||
/** Grabs the specified item pool out of the pool map, will return the backup pool if the given pool is not present */
|
||||
public static WeightedRandomChestContent[] getPool(String name) {
|
||||
ItemPool pool = pools.get(name);
|
||||
@ -61,6 +65,13 @@ public class ItemPool {
|
||||
return pool.pool;
|
||||
}
|
||||
|
||||
public static ItemStack getStack(WeightedRandomChestContent[] pool, Random rand) {
|
||||
WeightedRandomChestContent weighted = (WeightedRandomChestContent) WeightedRandom.getRandomItem(rand, pool);
|
||||
ItemStack stack = weighted.theItemId.copy();
|
||||
stack.stackSize = weighted.theMinimumChanceToGenerateItem + rand.nextInt(weighted.theMaximumChanceToGenerateItem - weighted.theMinimumChanceToGenerateItem + 1);
|
||||
return stack;
|
||||
}
|
||||
|
||||
/** Should a pool be lost due to misconfiguration or otherwise, this pool will be returned in its place */
|
||||
private static WeightedRandomChestContent[] backupPool = new WeightedRandomChestContent[] {
|
||||
weighted(Items.bread, 0, 1, 3, 10),
|
||||
|
||||
@ -131,7 +131,8 @@ public class ItemPoolsLegacy {
|
||||
weighted(ModItems.bomb_caller, 2, 1, 1, 1),
|
||||
weighted(ModItems.gas_mask_filter, 0, 1, 1, 4),
|
||||
weighted(ModItems.journal_pip, 0, 1, 1, 1),
|
||||
weighted(ModItems.journal_bj, 0, 1, 1, 1)
|
||||
weighted(ModItems.journal_bj, 0, 1, 1, 1),
|
||||
weighted(ModItems.launch_code_piece, 0, 1, 1, 1)
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
73
src/main/java/com/hbm/itempool/ItemPoolsPile.java
Normal file
73
src/main/java/com/hbm/itempool/ItemPoolsPile.java
Normal file
@ -0,0 +1,73 @@
|
||||
package com.hbm.itempool;
|
||||
|
||||
import static com.hbm.lib.HbmChestContents.weighted;
|
||||
|
||||
import com.hbm.items.ItemAmmoEnums.Ammo357Magnum;
|
||||
import com.hbm.items.ItemAmmoEnums.AmmoFatman;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.util.WeightedRandomChestContent;
|
||||
|
||||
public class ItemPoolsPile {
|
||||
|
||||
public static final String POOL_PILE_HIVE = "POOL_PILE_HIVE";
|
||||
public static final String POOL_PILE_BONES = "POOL_PILE_BONES";
|
||||
public static final String POOL_PILE_CAPS = "POOL_PILE_CAPS";
|
||||
|
||||
public static void init() {
|
||||
|
||||
//items found in glyphid hives
|
||||
new ItemPool(POOL_PILE_HIVE) {{
|
||||
this.pool = new WeightedRandomChestContent[] {
|
||||
//Materials
|
||||
weighted(Items.iron_ingot, 0, 1, 3, 10),
|
||||
weighted(ModItems.ingot_steel, 0, 1, 2, 10),
|
||||
weighted(ModItems.ingot_aluminium, 0, 1, 2, 10),
|
||||
weighted(ModItems.scrap, 0, 3, 6, 10),
|
||||
//Armor
|
||||
weighted(ModItems.gas_mask_m65, 0, 1, 1, 10),
|
||||
weighted(ModItems.steel_plate, 0, 1, 1, 5),
|
||||
weighted(ModItems.steel_legs, 0, 1, 1, 5),
|
||||
//Gear
|
||||
weighted(ModItems.steel_pickaxe, 0, 1, 1, 5),
|
||||
weighted(ModItems.steel_shovel, 0, 1, 1, 5),
|
||||
//Weapons
|
||||
weighted(ModItems.gun_lever_action, 0, 1, 1, 5),
|
||||
weighted(ModItems.gun_bio_revolver, 0, 1, 1, 1),
|
||||
weighted(ModItems.grenade_if_generic, 0, 1, 2, 5),
|
||||
weighted(ModItems.ammo_20gauge, 0, 8, 8, 10),
|
||||
weighted(ModItems.ammo_12gauge, 0, 4, 4, 10),
|
||||
weighted(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 6, 12, 10),
|
||||
weighted(ModItems.ammo_grenade, 0, 1, 1, 2),
|
||||
weighted(ModItems.ammo_nuke, AmmoFatman.PUMPKIN.ordinal(), 1, 1, 1),
|
||||
//Consumables
|
||||
weighted(ModItems.bottle_nuka, 0, 1, 2, 20),
|
||||
weighted(ModItems.bottle_quantum, 0, 1, 2, 1),
|
||||
weighted(ModItems.definitelyfood, 0, 5, 12, 20),
|
||||
weighted(ModItems.egg_glyphid, 0, 1, 3, 30),
|
||||
weighted(ModItems.syringe_metal_stimpak, 0, 1, 1, 5),
|
||||
weighted(ModItems.iv_blood, 0, 1, 1, 10),
|
||||
weighted(Items.experience_bottle, 0, 1, 3, 5),
|
||||
};
|
||||
}};
|
||||
|
||||
//items found in glyphid bone piles
|
||||
new ItemPool(POOL_PILE_BONES) {{
|
||||
this.pool = new WeightedRandomChestContent[] {
|
||||
weighted(Items.bone, 0, 1, 1, 10),
|
||||
weighted(Items.rotten_flesh, 0, 1, 1, 5),
|
||||
weighted(ModItems.biomass, 0, 1, 1, 2)
|
||||
};
|
||||
}};
|
||||
|
||||
//bottlecap stashess
|
||||
new ItemPool(POOL_PILE_CAPS) {{
|
||||
this.pool = new WeightedRandomChestContent[] {
|
||||
weighted(ModItems.cap_nuka, 0, 4, 4, 20),
|
||||
weighted(ModItems.cap_quantum, 0, 4, 4, 3),
|
||||
weighted(ModItems.cap_sparkle, 0, 4, 4, 1),
|
||||
};
|
||||
}};
|
||||
}
|
||||
}
|
||||
@ -8,7 +8,7 @@ import com.hbm.items.ModItems;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.util.WeightedRandomChestContent;
|
||||
|
||||
public class ItemPoolSatellite {
|
||||
public class ItemPoolsSatellite {
|
||||
|
||||
public static final String POOL_SAT_MINER = "POOL_SAT_MINER";
|
||||
public static final String POOL_SAT_LUNAR = "POOL_SAT_LUNAR"; //woona
|
||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
||||
public class RefStrings {
|
||||
public static final String MODID = "hbm";
|
||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||
public static final String VERSION = "1.0.27 BETA (4914)";
|
||||
public static final String VERSION = "1.0.27 BETA (4915)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -1254,6 +1254,7 @@ public class MainRegistry {
|
||||
ignoreMappings.add("hbm:tile.siege_emergency");
|
||||
ignoreMappings.add("hbm:tile.siege_hole");
|
||||
ignoreMappings.add("hbm:tile.machine_shredder_large");
|
||||
ignoreMappings.add("hbm:tile.turret_brandon");
|
||||
|
||||
/// REMAP ///
|
||||
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
package com.hbm.saveddata.satellites;
|
||||
|
||||
import com.hbm.itempool.ItemPoolSatellite;
|
||||
import com.hbm.itempool.ItemPoolsSatellite;
|
||||
|
||||
public class SatelliteLunarMiner extends SatelliteMiner {
|
||||
|
||||
static {
|
||||
registerCargo(SatelliteLunarMiner.class, ItemPoolSatellite.POOL_SAT_LUNAR);
|
||||
registerCargo(SatelliteLunarMiner.class, ItemPoolsSatellite.POOL_SAT_LUNAR);
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hbm.saveddata.satellites;
|
||||
|
||||
import com.hbm.itempool.ItemPoolSatellite;
|
||||
import com.hbm.itempool.ItemPoolsSatellite;
|
||||
import com.hbm.util.WeightedRandomObject;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
@ -43,6 +43,6 @@ public class SatelliteMiner extends Satellite {
|
||||
}
|
||||
|
||||
static {
|
||||
registerCargo(SatelliteMiner.class, ItemPoolSatellite.POOL_SAT_MINER);
|
||||
registerCargo(SatelliteMiner.class, ItemPoolsSatellite.POOL_SAT_MINER);
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,7 +22,6 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.WeightedRandom;
|
||||
import net.minecraft.util.WeightedRandomChestContent;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -240,10 +239,7 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
|
||||
WeightedRandomChestContent[] cargo = ItemPool.getPool(satellite.getCargo());
|
||||
|
||||
for(int i = 0; i < itemAmount; i++) {
|
||||
WeightedRandomChestContent weighted = (WeightedRandomChestContent) WeightedRandom.getRandomItem(worldObj.rand, cargo);
|
||||
ItemStack stack = weighted.theItemId.copy();
|
||||
stack.stackSize = weighted.theMinimumChanceToGenerateItem + worldObj.rand.nextInt(weighted.theMaximumChanceToGenerateItem - weighted.theMinimumChanceToGenerateItem + 1);
|
||||
addToInv(stack);
|
||||
addToInv(ItemPool.getStack(cargo, worldObj.rand));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -4,6 +4,8 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockLoot.TileEntityLoot;
|
||||
import com.hbm.itempool.ItemPool;
|
||||
import com.hbm.itempool.ItemPoolsPile;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBookLore;
|
||||
import com.hbm.items.ItemAmmoEnums.AmmoFatman;
|
||||
@ -79,12 +81,9 @@ public class LootGenerator {
|
||||
for(int i = -1; i <= 1; i++) {
|
||||
for(int j = -1; j <= 1; j++) {
|
||||
|
||||
int r = world.rand.nextInt(10);
|
||||
Item cap = r < 9 ? ModItems.cap_nuka : ModItems.cap_quantum;
|
||||
|
||||
int count = world.rand.nextInt(5) + 3;
|
||||
for(int k = 0; k < count; k++) {
|
||||
addItemWithDeviation(loot, world.rand, new ItemStack(cap, 4), i * 0.3125, k * 0.03125, j * 0.3125);
|
||||
addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_CAPS), world.rand), i * 0.3125, k * 0.03125, j * 0.3125);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -144,7 +143,7 @@ public class LootGenerator {
|
||||
|
||||
int limit = world.rand.nextInt(3) + 3;
|
||||
for(int i = 0; i < limit; i++) {
|
||||
addItemWithDeviation(loot, world.rand, new ItemStack(Items.bone), world.rand.nextDouble() - 0.5, i * 0.03125, world.rand.nextDouble() - 0.5);
|
||||
addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_BONES), world.rand), world.rand.nextDouble() - 0.5, i * 0.03125, world.rand.nextDouble() - 0.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -157,23 +156,7 @@ public class LootGenerator {
|
||||
|
||||
int limit = world.rand.nextInt(3) + 3;
|
||||
for(int i = 0; i < limit; i++) {
|
||||
|
||||
ItemStack stack = new ItemStack(ModItems.ammo_12gauge, 4);
|
||||
|
||||
switch(world.rand.nextInt(11)) {
|
||||
case 0: stack = new ItemStack(ModItems.steel_plate); break;
|
||||
case 1: stack = new ItemStack(ModItems.gun_lever_action); break;
|
||||
case 2: stack = new ItemStack(ModItems.grenade_if_generic); break;
|
||||
case 3:
|
||||
case 4: stack = new ItemStack(ModItems.bottle_nuka, 1 + world.rand.nextInt(2)); break;
|
||||
case 5:
|
||||
case 6: stack = new ItemStack(ModItems.ingot_steel, 3 + world.rand.nextInt(10)); break;
|
||||
case 7: stack = new ItemStack(ModItems.steel_pickaxe); break;
|
||||
case 8: stack = new ItemStack(ModItems.gas_mask_m65); break;
|
||||
case 9: stack = new ItemStack(ModItems.ammo_20gauge, 8); break;
|
||||
}
|
||||
|
||||
addItemWithDeviation(loot, world.rand, stack, world.rand.nextDouble() - 0.5, i * 0.03125, world.rand.nextDouble() - 0.5);
|
||||
addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_HIVE), world.rand), world.rand.nextDouble() - 0.5, i * 0.03125, world.rand.nextDouble() - 0.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user