Jump to content

LogicTechCorp

Forge Modder
  • Posts

    260
  • Joined

  • Last visited

Everything posted by LogicTechCorp

  1. Here is a link to my code for the block: https://github.com/LogicTechCorp/NetherEx/blob/4250bea131f05f57c5eb626f2654978675370f1c/src/main/java/logictechcorp/netherex/block/BlockSoulGlass.java
  2. Hello, Is it possible to render entities partially invisible if they are seen behind a glass block? For example, this is what I am trying to achieve: If so, where should I start looking to figure it out?
  3. I have it all working correctly, but would like to know if there is something I am doing incorrectly. I decide to use a world capability that saves the necessary data for each chunk. When generating Nether chunks, I check to see if they contain a certain biome and if they do, I add them to a map which the world capability uses to store data about each chunk. I then tick the chunk data if the corresponding chunk is loaded. Here are the classes: Capability: https://github.com/MineEx/NetherEx/blob/243f2e00389e8b8ac024f80100e1bc2ce9b7b6bb/src/main/java/nex/capability/CapabilityBlightChunkData.java Tick Handler: https://github.com/MineEx/NetherEx/blob/243f2e00389e8b8ac024f80100e1bc2ce9b7b6bb/src/main/java/nex/handler/WorldHandler.java#L65-L76 Chunk Generator: https://github.com/MineEx/NetherEx/blob/243f2e00389e8b8ac024f80100e1bc2ce9b7b6bb/src/main/java/nex/world/gen/ChunkGeneratorNetherEx.java#L386-L409
  4. Hello. I want to create a biome that slowly spreads to surrounding biomes. What would be the best way to achieve this? Also, I want its placement based the locations of a biome in the Nether. For example, biome A is at 80 x and 800 z in the Nether and biome B is at 10 x and 100 z in the Overworld. How feasible would this be? I am already overriding the Nether to generate my own biomes and structures. I don't want the biome to generate naturally with other biomes, but I want it to appear as a few blocks that slowly spread out. Any help is appreciated.
  5. When creating a config using the Configuration class, I can provide a config version, but if I create an annotation based config there is no option to provide a config version. Is there something I am not seeing or do I just have to do it another way?
  6. Would using Chunk#getBlockStorageArray be a good way to find the part of the chunk that is mostly filled with Air?
  7. I was able to get Villages to spawn in the Nether by copying the original MapGenVillage class and making one adjustment. Everything works fine except for the fact that they have a tendency to spawn in walls. Instead of using World#getTopSolidOrLiquidBlock I created my own modified version. I know this is the reason why the Villages are spawning in walls but I am not sure on how to issue a fix. The only thing I can think of is trying to find a part of the chunk that is mostly air but I am unsure how. Relevant Classes: Modiefied getTopSolidOrLiquidBlock MapGenVillage StructureNetherVillage
  8. I ended up changing the abstract BiomeGenerator class into an interface which mod developers can implement. I also changed the how custom generators are registered. The registry now requires an instance of the custom generator. I use this instance to invoke the deserialize method that the interface provides. Updated classes if anyone is interested: Generator Interface: https://github.com/LogicTechCorp/NetherEx/blob/279a3f40294c5cb347a6ef308babfd2001272231/src/main/java/nex/api/world/gen/feature/IBiomeFeature.java#L27 Generator Registry: https://github.com/LogicTechCorp/NetherEx/blob/279a3f40294c5cb347a6ef308babfd2001272231/src/main/java/nex/world/gen/feature/BiomeFeatureManager.java#L33
  9. In my mod, I have a custom world generation system that allows the player to define their own generators per biome via json files. The system works fine, but I am trying to allow other mod developers to define their own custom generator class that the player can use. To define a custom generator, a class must extend my AbstractGenerator class. The AbstractGenerator class is abstract and it provides two abstract methods, one to generate blocks in the world and the other to deserialize a json file into the custom generator. The mod developers have to register their custom generator class and a string to identify the class with my mod. To start the deserialization process, I search the json for the string identifier that the generator class was registered with and then I use it to lookup the class it was registered with. Once the class has been found, I call GeneratorClass.newInstance().deserialize(jsonConfig) to deserialize the json file into a new instance of the generator. I know that this is not the most ideal way of handling it and that it can lead to a crash if the mod developer does not provide a no argument constructor. My question is, how I can improve this system to make it better? Sorry if my post is confusing, hopefully the provided files clear up any questions. Generator Registry: https://github.com/LogicTechCorp/NetherEx/blob/b7375eb2fd89d122ceaa312eb3cb5766a66ec72f/src/main/java/nex/init/NetherExBiomeFeatures.java#L34 Generator Json File: https://github.com/LogicTechCorp/NetherEx/blob/b7375eb2fd89d122ceaa312eb3cb5766a66ec72f/src/main/resources/assets/nex/biome_configs/NetherEx/Hell/feature_scatter_fire_nex_hell.json#L3 Generator Class Lookup: https://github.com/LogicTechCorp/NetherEx/blob/b7375eb2fd89d122ceaa312eb3cb5766a66ec72f/src/main/java/nex/world/gen/BiomeFeatureManager.java#L48 Generator Class: https://github.com/LogicTechCorp/NetherEx/blob/b7375eb2fd89d122ceaa312eb3cb5766a66ec72f/src/main/java/nex/world/gen/feature/BiomeFeatureScatter.java#L35 Abstract Generator Class: https://github.com/LogicTechCorp/NetherEx/blob/b7375eb2fd89d122ceaa312eb3cb5766a66ec72f/src/main/java/nex/world/gen/feature/BiomeFeature.java#L30
  10. I think I figured it out. Do I just checkout the other version and then refresh the project to update the Forge version?
  11. I use Intellij IDEA for my IDE and I would like to know how to develop for two different versions of Minecraft. Is it possible to use the same project or would I need to set up another one for the other version? I do use GitHub for my mod and I have different branches for each version.
  12. I am trying to make a portal that works just like the Nether Portal, but I am stuck on implementing my own version of BlockPortal.Size. I would like for my portal to work standing up and laying down, so on all axes, but I am not sure on how I would adapt the class to make this work. What would be the best way to achieve this? All help is appreciated.
  13. Does anyone have an idea on what the issue could be? I have been trying to figure this out for a few months now.
  14. I have figured out that the issue does not have to do with my custom GenLayers but rather my own biomes. I have updated the main post to reflect these findings. All help is appreciated.
  15. I am replacing the Nether with a custom version and I am having an issue where the world stops loading chunks. If you cause a block update, the chunk the update was in loads, but when you go to quit the game it hangs and does not exit to the main menu. I have narrowed it down to be an issue with my custom biomes. I determined this by removing my biomes from the Nether and adding in random ones from Vanilla. The issue does not happen very often, but it becomes a lot more noticeable when the mod is played with Optifine. Biome Registry: https://github.com/LogicTechCorp/NetherEx/blob/d182c5790d7d1781982e750e94b0a41bcef4bcca/src/main/java/nex/init/NetherExBiomes.java Abstract Biome Class: https://github.com/LogicTechCorp/NetherEx/blob/d182c5790d7d1781982e750e94b0a41bcef4bcca/src/main/java/nex/world/biome/BiomeNetherEx.java Biome Classes: https://github.com/LogicTechCorp/NetherEx/blob/d182c5790d7d1781982e750e94b0a41bcef4bcca/src/main/java/nex/world/biome/BiomeHell.java https://github.com/LogicTechCorp/NetherEx/blob/d182c5790d7d1781982e750e94b0a41bcef4bcca/src/main/java/nex/world/biome/BiomeRuthlessSands.java https://github.com/LogicTechCorp/NetherEx/blob/d182c5790d7d1781982e750e94b0a41bcef4bcca/src/main/java/nex/world/biome/BiomeFungiForest.java https://github.com/LogicTechCorp/NetherEx/blob/d182c5790d7d1781982e750e94b0a41bcef4bcca/src/main/java/nex/world/biome/BiomeTorridWasteland.java https://github.com/LogicTechCorp/NetherEx/blob/d182c5790d7d1781982e750e94b0a41bcef4bcca/src/main/java/nex/world/biome/BiomeArcticAbyss.java
  16. I have implemented my own villages. They work as expected, but when It spawns in a golem, the golem does not move and it cannot be hit. I have tested it with my own golem and vanilla's golem and it is the same result. It is the same code as that the Vanilla villages use. Here is the related class: https://github.com/LogicTechCorp/NetherEx/blob/1ed4386bc29f493b65aa3802129fc244b43ebd9f/src/main/java/nex/village/NetherVillage.java#L70-L100 EDIT: I was passing in the wrong world type in the WorldTickEvent.
  17. Hello, I am copying some files from my mods Assets folder to the Config Folder. It works correctly in the Dev Environment, but when the mod is exported to a Jar, it throws a FileNotFoundException when it loads. Here is how I do it: https://github.com/LogicTechCorp/NetherEx/blob/1.11.x/src/main/java/nex/village/trade/TradeListManager.java#L69. What am I doing wrong?
  18. Thank you for all of your help. I really appreciate it.
  19. It creates a Config file that contains categories but no options. Edit: It looks like this # Configuration file nex { client { } dimension { } block { } potion_effect { } entity { } biome { } } Before I updated it had more sub categories and it had a lot of config options.
  20. @Choonster I saw that you use the new config system in your test mod and was wondering if you could help me?
  21. It is the new system Forge has implemented for configs.
  22. I have still been unable to solve this. Is there anyone who has an idea on what I am doing wrong?
  23. I just updated from 13.20.0.2228 to 13.20.0.2282 and my Annotation Config is no longer working. It worked before, is there something I am doing wrong? https://github.com/LogicTechCorp/NetherEx/blob/b8f3aa89f1a7b6cf5f7007f11f7f8b38a2731ded/src/main/java/nex/handler/ConfigHandler.java
×
×
  • Create New...

Important Information

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