Jump to content

Flower gen + flowers


Trooox

Recommended Posts

Hello guys, I am here to ask you for help about my mod.

Ok, so I tried to create a flower who spawn in the biome Forest per exemple.

 

That is my code :

package fr.troox.nezylia.init;

import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.common.BiomeDictionary.Type;
import net.minecraftforge.common.BiomeManager;
import net.minecraftforge.common.BiomeManager.BiomeType;

public class FlowerMod 
{
    public static void init()
    {
        BiomeManager.getBiomes(BiomeType.COOL);
        
    }
    
    public void generate(Random random, int chunkX, int chunkZ, World world,
    IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
    {
        int x = chunkX * 16;
        int z = chunkZ * 16;
        
        BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(x, z);
        
        if(BiomeDictionary.isBiomeOfType(biome, Type.FOREST))
        {
            
        }
    }
    
}

Im not sure but I think is not that. And I don't know what I should to do for a generation of already existing biome exist.

 

Thank you in advance for your help.

Link to comment
Share on other sites

Well, what you probably actually want is if(biome == Biomes.FOREST)

The code you have now will spawn your flower in any forest: forest, birch forest, tiaga, etc.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

12 hours ago, Draco18s said:

Well, what you probably actually want is if(biome == Biomes.FOREST)

The code you have now will spawn your flower in any forest: forest, birch forest, tiaga, etc.

Sorry for my late message, I didn't see ... So If I understand what you say, I just need to to make if(biome == Biomes.FOREST) for one biome ?

 

But How I generate flower on minecraft (map) please ?

 

Thank you in advance !

Link to comment
Share on other sites

It will match only the forest biome, yes.

As for generating flowers, world.setBlockState(...) does amazing things.

 

If you're asking how to spawn flowers the way vanilla spawns flowers, I suggest looking for the code vanilla uses to spawn flowers.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

13 minutes ago, Draco18s said:

It will match only the forest biome, yes.

As for generating flowers, world.setBlockState(...) does amazing things.

 

If you're asking how to spawn flowers the way vanilla spawns flowers, I suggest looking for the code vanilla uses to spawn flowers.

Ok, I will try this method, thank you ;)

Link to comment
Share on other sites

Humm world.setBlockState does not exist, can you make me an exemple please ?

 

That is my code : 

package fr.troox.nezylia.world;

import java.util.Random;

import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.common.BiomeDictionary.Type;
import net.minecraftforge.common.BiomeManager;
import net.minecraftforge.common.BiomeManager.BiomeType;

public class WorldFlowers 
{
    public static void init()
    {
        
    }
    
    public void generate(Random random, int chunkX, int chunkZ, World world,
    IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
    {
        int x = chunkX * 16;
        int z = chunkZ * 16;
        
        BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(x, z);
        
        if(biome == biome.forest)
        {
            world.setBlock(p_147449_1_, p_147449_2_, p_147449_3_, p_147449_4_);
        }
    }
    
}

Thank you !

@Draco18s

Edited by Trooox
Link to comment
Share on other sites

setBlockState doesn't exist because you're using an older version of Minecraft.

You should probably update.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

But I prefer to play in 1.7.10, I found : 

 

