Jump to content

warjort

Members
  • Posts

    5420
  • Joined

  • Last visited

  • Days Won

    175

Everything posted by warjort

  1. We are not going to write your mod for you. This is a support forum not a teaching forum. You need to look at that code I suggested above. It's part of the entity AI code which has builtin entity PathNavigation and MoveControl you can use. It depends what you mean by "facing". There is an entity.getViewVector() that tells you which direction the entity is looking or there is also the LivingEntity's body rotation, see Panda.afterSneeze() for an example usage of this. You can also do "ray tracing" to see what an entity is looking at, e.g. Entity.pick() This part of your question has been asked and answered in many posts of this forum, so search is your friend if you want a longer answer to this FAQ.
  2. [Info: 2022-09-12 19:37:52.7561548: GameCallbacks.cpp(177)] Game/game () Info Caused by: java.lang.NoSuchFieldError: COMPOUND_TAG [Info: 2022-09-12 19:37:52.7561699: GameCallbacks.cpp(177)] Game/game () Info at TRANSFORMER/[email protected]/net.minecraft.world.entity.LivingEntity.<clinit>(LivingEntity.java:155) [Info: 2022-09-12 19:37:52.7561874: GameCallbacks.cpp(177)] Game/game () Info at TRANSFORMER/[email protected]/net.minecraft.world.entity.EntityType.<clinit>(EntityType.java:252) Issue with citadel: https://github.com/AlexModGuy/Citadel/issues/81
  3. You are currently using BonusLevelItemCondition (minecraft:table_bonus) which gets the floats from the json. You can write and register your own LootItemCondition and make your implementation get its values from anywhere you like. But as was said above, If you just moving values from the datapack to the config file it's kind of pointless extra complications.
  4. Translatable components only support String substitutions/formatting and minecraft uses the java.util.Formatter format. https://forge.gemwire.uk/wiki/Internationalization https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html Your lang file should look something like: Test percent sign %s%%
  5. That error message I quoted, but you should give them all the information you can, e.g. your debug.log
  6. Conflict between betteranimalsplus and whisperwoods use of architectury's IMDlib_common where it is trying to provide duplicate classes to glassential This is at the java module/classloading level not forge's mod abstraction. You really do need to contact the mod authors about this.
  7. It looks like commonality is distributed as part of apex-core which is mentioned as problematic on your other thread. https://github.com/ApexStudios-Dev/ApexCore/blob/3404bfdc826fd5463b67b7cfb46956d489683f9b/build.gradle#L179
  8. This is a duplicate thread. The commonality mod is a jar_in_jar mod inside a different mod:
  9. The log does not say. One of those problem mods is crashing the game before forge/minecraft can print an error summary. Your launcher_log.txt or whatever is the equivalent for your launcher may contain an additional error message?
  10. The errors in your log are: [12:23:23] [main/ERROR]: Missing language javafml version [36,42) wanted by DistantHorizons-1.6.7a-1.19.jar, found 43 [12:23:23] [main/ERROR]: Missing mandatory dependencies: minecraft, minecraft, cloth_config, commonality, minecraft, minecraft [12:23:23] [main/ERROR]: Unsupported installed optional dependencies: apexcore The first says you have a version of distant horizons that doesn't want forge 43.x.x The second is probably somewhat related to the first. It says 4 of your mods are not for the version of minecraft you are using you are missing cloth_config, and one wants a different version of commonality to the one you have. And the last one says something is not compatible with the version of apexcore you have.
  11. This is the forge support forum. We can help you locate the problem mod, we can't fix it. You already know which mods are causing the problem so contact the mod authors. But check you have the correct versions for your version of minecraft first, and look at their mod pages or issues pages to see if they already include information about known compatibility problems.
  12. 4 of your mods are not for minecraft 1.18.2 And you are missing geckolib3.
  13. You don't need to do this. You should be able to trigger these effects from the server without messing around with actually destroying blocks. serverLevel.levelEvent(LevelEvent.PARTICLES_DESTROY_BLOCK, blockPos, Block.getId(blockState))
  14. Issue with the weaponleveling mod, contact the mod author.
  15. Please in future when you post code use the <> button. From your error message, it looks like your Atlases.addWoodType() is now called Sheets.addWoodType() That is the method that creates and registers sign Materials. It is this registration being missing in the call to Sheets.getSignMaterial() that is causing your NPE.
  16. That is not how this works. The ints used to identify blocks/blockstates are not necessarily the same when you restart minecraft. The int -> blockstate is dependent upon which mods are loaded and in what order they register blocks. You can't just save int ids in a file and expect them to be the same or even valid when you reload them in the future. What minecraft does is use a palette (as I said above). This is to save space and redundant processing. e.g. in simple terms you might have a save file of 3x3 blocks that is 1, 1, 2 1, 0, 0 2, 3, 1 The palette could then look something like this 0=minecraft:air 1=minecraft:stone 2=minecraft:snow{layers=4} 3=minecraft:oak_log{axis=x) At reload you then deserialize minecraft:stone to find the BlockState and use that where you have stored 1 in your save. What minecraft actually does with its palettes in its code is slightly more complicated than my simple explanation because it can do further optimisations.
  17. Your byg config file has references to friendsandfoes and domesticationinnovation, mods you don't currently have installed.
  18. In general vanilla blocks are not designed to be reused by subclassing. They usually have lots of hardcoding. Look at FenceBlock.connectsTo() used by FenceBlock.getStateForPlacement() In particular how isSameFence() uses block tags to decide if blocks can connect and the hardwiring of FenceGateBlock. You can also try putting a fence gate next to your block to see what happens. 🙂
  19. If you are going down that path, you can just repackage the jsoup jar to add a META-INF/mods.toml. Then you need to publish it somewhere so you can reference it. Since users of your mod will also need to have access to it, probably the easiest place to put it is on curseforge and reference it in your build(s) using: https://www.cursemaven.com/
  20. That error code is a crash in native code. You probably have a file beginning hs_err_pid in your minecraft folder from the time of the crash? If you do don't post the full file (it will have your user credentials in the dump), just post the first 30 lines with the error. But from your description it sounds like a bug with your launcher. I can see from the log, the launcher is actually adding code to the minecraft runtime: -javaagent:D:\minecraft files\my modpacks\Install\sklauncher-fx.jar=1.18.2
  21. All you have done is make the classes available at compile time. The jsoup.jar is not a mod so forge won't recognise it. If you look at that rhino project it has a mod.toml: https://github.com/KubeJS-Mods/Rhino/tree/1.18/main/forge/src/main/resources/META-INF There is at least one other way you can do it: https://forge.gemwire.uk/wiki/Jar-in-Jar It's not something I have personally used, so I can't tell you what the pros and cons are.
  22. I am guessing from the import that this is related to StructureTemplates? Look at the value for StructureTemplate.ENTITIES_TAG and you will see it is all lower case. i.e. you need to change Entities -> entities If that's not the problem, use NBTUtils.prettyPrint() to show the structure of what you are parsing.
  23. Your code looks very broken. This is just what I found from a quick glance at your code. 1) Fundamentally, you are sending block place/remove events to all clients and then trying to place blocks regardless of whether the client knows about the location. At no point do you check level.isLoaded(BlockPos) so you will be writing blocks (or at least trying to) into unloaded chunks. Which is probably the cause of your crash? 2) Your use of statics with a non-thread safe data type (ArrayList) is asking for trouble unless you can guarantee everything happens on the same thread. This could also be the cause? 3) Using statics like that is just wrong anyway. You want to store this data in a proper object like a Level or Chunk capability where you can save the data, otherwise all your data will be lost when the server reboots. 4) You are not checking the event.phase in your tick event, so your code will run twice per tick. Finally on point (1) why are you doing all this extra work at all? If you pass 3 to setBlock() - or use setBlockAndUpdate() - minecraft will handle all this processing for you. i.e. You can do all the processing on the server and not worry about the client. Minecraft will probably do it a lot more efficiently than you, e.g. sending block updates in groups, using smaller packets and not sending updates to clients it knows don't need them.
  24. Look at MoveToBlockGoal and rework it. i.e. Replace findNearestBlock() with your own logic.
  25. Subscribe to EntityRenderersEvent.RegisterRenderers I have no idea what Atlases.addWoodType() did in older versions. I would guess that since atlases are related to images, what you really want is to put your texture in assets/minecraft/entity/signs/yourwoodtype.png If you want to find out how to port methods from older versions, look at how vanilla used that method in the older game. Then find the same process in the modern game to see the new way of doing it. If you want further help, you are going to need post more than 2 lines of code. So we can see what you are doing with some context.
×
×
  • Create New...

Important Information

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