Skip to content

Commit

Permalink
Version 1.9.5 Release: Chargers, Custom Nuke, Doors, Ammo
Browse files Browse the repository at this point in the history
Added Custom Nuke Solinium, Euphemium Rod
Added Configurable max values to Custom Nuke
Added Xp drops to Ores
Added Configurable crate byte limit
Added Chargers
Added Radresistant 2x1 Door
Added neoveline, coke, lignite, infernal coal, solid fuel, presto logs blocks
Added copper cluster config
Added more colors to item tooltips
Added crafting recipe to Vortex
Added deco block uncrafting
Added cinnabar recipes
Added more storage drum recipes
Added DNT drill
Added RBMK Console Irradiation Channel info
Added Small Reactor - Breeder patch
Added more item compatibility to custom nuke
Added scream upgrade to centrifuges and crystallizers
Added copper cluster

Changed Cracker to be faster
Changed small hatch to be radiation proof
Changed ammo clips to be craftable
Changed graphite to be burnable
Changed Factory speed and mechanics
Changed corebblestone and ancient scrap to have chunkrads
Changed Block hazards to apply when walking on them
Changed Gas to disappear faster
Changed Wither wire dmg
Changed cluster mining level
Changed Leviathan turbine to show power/s
Changed reinforced stone texture
Changed Watz structure to not need the corners
Changed default crucible charges to 16
Changed advanced factory recipe and textures
Changed bedrock ore recipe balance
Changed DFC machine gui info
Changed Fat Man to use first generation lenses
Changed Digamma yield
Changed Maxwel look
Changed Mr Friendly look
Changed Beam look
Changed a few textures

Optimized PressRecipes
Optimized solvent recipe
Optimized watz gui info

Reduced corium radiation

Fixed tool abilities breaking batteries and crates
Fixed Assembler crafttweaker adding of recipes
Fixed toxic grenades
Fixed sellaline spawn on bedrock ore and oil
Fixed rigged star config
Fixed Factory connection issue
Fixed Blast Furnace Particles
Fixed Structure marker void
Fixed missing radiation of blocks and items
Fixed Flechette alt fire not using ammo
Fixed radiation system crash
Fixed anvil recipes not accepting bakelite
Fixed breeder recipes not working with multiple inputs
Fixed phosphor crystal silex recipe
Fixed fiberglass recipe
Fixed storage drum recipes
Fixed typos
Fixed thorium ingot irradiation recipe
Fixed silex reipes
Fixed Large Reactor gui
Fixed Revolver position
Fixed Cable block render
Fixed Excavator render
Fixed Flare stack not burning stuff
Fixed Refinery not saving fluid type
Fixed RBMK Melting down below 1.5k°C bc of cooling order
Fixed Steel furnace automation
Fixed default Heat Exchanging heater fluid type
Fixed Combustion generator voiding stuff
Fixed Mining laser idle rotation
Fixed infinite xp glitch
Fixed outdated Meteorite guide images

Deleted unused stuff
  • Loading branch information
Alcatergit committed Aug 19, 2023
1 parent 3450a75 commit 81b6a20
Show file tree
Hide file tree
Showing 421 changed files with 4,612 additions and 4,834 deletions.
3 changes: 3 additions & 0 deletions CraftTweakerWIKI.md
Expand Up @@ -12,6 +12,9 @@ Removing of oreDict recipes is currently not supported.
mods.ntm.Assembler.addRecipe(IItemStack output, IItemStack[] inputs, int duration);<br>
``mods.ntm.Assembler.addRecipe(<minecraft:beef>, [<minecraft:cooked_beef>*4, <minecraft:egg>*6], 30);``

mods.ntm.Assembler.replaceRecipe(IItemStack output, IItemStack[] inputs, int duration);<br>
``mods.ntm.Assembler.replaceRecipe(<hbm:machine_silex>, [<minecraft:glass>, <minecraft:cobblestone>], 50);``

mods.ntm.Assembler.removeRecipe(IItemStack output);<br>
``mods.ntm.Assembler.removeRecipe(<hbm:machine_silex>);``

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Expand Up @@ -24,7 +24,7 @@ apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'

version = '1.9.7'
version = '1.9.8'
group = 'com.hbm' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'NTM-Extended-1.12.2'

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Expand Up @@ -5,6 +5,6 @@ org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.parallel=true
version_mc=1.12.2
version=1.9.7
version=1.9.8
version_jei=4.16.1.302
version_crafttweaker=4.1.14.521
120 changes: 64 additions & 56 deletions src/main/java/com/hbm/blocks/ModBlocks.java