 public void generate(Random random, int chunkX, int chunkZ, World world,
    IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
    {
        for(int i = 0; i < 2; i++)
        {
         int randPosX = chunkX + random.nextInt(16) + 8;
         int randPosY = random.nextInt(256);
         int randPosZ = chunkZ + random.nextInt(16) + 8;
         (new WorldGenFlowers(BlockMod.flowertest)).generate(world, random, randPosX, randPosY, randPosZ);
        }
    }

That can work no ?

Link to comment
Share on other sites

  • Guest locked this topic
Guest
This topic is now closed to further replies.


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • i have kinda simillar stuff with mods.toml. every time launching my modpack these logs are typinbg off: - fastpaintings 1.20-1.2.7 |-- apoli 1.20.1-2.9.0.8 \-- calio 1.20.1-1.11.0.5 - playeranimator 1.0.2-rc1+1.20 - puzzleslib 8.1.20 - quad 1.2.5 - ramcompat 0.1.3 - rare_ice 0.0NONE - reignitedhud 1.1.0 - relics 0.6.5.1 - repurposed_structures 7.1.15+1.20.1-forge - resourcefulconfig 2.1.2 - resourcefullib 2.1.25 - rotten_flesh_to_leather 2.0.0 - rrls 4.0.6.1+mc1.20.1-forge - saturn 0.1.3 - sereneseasons 9.0.0.46 - silverbirch 1.1.1 - smoothboot 0.0.4 - snowundertrees 1.4.4 - spelunkery 1.20.1-0.3.5 - strictly_origins 1 - terrablender 3.0.1.7 - terralith 2.5.1 - travelersbackpack 9.1.14 - treechop 0.18.8 - trulytreasures 1.20-3.0.0 - vtweaks 4.0.13.fix1 - walkers 4.5.1 - walljump 1.20.1-1.1.6-forge - wizards_reborn 1.20.1-0.1.4 - yungsapi 1.20-Forge-4.0.5 - yungsbridges 1.20-Forge-4.0.3 - yungsextras 1.20-Forge-4.0.3 - yungsmenutweaks 1.20.1-Forge-1.0.2 [16���.2024 20:42:56.008] [main/INFO] [BadOptimizations/]: Loading config from C:\Users\{COMPUTER_USERNAME}\AppData\Roaming\com.modrinth.theseus\profiles\ExoRodemIII\config\badoptimizations.txt [16���.2024 20:42:56.009] [main/INFO] [BadOptimizations/]: Config version: 3 [16���.2024 20:42:56.010] [main/INFO] [BadOptimizations/]: BadOptimizations config dump: [16���.2024 20:42:56.011] [main/INFO] [BadOptimizations/]: enable_toast_optimizations: true [16���.2024 20:42:56.012] [main/INFO] [BadOptimizations/]: ignore_mod_incompatibilities: false [16���.2024 20:42:56.013] [main/INFO] [BadOptimizations/]: lightmap_time_change_needed_for_update: 80 [16���.2024 20:42:56.013] [main/INFO] [BadOptimizations/]: enable_lightmap_caching: true [16���.2024 20:42:56.013] [main/INFO] [BadOptimizations/]: enable_particle_manager_optimization: true [16���.2024 20:42:56.013] [main/INFO] [BadOptimizations/]: enable_entity_renderer_caching: true [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: log_config: true [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: enable_remove_redundant_fov_calculations: true [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: config_version: 3 [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: enable_sky_angle_caching_in_worldrenderer: true [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: enable_block_entity_renderer_caching: true [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: skycolor_time_change_needed_for_update: 3 [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: enable_entity_flag_caching: true [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: enable_debug_renderer_disable_if_not_needed: true [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: enable_sky_color_caching: true [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: enable_remove_tutorial_if_not_demo: true [16���.2024 20:42:56.014] [main/INFO] [BadOptimizations/]: show_f3_text: true [16���.2024 20:42:57.417] [main/WARN] [mixin/]: Error loading class: dev/emi/emi/screen/EmiScreenManager (java.lang.ClassNotFoundException: dev.emi.emi.screen.EmiScreenManager) [16���.2024 20:42:57.422] [main/WARN] [mixin/]: Error loading class: me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl (java.lang.ClassNotFoundException: me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl) [16���.2024 20:42:58.657] [main/WARN] [mixin/]: Error loading class: vazkii/quark/base/module/ModuleFinder (java.lang.ClassNotFoundException: vazkii.quark.base.module.ModuleFinder) [16���.2024 20:42:58.942] [main/INFO] [fpsreducer/]: bre2el.fpsreducer.mixin.RenderSystemMixin will be applied. [16���.2024 20:42:58.943] [main/INFO] [fpsreducer/]: bre2el.fpsreducer.mixin.WindowMixin will be applied. [16���.2024 20:42:59.109] [main/WARN] [mixin/]: Error loading class: com/illusivesoulworks/colytra/client/ColytraLayer (java.lang.ClassNotFoundException: com.illusivesoulworks.colytra.client.ColytraLayer) [16���.2024 20:42:59.119] [main/WARN] [mixin/]: Error loading class: com/illusivesoulworks/elytraslot/client/ElytraSlotLayer (java.lang.ClassNotFoundException: com.illusivesoulworks.elytraslot.client.ElytraSlotLayer) [16���.2024 20:43:01.569] [main/INFO] [memoryleakfix/]: [MemoryLeakFix] Will be applying 3 memory leak fixes! [16���.2024 20:43:01.569] [main/INFO] [memoryleakfix/]: [MemoryLeakFix] Currently enabled memory leak fixes: [targetEntityLeak, biomeTemperatureLeak, hugeScreenshotLeak] [16���.2024 20:43:02.459] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.6). [16���.2024 20:43:03.003] [main/WARN] [mixin/]: Injection warning: LVT in net/minecraft/client/gui/GuiGraphics::m_280497_(Lnet/minecraft/client/gui/Font;Ljava/util/List;IILnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipPositioner;)V has incompatible changes at opcode 346 in callback relics.mixins.json:GuiGraphicsMixin->@Inject::onTooltipRender(Lnet/minecraft/client/gui/Font;Ljava/util/List;IILnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipPositioner;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;Lnet/minecraftforge/client/event/RenderTooltipEvent$Pre;IIIILorg/joml/Vector2ic;)V. Expected: [Lnet/minecraftforge/client/event/RenderTooltipEvent$Pre;, I, I, I, I, Lorg/joml/Vector2ic;] Found: [Ljava/lang/Object;, I, I, I, I, Lorg/joml/Vector2ic;] Available: [Ljava/lang/Object;, I, I, I, I, Lorg/joml/Vector2ic;, I, I, I, Lnet/minecraft/client/gui/Font;, I, I, Lnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipComponent;] [16���.2024 20:43:03.735] [main/INFO] [Smooth Boot (Reloaded)/]: Smooth Boot (Reloaded) config initialized [16���.2024 20:43:05.500] [main/WARN] [mixin/]: Static binding violation: PRIVATE @Overwrite method m_172993_ in embeddium.mixins.json:core.render.world.WorldRendererMixin cannot reduce visibiliy of PUBLIC target method, visibility will be upgraded. [16���.2024 20:43:05.500] [main/WARN] [mixin/]: Static binding violation: PRIVATE @Overwrite method m_109501_ in embeddium.mixins.json:core.render.world.WorldRendererMixin cannot reduce visibiliy of PUBLIC target method, visibility will be upgraded. [16���.2024 20:43:05.571] [main/WARN] [mixin/]: @Redirect conflict. Skipping forge-badoptimizations.mixins.json:MixinWorldRenderer->@Redirect::getSkyAngle(Lnet/minecraft/client/multiplayer/ClientLevel;F)F with priority 700, already redirected by citadel.mixins.json:client.LevelRendererMixin->@Redirect::citadel_getTimeOfDay(Lnet/minecraft/client/multiplayer/ClientLevel;F)F with priority 1000   i feel very stupid, but, can someone help me? i would really appreciatte that
    • Hello, I just finished my first mod for MC for 1.19.2, I've used: IntelliJ 2024.1.3 Forge MDK 43.3.13 SDK 17.0.11 (eclipse Temurin) Basically, my mod plays scary music at night time, stopping any music played by the game. For that I needed to access via reflection to a private MusicManager.class attribute (SoundInstance currentMusic), and the management of this is giving me errors (I think). Here's the full stacktrace: ---- Minecraft Crash Report ---- // There are four lights! Time: 2024-06-16 20:29:25 Description: Ticking entity java.lang.NoSuchMethodError: 'net.minecraft.client.Minecraft net.minecraft.client.Minecraft.m_91087_()' at com.miorg.scarysounds.SoundHandler.onWorldTick(SoundHandler.java:64) ~[scarysounds-1.0.0.jar%23188!/:1.0.0] {re:classloading} at com.miorg.scarysounds.__SoundHandler_onWorldTick_PlayerTickEvent.invoke(.dynamic) ~[scarysounds-1.0.0.jar%23188!/:1.0.0] {re:classloading,pl:eventbus:B} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.3.jar%23113!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.3.jar%23113!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.3.jar%23113!/:?] {} at net.minecraftforge.event.ForgeEventFactory.onPlayerPreTick(ForgeEventFactory.java:814) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23189%23197!/:?] {re:classloading} at net.minecraft.world.entity.player.Player.tick(Player.java:216) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.player.LocalPlayer.tick(LocalPlayer.java:200) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.multiplayer.ClientLevel.tickNonPassenger(ClientLevel.java:269) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.Level.guardEntityTick(Level.java:457) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.multiplayer.ClientLevel.lambda$tickEntities$4(ClientLevel.java:251) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.entity.EntityTickList.forEach(EntityTickList.java:54) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading} at net.minecraft.client.multiplayer.ClientLevel.tickEntities(ClientLevel.java:249) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.tick(Minecraft.java:1791) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runTick(Minecraft.java:1078) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:700) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.run(Main.java:212) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:51) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:25) ~[fmlloader-1.19.2-43.3.13.jar%23101!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) [bootstraplauncher-1.1.2.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Suspected Mod: ScarySounds (scarysounds), Version: 1.0.0 at TRANSFORMER/[email protected]/com.miorg.scarysounds.SoundHandler.onWorldTick(SoundHandler.java:64) Stacktrace: at com.miorg.scarysounds.SoundHandler.onWorldTick(SoundHandler.java:64) ~[scarysounds-1.0.0.jar%23188!/:1.0.0] {re:classloading} at com.miorg.scarysounds.__SoundHandler_onWorldTick_PlayerTickEvent.invoke(.dynamic) ~[scarysounds-1.0.0.jar%23188!/:1.0.0] {re:classloading,pl:eventbus:B} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.3.jar%23113!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.3.jar%23113!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.3.jar%23113!/:?] {} at net.minecraftforge.event.ForgeEventFactory.onPlayerPreTick(ForgeEventFactory.java:814) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23189%23197!/:?] {re:classloading} at net.minecraft.world.entity.player.Player.tick(Player.java:216) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.player.LocalPlayer.tick(LocalPlayer.java:200) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.multiplayer.ClientLevel.tickNonPassenger(ClientLevel.java:269) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.Level.guardEntityTick(Level.java:457) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.multiplayer.ClientLevel.lambda$tickEntities$4(ClientLevel.java:251) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.entity.EntityTickList.forEach(EntityTickList.java:54) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading} at net.minecraft.client.multiplayer.ClientLevel.tickEntities(ClientLevel.java:249) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} -- Entity being ticked -- Details: Entity Type: minecraft:player (net.minecraft.client.player.LocalPlayer) Entity ID: 227 Entity Name: Dev Entity's Exact location: -55.87, 119.00, -7.99 Entity's Block location: World: (-56,119,-8), Section: (at 8,7,8 in -4,7,-1; chunk contains blocks -64,-64,-16 to -49,319,-1), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,-64,-512 to -1,319,-1) Entity's Momentum: 0.00, 0.00, 0.00 Entity's Passengers: [] Entity's Vehicle: null Stacktrace: at net.minecraft.world.level.Level.guardEntityTick(Level.java:457) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.multiplayer.ClientLevel.lambda$tickEntities$4(ClientLevel.java:251) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.entity.EntityTickList.forEach(EntityTickList.java:54) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading} at net.minecraft.client.multiplayer.ClientLevel.tickEntities(ClientLevel.java:249) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.tick(Minecraft.java:1791) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runTick(Minecraft.java:1078) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:700) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.run(Main.java:212) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:51) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:25) ~[fmlloader-1.19.2-43.3.13.jar%23101!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) [bootstraplauncher-1.1.2.jar:?] {} -- Affected level -- Details: All players: 1 total; [LocalPlayer['Dev'/227, l='ClientLevel', x=-55.87, y=119.00, z=-7.99]] Chunk stats: 961, 400 Level dimension: minecraft:overworld Level spawn location: World: (0,106,0), Section: (at 0,10,0 in 0,6,0; chunk contains blocks 0,-64,0 to 15,319,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511) Level time: 6100 game time, 14340 day time Server brand: forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.ClientLevel.fillReportDetails(ClientLevel.java:450) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.fillReport(Minecraft.java:2280) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:717) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.run(Main.java:212) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:51) ~[forge-1.19.2-43.3.13_mapped_official_1.19.2.jar%23190!/:?] {re:classloading,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:25) ~[fmlloader-1.19.2-43.3.13.jar%23101!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-10.0.9.jar%23114!/:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) [bootstraplauncher-1.1.2.jar:?] {} -- Last reload -- Details: Reload number: 1 Reload reason: initial Finished: Yes Packs: Default, Mod Resources -- System Details -- Details: Minecraft Version: 1.19.2 Minecraft Version ID: 1.19.2 Operating System: Windows 10 (amd64) version 10.0 Java Version: 17.0.11, Eclipse Adoptium Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium Memory: 1080430488 bytes (1030 MiB) / 2302672896 bytes (2196 MiB) up to 4208984064 bytes (4014 MiB) CPUs: 12 Processor Vendor: GenuineIntel Processor Name: 12th Gen Intel(R) Core(TM) i5-12450H Identifier: Intel64 Family 6 Model 154 Stepping 3 Microarchitecture: unknown Frequency (GHz): 2.50 Number of physical packages: 1 Number of physical CPUs: 8 Number of logical CPUs: 12 Graphics card #0 name: NVIDIA GeForce RTX 3050 Laptop GPU Graphics card #0 vendor: NVIDIA (0x10de) Graphics card #0 VRAM (MB): 4095.00 Graphics card #0 deviceId: 0x25a2 Graphics card #0 versionInfo: DriverVersion=31.0.15.4680 Graphics card #1 name: Intel(R) UHD Graphics Graphics card #1 vendor: Intel Corporation (0x8086) Graphics card #1 VRAM (MB): 128.00 Graphics card #1 deviceId: 0x46a3 Graphics card #1 versionInfo: DriverVersion=31.0.101.5186 Memory slot #0 capacity (MB): 8192.00 Memory slot #0 clockSpeed (GHz): 3.20 Memory slot #0 type: DDR4 Memory slot #1 capacity (MB): 8192.00 Memory slot #1 clockSpeed (GHz): 3.20 Memory slot #1 type: DDR4 Virtual memory max (MB): 19530.51 Virtual memory used (MB): 17390.07 Swap memory total (MB): 3478.36 Swap memory used (MB): 253.88 JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump Launched Version: MOD_DEV Backend library: LWJGL version 3.3.1 build 7 Backend API: Intel(R) UHD Graphics GL version 3.2.0 - Build 31.0.101.5186, Intel Window size: 854x480 GL Caps: Using framebuffer using OpenGL 3.2 GL debug messages: Using VBOs: Yes Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge' Type: Integrated Server (map_client.txt) Graphics mode: fancy Resource Packs: Current Language: English (US) CPU: 12x 12th Gen Intel(R) Core(TM) i5-12450H Server Running: true Player Count: 1 / 8; [ServerPlayer['Dev'/227, l='ServerLevel[New World]', x=-55.87, y=119.00, z=-7.99]] Data Packs: vanilla, mod:scarysounds, mod:forge World Generation: Stable ModLauncher: 10.0.9+10.0.9+main.dcd20f30 ModLauncher launch target: forgeclientuserdev ModLauncher naming: mcp ModLauncher services: mixin-0.8.5.jar mixin PLUGINSERVICE eventbus-6.0.3.jar eventbus PLUGINSERVICE fmlloader-1.19.2-43.3.13.jar slf4jfixer PLUGINSERVICE fmlloader-1.19.2-43.3.13.jar object_holder_definalize PLUGINSERVICE fmlloader-1.19.2-43.3.13.jar runtime_enum_extender PLUGINSERVICE fmlloader-1.19.2-43.3.13.jar capability_token_subclass PLUGINSERVICE accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE fmlloader-1.19.2-43.3.13.jar runtimedistcleaner PLUGINSERVICE modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE FML Language Providers: [email protected] lowcodefml@null javafml@null Mod List: forge-1.19.2-43.3.13_mapped_official_1.19.2.jar |Minecraft |minecraft |1.19.2 |DONE |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f scarysounds-1.0.0.jar |ScarySounds |scarysounds |1.0.0 |DONE |Manifest: NOSIGNATURE |Forge |forge |43.3.13 |DONE |Manifest: NOSIGNATURE Crash Report UUID: dc1c47a9-be1f-45b8-b70f-eab49d54148b FML: 43.3 Forge: net.minecraftforge:43.3.13   Here's my code, the most important lines are at the start of the class and the start of onWorldTick(). These lines manage the private attribute (currentMusic) and the exception fires at line 64: MusicManager musicManager = Minecraft.getInstance().getMusicManager(); Anybody knows what is happening????? I've spent 2 days trying to find a solution and I can't get it  Really appreciate your time package com.miorg.scarysounds; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.sounds.SoundInstance; import net.minecraft.client.sounds.MusicManager; import net.minecraft.client.sounds.SoundManager; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.Music; import net.minecraft.sounds.Musics; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.util.profiling.jfr.event.WorldLoadFinishedEvent; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraftforge.client.ClientCommandHandler; import net.minecraft.world.level.Level; import net.minecraft.core.BlockPos; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.event.TickEvent; import net.minecraftforge.event.entity.EntityJoinLevelEvent; import net.minecraftforge.event.level.LevelEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.util.ObfuscationReflectionHelper; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.util.Random; @Mod.EventBusSubscriber(modid = "scarysounds", value = Dist.CLIENT) public class SoundHandler { private static Field currentMusicField; static { try { currentMusicField = MusicManager.class.getDeclaredField("currentMusic"); currentMusicField.setAccessible(true); } catch (NoSuchFieldException e) { e.printStackTrace(); } } private static final Random random = new Random(); static int ticksUntilNextSound = 0; static int ticksRestantes = 0; static int espera; static boolean flag = false; static boolean flagLoad = false; static String soundName; private static final String[] SOUND_NAMES = { "sound1", "sound2", "sound3", "sound4", "sound5", "sound6", "sound7", "sound8", "sound9", "sound10", "sound11", "sound12", "sound13", "sound14", "sound15" }; @SubscribeEvent public static void onWorldLoad(LevelEvent.Load event) { ticksUntilNextSound = getRandomTicks(); flagLoad = true; } @SubscribeEvent public static void onWorldTick(TickEvent.PlayerTickEvent event) throws InterruptedException { if (flagLoad) { try { MusicManager musicManager = Minecraft.getInstance().getMusicManager(); Object currentMusic = currentMusicField.get(musicManager); Level world = (Level) event.player.level; BlockPos playerPos = event.player.blockPosition(); //Coordenadas del jugador if (!world.isClientSide && event.phase == TickEvent.Phase.END) { long dayTime = world.getDayTime() % 24000L; if ((dayTime >= 13000L && dayTime <= 23000L) && !flag) { // De noche if (ticksUntilNextSound > 0) { ticksUntilNextSound--; if (ticksUntilNextSound == 75) Minecraft.getInstance().getMusicManager().stopPlaying(); if (ticksUntilNextSound == 110) { if (currentMusic != null) { event.player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 200, 4, true, true)); event.player.addEffect(new MobEffectInstance(MobEffects.CONFUSION, 200, 10, true, true)); event.player.addEffect(new MobEffectInstance(MobEffects.DARKNESS, 200, 10, true, true)); world.playSound(null, playerPos, ScarySounds.FX.get(), SoundSource.MUSIC, 1.0F, 1.0F); } } System.out.println(ticksUntilNextSound); } else { soundName = SOUND_NAMES[random.nextInt(SOUND_NAMES.length)]; ResourceLocation resourceLocation = new ResourceLocation("scarysounds", soundName); SoundEvent soundEvent = ForgeRegistries.SOUND_EVENTS.getValue(resourceLocation); switch (soundName) { case "sound1": { soundEvent = ScarySounds.SOUND1.get(); espera = 112; break; } case "sound2": { soundEvent = ScarySounds.SOUND2.get(); espera = 164; break; } case "sound3": { soundEvent = ScarySounds.SOUND3.get(); espera = 70; break; } case "sound4": { soundEvent = ScarySounds.SOUND4.get(); espera = 184; break; } case "sound5": { soundEvent = ScarySounds.SOUND5.get(); espera = 135; break; } case "sound6": { soundEvent = ScarySounds.SOUND6.get(); espera = 255; break; } case "sound7": { soundEvent = ScarySounds.SOUND7.get(); espera = 151; break; } case "sound8": { soundEvent = ScarySounds.SOUND8.get(); espera = 107; break; } case "sound9": { soundEvent = ScarySounds.SOUND9.get(); espera = 304; break; } case "sound10": { soundEvent = ScarySounds.SOUND10.get(); espera = 48; break; } case "sound11": { soundEvent = ScarySounds.SOUND11.get(); espera = 181; break; } case "sound12": { soundEvent = ScarySounds.SOUND12.get(); espera = 11; break; } case "sound13": { soundEvent = ScarySounds.SOUND13.get(); espera = 216; break; } case "sound14": { soundEvent = ScarySounds.SOUND14.get(); espera = 52; break; } case "sound15": { soundEvent = ScarySounds.SOUND15.get(); espera = 120; break; } } if (soundEvent != null) { ticksRestantes = espera * 20; world.playSound(null, playerPos, soundEvent, SoundSource.MUSIC, 1.0F, 1.0F); flag = true; } else { System.out.println("SoundEvent es nulo para: " + resourceLocation); } } } else { if (ticksRestantes > 0) { ticksRestantes--; Minecraft.getInstance().getMusicManager().stopPlaying(); System.out.println("Ticks restantes: " + ticksRestantes); } else { flag = false; ticksUntilNextSound = getRandomTicks(); } } } } catch (IllegalAccessException e) { e.printStackTrace(); } } } static int getRandomTicks() { return 500 + random.nextInt(1500); } }  
  • Topics

×
×
  • Create New...

Important Information

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