shiiiit fuck. gooood damn

This commit is contained in:
Boblet 2026-04-14 15:46:34 +02:00
parent db43064ee2
commit cd82e6f159
5 changed files with 24 additions and 5 deletions

View File

@ -1,3 +1,7 @@
## Changed
* All RoR panels now have basic item descriptions informing about the screwdriver requirement for configuration
## Fixed ## Fixed
* Fixed the grenade crafting handler not checking if a shell/filling combination is even valid, allowing weird combos * Fixed the grenade crafting handler not checking if a shell/filling combination is even valid, allowing weird combos
* Fixed dispenser fired laser grenades crashing the game * Fixed dispenser fired laser grenades crashing the game
* Fixed schrabidium grenade being obscenely powerful for no reason

View File

@ -1,7 +1,10 @@
package com.hbm.blocks.machine.rbmk; package com.hbm.blocks.machine.rbmk;
import java.util.List;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.render.block.ISBRHUniversal; import com.hbm.render.block.ISBRHUniversal;
import com.hbm.render.util.RenderBlocksNT; import com.hbm.render.util.RenderBlocksNT;
@ -14,13 +17,14 @@ import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
public class RBMKMiniPanelBase extends BlockContainer implements ISBRHUniversal { public class RBMKMiniPanelBase extends BlockContainer implements ISBRHUniversal, ITooltipProvider {
public RBMKMiniPanelBase() { public RBMKMiniPanelBase() {
super(Material.iron); super(Material.iron);
@ -92,4 +96,9 @@ public class RBMKMiniPanelBase extends BlockContainer implements ISBRHUniversal
return true; return true;
} }
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
this.addStandardInfo(stack, player, list, ext);
}
} }

View File

