Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Posts

  • Joined

  • Last visited

  • Days Won


Sinhika last won the day on July 4 2019

Sinhika had the most liked content!


  • Gender
  • URL
  • Personal Text
    I may be new HERE, but I'm old everywhere else.

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Sinhika's Achievements

Stone Miner

Stone Miner (3/8)



  1. I'm trying to get in contact with Wuppy29 to discuss one of his old mods, but the email addresses attached to his old website have garnered no response. I'm trying leaving an open issue on his GitHub, but nothing there has changed for 6 years, so I'm doubtful of a response. So, does anyone have a current contact for Wuppy29?
  2. No, they don't pay me enough to do that. And if its for a private server or small modpack, I suppose just replacing the loot table would work okay. If it's for a mod to be released to the wilds of CurseForge.... oy.
  3. Draco18s, you wrote the GlobalLootModifier code in Forge that solves this exact problem! Why are you recommending the bad vanilla solution? Replacing a vanilla loot table with one of your own breaks compatibility with any other mod that wants to tinker with the same loot table. We had that issue with mod shears and leaf blocks, remember?
  4. That does appear to have been the problem! Going on to test with some further refinements. Thank you.
  5. After explanations from Draco18s (which, with his permission, I have documented for future use here: How to use Global Loot Modifiers ), I have tried to implement a loot_modifier that looks for the modded shears items defined in my SimpleOres mod, and then regenerates the loot table as if they were silk touch items (or real minecraft:shears, I have tried both). The goal is to implement modded shears in a other-mod-friendly fashion; overriding vanilla loot tables, the only way I was able to do it previously, is extremely unfriendly to other mods. The mod source code in question is here: https://github.com/Sinhika/SimpleOres2 The loot modifier stuff is in https://github.com/Sinhika/SimpleOres2/blob/1.15/src/main/java/mod/alexndr/simpleores/helpers/SimpleOresLootModifiers.java (Don't want to clutter up this post with lots of source code). It is registered (along with everything else) in https://github.com/Sinhika/SimpleOres2/blob/1.15/src/main/java/mod/alexndr/simpleores/ModEventSubscriber.java I've cut down the loot_modifier/mod_shears_harvest.json to a minimal test case, like so: { "conditions": [ { "condition": "minecraft:match_tool", "predicate": { "item": "simpleores:copper_shears" } } ] } Based on the logs, or lack thereof, the function is being registered, but isn't being called when it ought to be. Can anyone see any reason why, when I whack a leaf block with the copper shears, the loot modifier function isn't being called?
  6. Still need some good explanations and/or working examples. Both are preferred.
  7. Can someone recommend a tutorial or good technical how-to on how to properly implement fluid containers in Forge mods these days? I understand the fluid subsystem has undergone a major overhaul since 1.12.2.
  8. Is there a minecraftforge discord server, or is the old #minecraftforge IRC chat still alive? Where do devs gather to talk modding issues these days?
  9. The wonder of open source code is that you can freely copy and modify it, though I will note that most licenses, like my LGPL-3.0 licensed code, do require attribution. The problem of open source code is that you can freely copy and implement other people's mistakes. The above code is incorrect, and will only generate ore in vanilla biomes, as I finally figured out after bug reports from users. Iterate over the Forge biome register, NOT the vanilla BiomeManager. For example, if you have an ore that should generate in all overworld-type biomes, code like this works: public class OreGeneration { // Vein/Chunk Count, MinHeight, MaxHeightBase, MaxHeight private static final CountRangeConfig copper_cfg = new CountRangeConfig(15, 40, 0, 128); private static final int copper_veinsize = 7; public static void setupOreGen() { for (Biome biome: ForgeRegistries.BIOMES.getValues()) { // we have no End or Nether ores, so skip those. if ( biome.getCategory() == Biome.Category.THEEND || biome.getCategory() == Biome.Category.NETHER) { continue; } // Overworld-type Ore generation if (SimpleOresConfig.enableCopperOre) { biome.addFeature( GenerationStage.Decoration.UNDERGROUND_ORES, Biome.createDecoratedFeature(Feature.ORE, new OreFeatureConfig( OreFeatureConfig.FillerBlockType.NATURAL_STONE, ModBlocks.copper_ore.getDefaultState(), copper_veinsize), Placement.COUNT_RANGE, copper_cfg)); } // end if copper_ore } // end for biomes } // end setupOreGen() } // end class This is, of course, a very stripped-down example. The full mod is here, for those that want to study the code: https://github.com/Sinhika/SimpleOres2
  10. LivingHurtEvent does not appear to be working. However, LIvingAttackEvent does work for apparently everything LivingHurtEvent should have covered. Also, it is important to pay attention to the parameters on Annotations, such as "receiveCanceled=true".
  11. I am implementing a custom armor that prevents fall damage when full suit is worn. To do so, I am trying to catch the LivingHurtEvent and cancel it if the DamageSource is FALL and the right armor is being worn by the player. HOWEVER... I can't seem to get the event to fire no matter what bus I subscribe to. Is the event actually implemented in the current version of Forge? It is documented in the source. Also, how do you tell which bus (MOD or FORGE) a given event is sent out on? Source code at https://github.com/Sinhika/Netherrocks , branch 1.14.
  12. Apparently poking the Hand is more effective. Forge builds 27.0.26 and up now have it.
  13. I quite agree. We used to be able to just call setHarvestLevel(), but that went away for no explicable reason.
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.