From 041601b649d06631dda897bccae9fca40d3b4bce Mon Sep 17 00:00:00 2001 From: illuc Date: Sun, 1 Mar 2026 15:28:14 +0200 Subject: [PATCH 1/4] Remove health modifier --- .../illuc/neuralgiacore/NeuralgiaCoreMod.java | 29 +++++++++++++++++++ .../mixin/Tfc/MixinDisableHealthModifier.java | 15 ++++++++++ src/main/resources/neuralgiacore.mixins.json | 1 + 3 files changed, 45 insertions(+) create mode 100644 src/main/java/xyz/illuc/neuralgiacore/mixin/Tfc/MixinDisableHealthModifier.java diff --git a/src/main/java/xyz/illuc/neuralgiacore/NeuralgiaCoreMod.java b/src/main/java/xyz/illuc/neuralgiacore/NeuralgiaCoreMod.java index e6c700b..9f57a07 100644 --- a/src/main/java/xyz/illuc/neuralgiacore/NeuralgiaCoreMod.java +++ b/src/main/java/xyz/illuc/neuralgiacore/NeuralgiaCoreMod.java @@ -8,6 +8,7 @@ import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -27,6 +28,7 @@ import org.slf4j.Logger; import xyz.illuc.neuralgiacore.entities.OfflinePlayerEntity; import xyz.illuc.neuralgiacore.entities.OfflinePlayerRenderer; import xyz.illuc.neuralgiacore.peripherals.BearingPeripheral; +//import xyz.illuc.neuralgiacore.peripherals.GunPeripheral; import xyz.illuc.neuralgiacore.registers.RegisterItems; import xyz.illuc.neuralgiacore.registers.RegisterMedicalFluids; @@ -74,12 +76,15 @@ public class NeuralgiaCoreMod { event.enqueueWork(this::registerPeripherals); } + //TODO move peripheral stuff in a different file private void registerPeripherals() { registerBearingPeripheral("mechanical_bearing"); registerBearingPeripheral("clockwork_bearing"); registerBearingPeripheral("windmill_bearing"); + + registerGunPeripheral("machine_gun"); } private void registerBearingPeripheral(String blockEntityName) { @@ -109,6 +114,30 @@ public class NeuralgiaCoreMod { } } + private void registerGunPeripheral(String blockEntityName) { + BlockEntityType type = ForgeRegistries.BLOCK_ENTITY_TYPES.getValue( + new ResourceLocation("crusty_chunks", blockEntityName) + ); + + if (type != null) { + ForgeComputerCraftAPI.registerPeripheralProvider((level, pos, direction) -> { + var blockEntity = level.getBlockEntity(pos); + if (blockEntity != null && blockEntity.getType() == type) { + try { + //TODO gun peripheral + } catch (ClassCastException e) { + LOGGER.error("Failed to create peripheral at {}", pos); + return null; + } + } + return null; + }); + LOGGER.debug("Registered peripheral for {}", blockEntityName); + } else { + LOGGER.warn("Could not find block entity type: crusty_chunks:{}", blockEntityName); + } + } + diff --git a/src/main/java/xyz/illuc/neuralgiacore/mixin/Tfc/MixinDisableHealthModifier.java b/src/main/java/xyz/illuc/neuralgiacore/mixin/Tfc/MixinDisableHealthModifier.java new file mode 100644 index 0000000..c9e9301 --- /dev/null +++ b/src/main/java/xyz/illuc/neuralgiacore/mixin/Tfc/MixinDisableHealthModifier.java @@ -0,0 +1,15 @@ +package xyz.illuc.neuralgiacore.mixin.Tfc; + +import net.dries007.tfc.common.capabilities.food.TFCFoodData; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(TFCFoodData.class) +public class MixinDisableHealthModifier { + @Inject(method = "getHealthModifier", at = @At("HEAD"), cancellable = true, remap = false) + private void disableHealthModifier(CallbackInfoReturnable cir) { + cir.setReturnValue(1f); + } +} diff --git a/src/main/resources/neuralgiacore.mixins.json b/src/main/resources/neuralgiacore.mixins.json index 7ac77f8..6ba9988 100644 --- a/src/main/resources/neuralgiacore.mixins.json +++ b/src/main/resources/neuralgiacore.mixins.json @@ -15,6 +15,7 @@ "PrototypePain.MixinSepsis", "PrototypePain.MixinSickness", "PrototypePain.MixinSicknessOverlay", + "Tfc.MixinDisableHealthModifier", "Tfc.MixinFoodData", "Tfc.MixinHealthBar", "Tfc.MixinOptimizeClimateUpdate", From 9f1718e8e7ae66d2db3f084ca6d6bd8d9f93bf48 Mon Sep 17 00:00:00 2001 From: illuc Date: Sun, 1 Mar 2026 15:32:20 +0200 Subject: [PATCH 2/4] Made sickness a bit more lenient --- .../java/xyz/illuc/neuralgiacore/mixin/Tfc/MixinFoodData.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/xyz/illuc/neuralgiacore/mixin/Tfc/MixinFoodData.java b/src/main/java/xyz/illuc/neuralgiacore/mixin/Tfc/MixinFoodData.java index bf0ed5a..5a29c5e 100644 --- a/src/main/java/xyz/illuc/neuralgiacore/mixin/Tfc/MixinFoodData.java +++ b/src/main/java/xyz/illuc/neuralgiacore/mixin/Tfc/MixinFoodData.java @@ -106,7 +106,7 @@ public class MixinFoodData { if (totalSicknessToAdd > 0) { totalSicknessToAdd = Math.min(totalSicknessToAdd, 10.0f); - float finalSicknessToAdd = totalSicknessToAdd; + float finalSicknessToAdd = totalSicknessToAdd * 0.8f; this.sourcePlayer.getCapability(PlayerHealthProvider.PLAYER_HEALTH_DATA).ifPresent(h -> { IPlayerHealthDataAccessor accessor = (IPlayerHealthDataAccessor) h; float currentSickness = accessor.getSickness(); From 984e0fe4529a980f457e588e09867e62485e6894 Mon Sep 17 00:00:00 2001 From: illuc Date: Sun, 1 Mar 2026 15:42:08 +0200 Subject: [PATCH 3/4] placeholder towelette texture --- .../neuralgiacore/textures/item/towelette.png | Bin 915 -> 449 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/assets/neuralgiacore/textures/item/towelette.png b/src/main/resources/assets/neuralgiacore/textures/item/towelette.png index 549921851b9cf334f6e73acbeb6e85c902238d36..acacd6f67f2f8da61f8103954c2b437bc2400465 100644 GIT binary patch delta 424 zcmbQtevo;Bay!lvNA9*C?tCX`7$t6sWC7# zv@kIIVqjosc)`F>YQVtoDuIE)Y6b&?c)^@qfi?^b3~Wi>?k)`fL2$v|<&zm07&r?& zB8wRqxP?KOkzv*x2?hoR_7YEDSN2!TjJ%q9BJuToZ43;Ite!58Ar`04PBzRt zpZSQ>L|x0)WDoyN3sM>=!-#4@=3b`%M#sot4-?7FuK}P zc7MM8;@Af#3vR`n`Zn`f%`ekZIiVBZX7(NO$O=m7+_R9b^TV0qU4 z_3oap?@|L98T^jRJb%qP`|72aOb&CFRM|*IZs43{peb}CN-28PZPVve~yY+y0SgIG%X=*_mE{OTQq�!cU7vAX~@m!UC?qA^_ arpmx6dzJ3)*ucQRz~JfX=d#Wzp$PyEwW*>2 delta 867 zcmX@eJehrhay?^nrn7T^r?ay{K~a8MW=<*tgT}<#iMAex9b}Hi2fJPrW49J5JP|PW z%_60~tz51v1hQJgWPSAhHmUJ?c6Bd)5LNIYdE=`GkJhYiUai1U*RX@zuS+lJ(f>(K z-4gtLzdyda_xPQxg2`&1%~e7T%WkKsO%*Br8M^VkXmf{Bk43%9%*bPNRF*!p-uF)M z!Ry#L=|AWHE^fKnbhM$tV@^U_rf|N%`J7v9&ubrXXrI>lX!)_lQ(UF)$*xBqrJqka z&2+wJ#?3P}g)I>}r5i6DU6Ye_8KCV?8R<7qN398pg$*_O_S&Y76J|8!pHf&oGsF{`*E@l)A$Q$sL!h|3wMU_^Yz_;>9HQ0~gE+3h!Q=V*8+o zy~9p&ljiQA3CjX>nBJ#<@vThwAtn*=xhnhp<1dUSg2G=)KX@P@p&$5d*ZJMQm3CME z{_eATzx<7jMd$U{I36-EFt8L&cZWwIN)daR6!#ZPq~8N)_nz7O0S((QbD0eXhh??^7z zv6yg8D4}SB_xpYI>)&5~|N8bJdH0;y4Ntc{`&Pdxq=hEsiN^Pql+j9{#H={#@Pr?UAqRX68se)!y?k zgEMJ+@JcJ~sYe)>OlWaz`I~!q&%+LbjtNddE3IVa&pR7_&fzDQ=8~25E?k`=LirX> zT%Dgp*WF%x_hrzDr@Sf)8LKApZaNy|vBJss&EgtY)^;a7dw-r^av}BAn;fl{r!S8& zTG!&}Qhh7+_0N^XTXnmp&zCn|_G)g3Ri?wrk|IU6Z(6%+>dzM3m9su-b1Hn#o_)IK z9<00B(Yst&S>}svaARNga=w1PYi98(yoGn=9=|-&Q5v&*k^YTi+Y_QouIJ3y^X>k+ g6X*Wl|G~&^cj Date: Sun, 1 Mar 2026 15:51:16 +0200 Subject: [PATCH 4/4] Language --- .../resources/assets/neuralgiacore/lang/en_us.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/resources/assets/neuralgiacore/lang/en_us.json b/src/main/resources/assets/neuralgiacore/lang/en_us.json index e29a216..da80ccb 100644 --- a/src/main/resources/assets/neuralgiacore/lang/en_us.json +++ b/src/main/resources/assets/neuralgiacore/lang/en_us.json @@ -18,6 +18,19 @@ "neuralgiacore.gui.moodle.sepsis.description3": "Critically low blood pressure and multiple organ dysfunction syndrome caused by sepsis. Death is fast approaching.", + "neuralgiacore.gui.moodle.sickness.title1": "Queasy", + "neuralgiacore.gui.moodle.sickness.description1": "Feeling discomfort. Minorly sick.", + + "neuralgiacore.gui.moodle.sickness.title2": "Nauseous", + "neuralgiacore.gui.moodle.sickness.description2": "Confused, uncomfortable around the stomach. Prone to vomiting.", + + "neuralgiacore.gui.moodle.sickness.title3": "Sick", + "neuralgiacore.gui.moodle.sickness.description3": "Lethargic, tired and in major discomfort. Very prone to vomiting.", + + "neuralgiacore.gui.moodle.sickness.title4": "Grossly sick", + "neuralgiacore.gui.moodle.sickness.description4": "Dangerously sick. Something is VERY wrong on the inside. Weak, confused and in a world of pain.", + + "medical_fluid.neuralgiacore.blood": "Blood", "medical_fluid.neuralgiacore.blood.description": "Blood, used in blood transfusions.",