Large diffs are not rendered by default.

85 changes: 50 additions & 35 deletions src/main/java/com/hbm/blocks/bomb/NukeCustom.java
Expand Up @@ -4,6 +4,7 @@

import com.hbm.blocks.ModBlocks;
import com.hbm.config.BombConfig;
import com.hbm.entity.effect.EntityCloudSolinium;
import com.hbm.entity.effect.EntityCloudFleija;
import com.hbm.entity.effect.EntityNukeCloudSmall;
import com.hbm.entity.grenade.EntityGrenadeZOMG;
Expand Down Expand Up @@ -93,82 +94,96 @@ public void neighborChanged(IBlockState state, World world, BlockPos pos, Block
this.explode(world, pos);
}
}

public static final int maxTnt = 150;
public static final int maxNuke = 200;
public static final int maxHydro = 350;
public static final int maxAmat = 350;
public static final int maxSchrab = 250;

public static void explodeCustom(World worldObj, double xCoord, double yCoord, double zCoord, float tnt, float nuke, float hydro, float amat, float dirty, float schrab, float euph) {
public static void explodeCustom(World world, double xCoord, double yCoord, double zCoord, float tnt, float nuke, float hydro, float bale, float dirty, float schrab, float sol, float euph) {

dirty = Math.min(dirty, 100);
dirty = Math.min(dirty, BombConfig.maxCustomDirtyRadius);

/// EUPHEMIUM ///
if(euph > 0) {

EntityGrenadeZOMG zomg = new EntityGrenadeZOMG(worldObj, xCoord, yCoord, zCoord);
ExplosionChaos.zomg(worldObj, xCoord, yCoord, zCoord, 1000, null, zomg);
euph = Math.min(euph, BombConfig.maxCustomEuphLvl);
EntityGrenadeZOMG zomg = new EntityGrenadeZOMG(world, xCoord, yCoord, zCoord);
ExplosionChaos.zomg(world, xCoord, yCoord, zCoord, (int)(100 * euph), null, zomg);

// SOLINIUM ///
} else if(sol > 0) {

sol += schrab / 2 + bale / 4 + hydro / 8 + nuke / 16 + tnt / 32;
sol = Math.min(sol, BombConfig.maxCustomSolRadius);

EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
entity.setPosition(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5);
entity.destructionRange = (int) sol;
entity.speed = BombConfig.blastSpeed;
entity.coefficient = 1.0F;
entity.waste = false;
entity.extType = 1;
world.spawnEntity(entity);

EntityCloudSolinium cloud = new EntityCloudSolinium(world, (int)sol);
cloud.setPosition(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5);
world.spawnEntity(cloud);

// SCHRABIDIUM ///
} else if(schrab > 0) {

schrab += amat / 2 + hydro / 4 + nuke / 8 + tnt / 16;
schrab = Math.min(schrab, maxSchrab);
schrab += bale / 2 + hydro / 4 + nuke / 8 + tnt / 16;
schrab = Math.min(schrab, BombConfig.maxCustomSchrabRadius);

EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(worldObj);
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
entity.setPosition(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5);
entity.destructionRange = (int) schrab;
entity.speed = BombConfig.blastSpeed;
entity.coefficient = 1.0F;
entity.waste = false;
worldObj.spawnEntity(entity);
world.spawnEntity(entity);

EntityCloudFleija cloud = new EntityCloudFleija(worldObj, (int)schrab);
EntityCloudFleija cloud = new EntityCloudFleija(world, (int)schrab);
cloud.setPosition(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5);
worldObj.spawnEntity(cloud);
world.spawnEntity(cloud);

/// ANTIMATTER ///
} else if(amat > 0) {
} else if(bale > 0) {

amat += hydro / 2 + nuke / 4 + tnt / 8;
amat = Math.min(amat, maxAmat);
bale += hydro / 2 + nuke / 4 + tnt / 8;
bale = Math.min(bale, BombConfig.maxCustomBaleRadius);

EntityBalefire bf = new EntityBalefire(worldObj);
EntityBalefire bf = new EntityBalefire(world);
bf.setPosition(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5);
bf.destructionRange = (int) amat;
worldObj.spawnEntity(bf);
worldObj.spawnEntity(EntityNukeCloudSmall.statFacBale(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, amat));
bf.destructionRange = (int) bale;
world.spawnEntity(bf);
world.spawnEntity(EntityNukeCloudSmall.statFacBale(world, xCoord + 0.5, yCoord + 5, zCoord + 0.5, bale));

/// HYDROGEN ///
} else if(hydro > 0) {

hydro += nuke / 2 + tnt / 4;
hydro = Math.min(hydro, maxHydro);
hydro = Math.min(hydro, BombConfig.maxCustomHydroRadius);
dirty *= 0.25F;

worldObj.spawnEntity(EntityNukeExplosionMK4.statFac(worldObj, (int)hydro, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).moreFallout((int)dirty));
worldObj.spawnEntity(EntityNukeCloudSmall.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, hydro));
world.spawnEntity(EntityNukeExplosionMK4.statFac(world, (int)hydro, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).moreFallout((int)dirty));
world.spawnEntity(EntityNukeCloudSmall.statFac(world, xCoord + 0.5, yCoord + 5, zCoord + 0.5, hydro));

/// NUCLEAR ///
} else if(nuke > 0) {

nuke += tnt / 2;
nuke = Math.min(nuke, maxNuke);
nuke = Math.min(nuke, BombConfig.maxCustomNukeRadius);

worldObj.spawnEntity(EntityNukeExplosionMK4.statFac(worldObj, (int)nuke, xCoord + 0.5, yCoord + 5, zCoord + 0.5).moreFallout((int)dirty));
worldObj.spawnEntity(EntityNukeCloudSmall.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, nuke));
world.spawnEntity(EntityNukeExplosionMK4.statFac(world, (int)nuke, xCoord + 0.5, yCoord + 5, zCoord + 0.5).moreFallout((int)dirty));
world.spawnEntity(EntityNukeCloudSmall.statFac(world, xCoord + 0.5, yCoord + 5, zCoord + 0.5, nuke));

/// NON-NUCLEAR ///
} else if(tnt >= 75) {

tnt = Math.min(tnt, maxTnt);
tnt = Math.min(tnt, BombConfig.maxCustomTNTRadius);

worldObj.spawnEntity(EntityNukeExplosionMK4.statFacNoRad(worldObj, (int)tnt, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5));
worldObj.spawnEntity(EntityNukeCloudSmall.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, tnt));
world.spawnEntity(EntityNukeExplosionMK4.statFacNoRad(world, (int)tnt, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5));
world.spawnEntity(EntityNukeCloudSmall.statFac(world, xCoord + 0.5, yCoord + 5, zCoord + 0.5, tnt));
} else if(tnt > 0) {

ExplosionLarge.explode(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, tnt, true, true, true);
ExplosionLarge.explode(world, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, tnt, true, true, true);
}
}

