Jump to content

Heat source dictionary


StevenNeiman

Recommended Posts

In a number of mods, there are blocks that require being placed above a block that produces heat, such as the Thaumcraft crucible or the Witchery brew kettle, but vanilla only has two reliable block sources of heat, lava and burning Netherrack, both of which have the inconvenient tendency to set anything around them on fire. Thaumcraft Nitor, and presumably other mod blocks produce heat, but as they are they can only work with things in the same mod that require heat. I think that there should be a dictionary for blocks that produce heat, so that these things can be done more easily.

Link to comment
Share on other sites

What is 'heat'

What direction does it go?

What range does it have?

etc..

etc..

etc..

 

This is not a 'Dictionary' thing, we can't just add something arbitrarily like that.

We would have to fully define what 'heat' is and how to use and describe it.

Your 'suggestion' needs to be more fleshed out.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Heat would work similarly to light, it would decrease depending on distance travelled, and certain blocks would decrease it more than others (based on hardness and material) the numbers need to be worked on, and there would have to be some agreement between modders, but the idea itself would be useful

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

I'd be more worried about the extra CPU load... updating another source set would bring many computers to their knees... Maybe a heat mod/api is feasible but forcing it on the community by incorporating it with forge will just be damaging

I think its my java of the variables.

Link to comment
Share on other sites

I would imagine any calculation would be done when the heat level is checked, so if no mod uses it no processing is done. Not quite the same as light. However if it was implemented alongside light it wpuld allow for a better implementation of ice melting. (Based on heat level as opposed to light level) and wouldnt need to constantly check heat level

Link to comment
Share on other sites

I see this a bit far out of forge's intended reach as what can be used as heat is only done in a small collection of mods, it would make more sense for forge to support a macerator dictionary than this and even that sounds crazy. Also there would have to be some heat variable implemented and all the mods that use heat would have to support it and not all may want to use it.

Link to comment
Share on other sites

The "not all may want to support it" argument is pointless, you could say exactly the same thing about forge itself. If they don't want to support it they won't, but what reason would they have not to? The macerator dictionary would be useful for a single (or maybe a couple of) blocks from a few mods. A heat dictionary would allow for better control and differentiation between light level and heat for melting blocks like ice.

It would also simplify mechanics such as factorizations furnace heater. And where is the logic in a standard torch being hot enough to heat a crucible but a furnace heater isn'?  This would become a compatibility layer, which makes forge the perfect place for it

Link to comment
Share on other sites

I'm not saying this is a bad idea but think of it this way, there are about 8 mods who use this and each uses it differently, the way it is used varies a moderate amount. It doesn't make sense to make an API (implemented in forge, a freestanding one is a different story) to support a varying underused system. There should be more time put into developing other things than this. If you want to take a crack at it I say it's worth a shot but I don't think at this time it makes sense for a forge developer to be doing this.

Link to comment
Share on other sites

No this will in any given scenario make forge have greater impact on system resources. What you recommend would either require a look-up table to be stored on heat values like the light values, which requires additional RAM to store it and a faster clock rate to keep the ticks up to par for updating the tables. Thereby decreasing the accessibility of Forge.

 

Or it'd be a parsing equation searching for heat sources which you may as well write your own since you'll  have to call for it to be run anyways.

 

Alternatively you could simply add a function into the block class such as 

public int getHeat(Object... params){
return 0;
}

Would be quite simple. But has absolutely no tie-ins to dispersion. Also would mean that you'd need to find a way to encourage modders to adopt and utilize a method that is not required.  And even if you do manage to catch a few peoples' attention with the little added snippet, you then have to question how to make everyone conform to a scale? Enter the Celsius v Fahrenheit arguments? Confuse the masses with Kelvin? Arbitrary numbers? After all that dumbing down of a good idea for a system, you're left with another value like brightness that'll repeatedly get abused the handful of times it is used....

 

It does not really seem to me like a feasible addition for Forge unless integration by vanilla minecraft forces... ahem... adaptation. Not because it won't get used often, which it won't, but because integration would be a nightmare.

