This commit is contained in:
Boblet 2025-07-02 16:50:20 +02:00
parent c55c8c5da1
commit 3da96091da
7 changed files with 38 additions and 37 deletions

View File

@ -1,14 +1,7 @@
## Added
* Steel trapdoor
* When open with a ladder below it, it too will act like a ladder
## Changed
* Updated chinese localization
* Improved performance for many nodespace operations
* .35 can now use a new ammo type
* Balefire mini nukes are now craftable
* The chemistry achievement now requires the new chemical plant
* The new chemical plant can now be used to upgrade the meteorite sword
## Fixed
* Fixed chemical plant recipe config defaulting to an output chance of 0%
* Potentially fixed an issue where chunks aren't properly force loaded when a nuclear explosion spawns, causing missiles to not work most of the time
* Fixed taint-tipped missile not correctly spawning taint most of the time
* Fixed crash caused by breaking a tool while the fortune or silk touch ability is enabled
* Fixed NTM adding mob spawns to the mushroom island

View File

@ -31,6 +31,7 @@ import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
import net.minecraft.world.biome.BiomeGenMushroomIsland;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.common.BiomeDictionary.Type;
@ -279,6 +280,7 @@ public class EntityMappings {
for(BiomeGenBase biome : biomes) {
if(biome == null) continue;
if(biome instanceof BiomeGenMushroomIsland) continue;
List<SpawnListEntry> spawns = biome.getSpawnableList(typeOfCreature);

View File

@ -88,7 +88,7 @@ public interface IToolHarvestAbility extends IBaseAbility {
// Even if can be forced somehow, the player doesn't gain any
// benefit from it.
ItemStack stack = player.getHeldItem();
EnchantmentUtil.removeEnchantment(stack, Enchantment.silkTouch);
if(stack != null) EnchantmentUtil.removeEnchantment(stack, Enchantment.silkTouch);
}
};
@ -133,7 +133,7 @@ public interface IToolHarvestAbility extends IBaseAbility {
// Even if can be forced somehow, the player doesn't gain any
// benefit from it.
ItemStack stack = player.getHeldItem();
EnchantmentUtil.removeEnchantment(stack, Enchantment.fortune);
if(stack != null) EnchantmentUtil.removeEnchantment(stack, Enchantment.fortune);
}
};

View File

@ -27,32 +27,32 @@ public class ToolPreset {
this.harvestAbilityLevel = harvestAbilityLevel;
}
public ChatComponentText getMessage() {
if (isNone()) {
return ChatBuilder.start("[Tool ability deactivated]").color(EnumChatFormatting.GOLD).flush();
}
public ChatComponentText getMessage() {
if(isNone()) {
return ChatBuilder.start("[Tool ability deactivated]").color(EnumChatFormatting.GOLD).flush();
}
boolean hasArea = areaAbility != IToolAreaAbility.NONE;
boolean hasHarvest = harvestAbility != IToolHarvestAbility.NONE;
ChatBuilder builder = ChatBuilder.start("[Enabled ");
boolean hasArea = areaAbility != IToolAreaAbility.NONE;
boolean hasHarvest = harvestAbility != IToolHarvestAbility.NONE;
if (hasArea) {
builder.nextTranslation(areaAbility.getName());
builder.next(areaAbility.getExtension(areaAbilityLevel));
}
ChatBuilder builder = ChatBuilder.start("[Enabled ");
if (hasArea && hasHarvest) {
builder.next(" + ");
}
if(hasArea) {
builder.nextTranslation(areaAbility.getName());
builder.next(areaAbility.getExtension(areaAbilityLevel));
}
if (hasHarvest) {
builder.nextTranslation(harvestAbility.getName());
builder.next(harvestAbility.getExtension(harvestAbilityLevel));
}
return builder.colorAll(EnumChatFormatting.YELLOW).flush();
}
if(hasArea && hasHarvest) {
builder.next(" + ");
}
if(hasHarvest) {
builder.nextTranslation(harvestAbility.getName());
builder.next(harvestAbility.getExtension(harvestAbilityLevel));
}
return builder.colorAll(EnumChatFormatting.YELLOW).flush();
}
public boolean isNone() {
return areaAbility == IToolAreaAbility.NONE && harvestAbility == IToolHarvestAbility.NONE;

View File

@ -717,7 +717,7 @@ public class MainRegistry {
achBlastFurnace = new Achievement("achievement.blastFurnace", "blastFurnace", 1, 3, new ItemStack(ModBlocks.machine_difurnace_off), achBurnerPress).initIndependentStat().registerStat();
achAssembly = new Achievement("achievement.assembly", "assembly", 3, -1, new ItemStack(ModBlocks.machine_assembler), achBurnerPress).initIndependentStat().registerStat();
achSelenium = new Achievement("achievement.selenium", "selenium", 3, 2, ModItems.ingot_starmetal, achBurnerPress).initIndependentStat().setSpecial().registerStat();
achChemplant = new Achievement("achievement.chemplant", "chemplant", 6, -1, new ItemStack(ModBlocks.machine_chemplant), achAssembly).initIndependentStat().registerStat();
achChemplant = new Achievement("achievement.chemplant", "chemplant", 6, -1, new ItemStack(ModBlocks.machine_chemical_plant), achAssembly).initIndependentStat().registerStat();
achConcrete = new Achievement("achievement.concrete", "concrete", 6, -4, new ItemStack(ModBlocks.concrete), achChemplant).initIndependentStat().registerStat();
achPolymer = new Achievement("achievement.polymer", "polymer", 9, -1, ModItems.ingot_polymer, achChemplant).initIndependentStat().registerStat();
achDesh = new Achievement("achievement.desh", "desh", 9, 2, ModItems.ingot_desh, achChemplant).initIndependentStat().registerStat();

View File

@ -10,6 +10,7 @@ import com.hbm.inventory.container.ContainerMachineChemicalPlant;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMachineChemicalPlant;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemMachineUpgrade;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
import com.hbm.lib.Library;
@ -113,6 +114,11 @@ public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implem
this.didProcess = this.chemplantModule.didProcess;
if(this.chemplantModule.markDirty) this.markDirty();
if(didProcess) {
if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_machined)
slots[0] = new ItemStack(ModItems.meteorite_sword_treated);
}
this.networkPackNT(100);
} else {

View File

@ -20,7 +20,7 @@ public class AchievementHandler {
craftingAchievements.put(new ComparableStack(ModItems.battery_potatos), MainRegistry.achPotato);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_press), MainRegistry.achBurnerPress);
craftingAchievements.put(new ComparableStack(ModItems.rbmk_fuel_empty), MainRegistry.achRBMK);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_chemplant), MainRegistry.achChemplant);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_chemical_plant), MainRegistry.achChemplant);
craftingAchievements.put(new ComparableStack(ModBlocks.concrete_smooth), MainRegistry.achConcrete);
craftingAchievements.put(new ComparableStack(ModBlocks.concrete_asbestos), MainRegistry.achConcrete);
craftingAchievements.put(new ComparableStack(ModItems.ingot_polymer), MainRegistry.achPolymer);