Jump to content


  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

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

Tavi007's Achievements

Creeper Killer

Creeper Killer (4/8)



  1. Ahhh. I understand now what you mean. This clears my confusion.
  2. Thanks. I will look into it. Do all particle with BasicParticleType have this brown tint? This is kinda unexpected...
  3. Registriation: https://github.com/Tavi007/ElementalCombat/blob/master/src/main/java/Tavi007/ElementalCombat/init/ParticleList.java I use the BasicParticleType from vanilla Minecraft.
  4. Hello. I added my own particle to the game, but it got a brown tint (see pictures). The particle in question is a simple BasicParticleType, which gets spawned via ParticleManager particles = Minecraft.getInstance().particles; particles.addParticle(particle, entity.getPosX(), entity.getPosY() + entity.getEyeHeight(), entity.getPosZ(), vx, vy, vz); (this is all definitely happening on the client side). So far everything looks hopefully correct, but why does my particle end up with this brown color even though the actual texture is gray only?
  5. Alright. Thank you. I should be able to figure stuff out myself now
  6. Is the quoted line able to run both on server and client? And can I simply copy it or are there better methods available? I am able to change BasePropertiesAPI#getDefenseLayer(biome) and it would be great, if I can adjust this api method without it breaking on either side.
  7. Hey all. Question in the title. I have a special armor item, that has defense properties, which depend on the current biome. I overrode the onArmorTick method like this: @Override public void onArmorTick(ItemStack stack, World world, PlayerEntity player) { if(world.getDayTime() % 20 == 0) { Biome biome = world.getBiome(player.getPosition()); DefenseLayer layer = BasePropertiesAPI.getDefenseLayer(biome); DefenseDataAPI.putLayer(stack, layer, ElementalCombatWeaponry.ARMOR_RESOURCE_LOCATION); if(world.isRemote) { ElementalCombatWeaponry.LOGGER.info("Biome: " + biome.getRegistryName()); } } } This code produces the indented behavior, if run in single player. But when I am running the same code in a multiplayer setting I run into trouble on the client side. On server everything runs as expected, but on the client side the biome has the registryName = null (I know this because of the logging). The BasePropertiesAPI#getDefenseLayer checks a Map<ResourceLocation, DefenseLayer> with the registryName of the biome. Since the registryName is null, only a default value is returned. This means, I also have desyncronzied data... (at the end the method from DefenseDataAPI will update my itemstack capability.) Gameplaywise everything is fine (the defense properties are used for calculation on the server side anyway). But the properties should be the same on client for display purpose. I tried to look at the DebugOverlayGUI class, because this obviously works and can show the registryName of the current biome. The important line of this class is the following: list.add("Biome: " + this.mc.world.func_241828_r().getRegistry(Registry.BIOME_KEY).getKey(this.mc.world.getBiome(blockpos))); Could anyone please explain, what 'this.mc.world.func_241828_r().getRegistry(Registry.BIOME_KEY).getKey()' does and why the simple world.getBiome(blockpos) doesn't suffice? Thank you and with best regards Tavi
  8. Hey all, A little bit of context first: I'm trying to implement the Materia system from Final Fantasy 7. Basically the player can equip and combine items, that can result in some effect. I already have the effects in place (Each effect is a class which implements certain interfaces, that I defined previously), but now I would like to have some sort of 'crafting' system for the effects. I need a mapping, that maps up to 4 items to an effect. Short example to clear things up: I have the FireMateria and the AreaMateria. Equipping the FireMateria on a pick will result in an autosmelt, while the AreaMateria will increase the amount of mined blocks (like TC hammer). Combining these 2 materias will result in a hammer-like mining with autosmelt. For each of these effect I have seperate classes (FireEffect, AreaEffect, FireAreaEffect) These are necessary, because some effects will be more abstract then just an autosmelt Should I write my own recipe type or can those only map items to a resulting item? If a recipe type is not the answer, what could I do instead? Some kind of HashMap<customKey, Effect>? I just need some general direction and maybe some example code (for a custom recipe type) that I could analyze
  9. I've posted my question already, but I still don't know what to do. I have a mod finished (lets call it mod A), which I want to distribute via mavenCentral so other devs can use its API. Before I upload the jar I would like to test it locally with another mod (mod B). Thats why I have this in the build.gradle file of mod B: dependencies { minecraft "net.minecraftforge:forge:${version_forge}" implementation fg.deobf(files('C:/Minecraft Modding/ElementalCombat/build/libs/elementalcombat-forge-1.16.5-1.1.1.jar')) } This will import the jar into the project succesfully. However when I try to run mod B mod A will run into a FieldNotFound exception in its init phase. The field from the exception has an obfuscated name, which it didn't had before building the jar. So my best guess is, that something went wrong when (de-)obfuscating the jar. But I don't know how I can fix this. My repositories can be found here: https://github.com/Tavi007/ElementalCombat (aka mod A) https://github.com/Tavi007/ElementalCombat-Weaponry (aka mod B) The line, that causes the exception: https://github.com/Tavi007/ElementalCombat/blob/b562cba34d2bee7a647aa4d088372c917d67a3d4/src/main/java/Tavi007/ElementalCombat/init/EnchantmentList.java#L39 I really hope, someone can help me. This is the last issue, that I need to fix, before I can release my mod
  10. You are completly right. Swapping Block to GlazedTerracottaBlock fixed the problem (No need to create a new Block type, since the block should behave excatly like the terracotta block anyway). Thank you!
  11. You are right. I forgot to revert it back (I was testing, if minecraft:block/stone was working, which it was not. I had the same problem: itemstack is looking fine (display a stone block), but the actual block was missing its texture). I changed the namespace to elementalcombat_weaponry, which should be the correct one. Sadly the issue with the texture persist.
  12. Hey, Indescriptive title aside I currently need help with 2 things. The first one is most likely something easy to fix and I'm just to stupid right now. I got the famous black-purple texture displayed as my block texture, but the block itemstack is showing the correct texture tho. Here are the blockstate and model file: My second problem is about the build.gradle file. I finished another mod, which is a library mod. Before I try to upload it to Maven Central, I would like to test it first by importing it into my test project. Since I got the jar locally I added implementation fg.deobf(files('C:/Minecraft Modding/ElementalCombat/build/libs/elementalcombat-forge-1.16.5-1.1.1-api.jar')) to the dependencies section of the build.gradle file. This does add the jar as library, but I run into a FieldNotFound exception on startup. The missing field has an obfuscated name, so I don't really know, what is missing. All I know is in which line the error occures and it's this one: https://github.com/Tavi007/ElementalCombat/blob/b562cba34d2bee7a647aa4d088372c917d67a3d4/src/main/java/Tavi007/ElementalCombat/init/EnchantmentList.java#L39 Do I get the error, because the minecraft mapping wasn't applied correctly? Or is it due to something completly different? I'm at a complete loss here. And here is the link to the gradle file: https://github.com/Tavi007/ElementalCombat-Weaponry/blob/main/build.gradle (It currently only uses the api jar, because this way I can keep working on it.)
  13. Ah okay. I knew, it must be something simple, that I overlooked. Texture will be changed anyway. I just threw some stuff together, but thanks for the heads up anyway.
  • Create New...

Important Information

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