I think its my java of the variables.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • What is that in my files?
    • Hi! I tried the above method, but it did not work. There's my function. The message appears in the chat, but the item is not added to the inventory. I can’t figure out what the problem is, so please help. @SubscribeEvent public void onJoin(EntityJoinLevelEvent event) { if (event.getEntity() instanceof Player && event.getEntity().getCommandSenderWorld().isClientSide) { Minecraft.getInstance().player.getInventory().add(new ItemStack(Items.CARROT)); Entity playerEntity = event.getEntity(); playerEntity.sendSystemMessage(Component.nullToEmpty("Hello!")); } }  
    • Hi guys ! New around here.So my problem is,I'm trying to play modded minecraft with my gf.We played on lan perfectly.But when we try to make a server for hamachi,It displays an error message.   [08Haz2023 18:30:33.491] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 43.2.8, --fml.mcVersion, 1.19.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220805.130853] [08Haz2023 18:30:33.497] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 19.0.1 by Oracle Corporation; OS Windows 10 arch amd64 version 10.0 [08Haz2023 18:30:33.798] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.onLoad [08Haz2023 18:30:33.799] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file URL: union:/C:/Users/user/Desktop/Yeni%20klasör/mods/OptiFine-OptiFine-1.19.2_HD_U_I1.jar%23118!/ [08Haz2023 18:30:33.848] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file: C:\Users\user\Desktop\Yeni klasör\mods\OptiFine-OptiFine-1.19.2_HD_U_I1.jar [08Haz2023 18:30:33.850] [main/INFO] [optifine.OptiFineTransformer/]: Target.PRE_CLASS is available [08Haz2023 18:30:33.916] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/user/Desktop/Yeni%20klasör/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2363!/ Service=ModLauncher Env=SERVER [08Haz2023 18:30:33.927] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.initialize [08Haz2023 18:30:34.282] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\user\Desktop\Yeni klasör\libraries\net\minecraftforge\fmlcore\1.19.2-43.2.8\fmlcore-1.19.2-43.2.8.jar is missing mods.toml file [08Haz2023 18:30:34.287] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\user\Desktop\Yeni klasör\libraries\net\minecraftforge\javafmllanguage\1.19.2-43.2.8\javafmllanguage-1.19.2-43.2.8.jar is missing mods.toml file [08Haz2023 18:30:34.291] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\user\Desktop\Yeni klasör\libraries\net\minecraftforge\lowcodelanguage\1.19.2-43.2.8\lowcodelanguage-1.19.2-43.2.8.jar is missing mods.toml file [08Haz2023 18:30:34.296] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\user\Desktop\Yeni klasör\libraries\net\minecraftforge\mclanguage\1.19.2-43.2.8\mclanguage-1.19.2-43.2.8.jar is missing mods.toml file [08Haz2023 18:30:34.386] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: No dependencies to load found. Skipping! [08Haz2023 18:30:35.056] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.transformers [08Haz2023 18:30:35.063] [main/INFO] [optifine.OptiFineTransformer/]: Targets: 386 [08Haz2023 18:30:35.557] [main/INFO] [optifine.OptiFineTransformationService/]: additionalClassesLocator: [optifine., net.optifine.] [08Haz2023 18:30:35.906] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [08Haz2023 18:30:35.953] [main/ERROR] [mixin/]: Mixin config rottencreatures-common.mixins.json does not specify "minVersion" property [08Haz2023 18:30:35.957] [main/ERROR] [mixin/]: Mixin config rottencreatures.mixins.json does not specify "minVersion" property [08Haz2023 18:30:36.099] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [org.tlauncher.MixinConnector] [08Haz2023 18:30:36.101] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeserver' with arguments [] [08Haz2023 18:30:36.122] [main/WARN] [mixin/]: Reference map '${refmap_target}refmap.json' for corgilib.forge.mixins.json could not be read. If this is a development environment you can ignore this message [08Haz2023 18:30:36.139] [main/WARN] [mixin/]: Reference map 'rottencreatures-forge-refmap.json' for rottencreatures.mixins.json could not be read. If this is a development environment you can ignore this message [08Haz2023 18:30:36.565] [main/ERROR] [net.minecraftforge.fml.loading.RuntimeDistCleaner/DISTXFORM]: Attempted to load class net/minecraft/client/gui/screens/Screen for invalid dist DEDICATED_SERVER [08Haz2023 18:30:36.566] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/gui/screens/TitleScreen (java.lang.RuntimeException: Attempted to load class net/minecraft/client/gui/screens/Screen for invalid dist DEDICATED_SERVER) [08Haz2023 18:30:36.566] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.gui.screens.TitleScreen was not found tlskincape-mixins.json:MixinMainMenu [08Haz2023 18:30:36.581] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/model/PlayerModel (java.lang.ClassNotFoundException: net.minecraft.client.model.PlayerModel) [08Haz2023 18:30:36.582] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.model.PlayerModel was not found tlskincape-mixins.json:MixinPlayerModel   that's from logs folder.
    • LivingAttackEvent is called inside the hurt function of LivingEntity. this means that whenever a living entity is attacked, forge will create an instance of new LivingAttackEvent and hand it to all subscribed functions 
    • ok after quitting and restarting I now get this crash report  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.