Expand All @@ -180,11 +195,11 @@ public void explode(World world, BlockPos pos) {

entity.clearSlots();
world.destroyBlock(pos, false);
NukeCustom.explodeCustom(world, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, entity.tnt, entity.nuke, entity.hydro, entity.amat, entity.dirty, entity.schrab, entity.euph);
NukeCustom.explodeCustom(world, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, entity.tnt, entity.nuke, entity.hydro, entity.bale, entity.dirty, entity.schrab, entity.sol, entity.euph);

} else {

EntityFallingNuke bomb = new EntityFallingNuke(world, entity.tnt, entity.nuke, entity.hydro, entity.amat, entity.dirty, entity.schrab, entity.euph);
EntityFallingNuke bomb = new EntityFallingNuke(world, entity.tnt, entity.nuke, entity.hydro, entity.bale, entity.dirty, entity.schrab, entity.sol, entity.euph);
bomb.getDataManager().set(EntityFallingNuke.FACING, world.getBlockState(pos).getValue(FACING));
bomb.setPositionAndRotation(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5, 0, 0);
entity.clearSlots();
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/blocks/gas/BlockGasAsbestos.java
Expand Up @@ -52,7 +52,7 @@ public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
@Override
public void updateTick(World world, BlockPos pos, IBlockState state, Random rand) {

if(!world.isRemote && (!GeneralConfig.enableAsbestos || rand.nextInt(50) == 0)) {
if(!world.isRemote && (!GeneralConfig.enableAsbestos || rand.nextInt(10) == 0)) {
world.setBlockToAir(pos);
return;
}
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/com/hbm/blocks/gas/BlockGasBase.java
Expand Up @@ -94,7 +94,7 @@ public boolean isReplaceable(IBlockAccess worldIn, BlockPos pos){
@Override
public void updateTick(World world, BlockPos pos, IBlockState state, Random rand){
if(!world.isRemote) {
if(world.rand.nextInt(4)==0){
if(world.rand.nextInt(2)==0){
if(!tryMove(world, pos.getX(), pos.getY(), pos.getZ(), getFirstDirection(world, pos.getX(), pos.getY(), pos.getZ())))
tryMove(world, pos.getX(), pos.getY(), pos.getZ(), getSecondDirection(world, pos.getX(), pos.getY(), pos.getZ()));
}
Expand Down Expand Up @@ -147,5 +147,4 @@ public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos,
MainRegistry.proxy.effectNT(data);
}
}

}
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/blocks/gas/BlockGasCoal.java
Expand Up @@ -50,7 +50,7 @@ public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
@Override
public void updateTick(World world, BlockPos pos, IBlockState state, Random rand) {

if(!world.isRemote && (!GeneralConfig.enableCoal || rand.nextInt(12) == 0)) {
if(!world.isRemote && (!GeneralConfig.enableCoal || rand.nextInt(4) == 0)) {
world.setBlockToAir(pos);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/blocks/gas/BlockGasRadon.java
Expand Up @@ -54,7 +54,7 @@ public ForgeDirection getSecondDirection(World world, int x, int y, int z) {

@Override
public void updateTick(World world, BlockPos pos, IBlockState state, Random rand){
if(!world.isRemote && rand.nextInt(50) == 0) {
if(!world.isRemote && rand.nextInt(20) == 0) {
world.setBlockToAir(pos);
return;
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/hbm/blocks/gas/BlockGasRadonDense.java
Expand Up @@ -71,12 +71,12 @@ public ForgeDirection getSecondDirection(World world, int x, int y, int z) {
public void updateTick(World world, BlockPos pos, IBlockState state, Random rand){
if(!world.isRemote) {

if(rand.nextInt(20) == 0) {
if(rand.nextInt(10) == 0) {
if(world.getBlockState(pos.down()).getBlock() == Blocks.GRASS)
world.setBlockState(pos.down(), ModBlocks.waste_earth.getDefaultState());
}

if(rand.nextInt(30) == 0) {
if(rand.nextInt(20) == 0) {
world.setBlockToAir(pos);

if(ModBlocks.fallout.canPlaceBlockAt(world, pos)) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/blocks/generic/BarbedWire.java
Expand Up @@ -73,7 +73,7 @@ public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState s
}

if(this == ModBlocks.barbed_wire_wither) {
ent.attackEntityFrom(DamageSource.CACTUS, 2.0F);
ent.attackEntityFrom(DamageSource.CACTUS, 3.0F);

if(ent instanceof EntityLivingBase)
((EntityLivingBase)ent).addPotionEffect(new PotionEffect(MobEffects.WITHER, 5 * 20, 4));
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/com/hbm/blocks/generic/BlockCluster.java
Expand Up @@ -26,7 +26,7 @@ public BlockCluster(Material mat, String s) {
super(mat);
this.setUnlocalizedName(s);
this.setRegistryName(s);
this.setHarvestLevel("pickaxe", 3);
this.setHarvestLevel("pickaxe", 1);

ModBlocks.ALL_BLOCKS.add(this);
}
Expand Down Expand Up @@ -68,6 +68,8 @@ private Item getDrop() {
return ModItems.crystal_titanium;
if(this == ModBlocks.cluster_aluminium)
return ModItems.crystal_aluminium;
if(this == ModBlocks.cluster_copper)
return ModItems.crystal_copper;
if(this == ModBlocks.basalt_gem)
return ModItems.gem_volcanic;

Expand Down
19 changes: 11 additions & 8 deletions src/main/java/com/hbm/blocks/generic/BlockGoldSand.java
Expand Up @@ -9,6 +9,8 @@

import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.EnumHand;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.DamageSource;
Expand All @@ -25,14 +27,15 @@ public BlockGoldSand(Material m, String s, SoundType type){
}

@Override
public void onEntityWalk(World worldIn, BlockPos pos, Entity entityIn){
if(entityIn instanceof EntityLivingBase) {
entityIn.attackEntityFrom(DamageSource.IN_FIRE, 2F);

if(this == ModBlocks.sand_gold198) {
HbmLivingProps.addCont((EntityLivingBase)entityIn, new ContaminationEffect(5F, 300, false));
}
}
public void onEntityWalk(World worldIn, BlockPos pos, Entity entity) {
if(entity instanceof EntityLivingBase)
this.module.applyEffects((EntityLivingBase)entity, 0.5F, 0, false, EnumHand.MAIN_HAND);
}

@Override
public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entity){
if(entity instanceof EntityLivingBase)
this.module.applyEffects((EntityLivingBase)entity, 0.5F, 0, false, EnumHand.MAIN_HAND);
}

@Override
Expand Down

0 comments on commit 81b6a20

Please sign in to comment.