@ -21,7 +21,7 @@ public class GrenadeCraftingHandler implements IRecipe {
if(hasForeignObject(inv)) return false; // can't be non-grenade items and can't be more than 4 items total if(hasForeignObject(inv)) return false; // can't be non-grenade items and can't be more than 4 items total
EnumGrenadeShell shell = getFirst(inv, ModItems.grenade_shell, EnumGrenadeShell.class); // only one shell, null otherwise EnumGrenadeShell shell = getFirst(inv, ModItems.grenade_shell, EnumGrenadeShell.class); // only one shell, null otherwise
EnumGrenadeFilling filling = getFirst(inv, ModItems.grenade_filling, EnumGrenadeFilling.class); // only one filling, null otherwise EnumGrenadeFilling filling = getFirst(inv, ModItems.grenade_filling, EnumGrenadeFilling.class); // only one filling, null otherwise
if(!filling.compatibleShells.contains(shell)) return false; if(filling != null && shell != null && !filling.compatibleShells.contains(shell)) return false;
EnumGrenadeFuze fuze = getFirst(inv, ModItems.grenade_fuze, EnumGrenadeFuze.class); // only one fuze, null otherwise EnumGrenadeFuze fuze = getFirst(inv, ModItems.grenade_fuze, EnumGrenadeFuze.class); // only one fuze, null otherwise
// this leaves the extra unaccounted for, but the restrictions we put in place will allow exactly one without dedicated check // this leaves the extra unaccounted for, but the restrictions we put in place will allow exactly one without dedicated check
return shell != null && filling != null && fuze != null; return shell != null && filling != null && fuze != null;

View File

@ -223,11 +223,11 @@ public class ItemGrenadeFilling extends ItemEnumMulti {
}; };
public static Consumer<EntityGrenadeUniversal> EXPLODE_SCHRAB = (grenade) -> { public static Consumer<EntityGrenadeUniversal> EXPLODE_SCHRAB = (grenade) -> {
EntityNukeExplosionMK3 ex = EntityNukeExplosionMK3.statFacFleija(grenade.worldObj, grenade.posX, grenade.posY, grenade.posZ, 50); EntityNukeExplosionMK3 ex = EntityNukeExplosionMK3.statFacFleija(grenade.worldObj, grenade.posX, grenade.posY, grenade.posZ, 20);
if(!ex.isDead) { if(!ex.isDead) {
grenade.worldObj.playSoundEffect(grenade.posX, grenade.posY, grenade.posZ, "random.explode", 100.0F, grenade.worldObj.rand.nextFloat() * 0.1F + 0.9F); grenade.worldObj.playSoundEffect(grenade.posX, grenade.posY, grenade.posZ, "random.explode", 100.0F, grenade.worldObj.rand.nextFloat() * 0.1F + 0.9F);
grenade.worldObj.spawnEntityInWorld(ex); grenade.worldObj.spawnEntityInWorld(ex);
EntityCloudFleija cloud = new EntityCloudFleija(grenade.worldObj, 50); EntityCloudFleija cloud = new EntityCloudFleija(grenade.worldObj, 20);
cloud.setPosition(grenade.posX, grenade.posY, grenade.posZ); cloud.setPosition(grenade.posX, grenade.posY, grenade.posZ);
grenade.worldObj.spawnEntityInWorld(cloud); grenade.worldObj.spawnEntityInWorld(cloud);
} }

View File

@ -6158,15 +6158,21 @@ tile.rbmk_control_reasim.name=RBMK Control Rods (ReaSim)
tile.rbmk_control_reasim_auto.name=RBMK Automatic Control Rods (ReaSim) tile.rbmk_control_reasim_auto.name=RBMK Automatic Control Rods (ReaSim)
tile.rbmk_crane_console.name=RBMK Crane Console tile.rbmk_crane_console.name=RBMK Crane Console
tile.rbmk_display.name=RBMK Display Panel tile.rbmk_display.name=RBMK Display Panel
tile.rbmk_display.desc=Can be linked with the RBMK console linking device.$Shows a 7x7 segment of the RBMK.$View can be rotated with a screwdriver.
tile.rbmk_display_blank.name=Blank Redstone-over-Radio Panel tile.rbmk_display_blank.name=Blank Redstone-over-Radio Panel
tile.rbmk_display_blank.desc=Cheap panel for extending RoR control panels.
tile.rbmk_gauge.name=Redstone-over-Radio Gauge tile.rbmk_gauge.name=Redstone-over-Radio Gauge
tile.rbmk_gauge.desc=Can be configured with a screwdriver.$Displays up to four numeric values from different$RoR signal sources.
tile.rbmk_graph.name=Redstone-over-Radio Graph tile.rbmk_graph.name=Redstone-over-Radio Graph
tile.rbmk_graph.desc=Can be configured with a screwdriver.$Logs and displays up to two numeric values$from different RoR signal sources.
tile.rbmk_heater.name=RBMK Fluid Heater tile.rbmk_heater.name=RBMK Fluid Heater
tile.rbmk_key_pad.name=Redstone-over-Radio Keypad tile.rbmk_key_pad.name=Redstone-over-Radio Keypad
tile.rbmk_key_pad.desc=Can be configured with a screwdriver.$Allows up to four different buttons which can$send RoR signals when pressed.
tile.rbmk_loader.name=RBMK Steam Connector tile.rbmk_loader.name=RBMK Steam Connector
tile.rbmk_loader.desc=Allows RBMKs to have both water and steam connections at the bottom$Place one water pipe below the RBMK column, then the connector,$then connect the steam duct to the connector. tile.rbmk_loader.desc=Allows RBMKs to have both water and steam connections at the bottom$Place one water pipe below the RBMK column, then the connector,$then connect the steam duct to the connector.
tile.rbmk_moderator.name=RBMK Graphite Moderator tile.rbmk_moderator.name=RBMK Graphite Moderator
tile.rbmk_numitron.name=Redstone-over-Radio Numeric Display tile.rbmk_numitron.name=Redstone-over-Radio Numeric Display
tile.rbmk_numitron.desc=Can be configured with a screwdriver.$Displays up to two numeric values$from different RoR signal sources.
tile.rbmk_outgasser.name=RBMK Irradiation Channel tile.rbmk_outgasser.name=RBMK Irradiation Channel
tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector
tile.rbmk_rod.name=RBMK Fuel Channel tile.rbmk_rod.name=RBMK Fuel Channel