Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Simon Hamanek

Members
  • Joined

  • Last visited

  1. i am currently doing it like this but if i place around 80 pipes i got 40 fps: public class PipeRenderer implements BlockEntityRenderer<ItemPipeBlockEntity> { public static final ResourceLocation[] MODELS = new ResourceLocation[]{ new ResourceLocation("actualgenerators", "block/pipe_core"), new ResourceLocation("actualgenerators", "block/pipe_horizontal_both"), new ResourceLocation("actualgenerators", "block/pipe_horizontal_extract"), new ResourceLocation("actualgenerators", "block/pipe_horizontal_insert"), new ResourceLocation("actualgenerators", "block/pipe_horizontal_cable"), }; public static final BakedModel[] BAKED_MODELS = new BakedModel[MODELS.length]; private static BlockRenderDispatcher blockRenderer; public PipeRenderer(BlockEntityRendererProvider.@NotNull Context context) { ModelManager modelManager = context.getBlockRenderDispatcher().getBlockModelShaper().getModelManager(); blockRenderer = context.getBlockRenderDispatcher(); for (int i = 0; i < MODELS.length; i++) BAKED_MODELS[i] = modelManager.getModel(MODELS[i]); } @Override public void render(@NotNull ItemPipeBlockEntity pipe, float partialTicks, PoseStack ms, @NotNull MultiBufferSource buffers, int combinedLightIn, int combinedOverlayIn) { var buffer = buffers.getBuffer(RenderType.cutout()); BlockState state = pipe.getBlockState(); BlockPos pos = pipe.getBlockPos(); Level level = pipe.getLevel(); for (Direction direction : Direction.values()) { EMode connectionMode = pipe.getIO(direction).Mode; if (connectionMode == EMode.DISABLED) continue; switch (connectionMode) { case CABLE -> { ms.pushPose(); applyRotation(ms, direction); renderModel(BAKED_MODELS[4], level, pos, state, ms, buffer); } case INSERT -> { ms.pushPose(); applyRotation(ms, direction); renderModel(BAKED_MODELS[3], level, pos, state, ms, buffer); } case EXTRACT -> { ms.pushPose(); applyRotation(ms, direction); renderModel(BAKED_MODELS[2], level, pos, state, ms, buffer); } case EXTRACT_INSERT -> { ms.pushPose(); applyRotation(ms, direction); renderModel(BAKED_MODELS[1], level, pos, state, ms, buffer); } } } } private void renderModel(BakedModel baked, Level level, BlockPos pos, BlockState state, PoseStack stack, VertexConsumer buffer) { blockRenderer.getModelRenderer().tesselateWithAO( level, baked, state, pos, stack, buffer, false, RandomSource.create(), state.getSeed(pos), 15 ); stack.popPose(); } private void applyRotation(PoseStack poseStack, @NotNull Direction direction) { switch (direction) { case UP -> poseStack.rotateAround(new Quaternionf().mul(Axis.XP.rotationDegrees(90F)), 0.5f, 0.5f, 0.5f); case DOWN -> poseStack.rotateAround(new Quaternionf().mul(Axis.XP.rotationDegrees(270F)), 0.5f, 0.5f, 0.5f); case SOUTH -> poseStack.rotateAround(new Quaternionf().mul(Axis.YP.rotationDegrees(180F)), 0.5f, 0.5f, 0.5f); case WEST -> poseStack.rotateAround(new Quaternionf().mul(Axis.YP.rotationDegrees(90F)), 0.5f, 0.5f, 0.5f); case EAST -> poseStack.rotateAround(new Quaternionf().mul(Axis.YP.rotationDegrees(270F)), 0.5f, 0.5f, 0.5f); } } }
  2. ok i am currently trying with custom renders and making the VoxelShape in my TileEntity i think i have a desync because of the VoxelShape. i have a list of connectiontypes (on the server) but the client knows nothing about them. must i sysnc them with a custom packet? or how can i do this better?
  3. hmm how else could i achieve my different states? i wanted my pipes to be like enderio pipes with all the connection/different textures for the input/output/both
  4. ok... i am too ... nooby i guess. i cant figure it out but thanks for your help
  5. i cant figure it out. i use IntelliJ but when i debug it just stops to respond when i step over my breakpoint i ran "runClient" with --debug: 2023-05-02T21:05:35.686+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease 2023-05-02T21:05:35.686+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease 2023-05-02T21:05:36.356+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:05:36.356+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:05:36.356+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 2023-05-02T21:05:36.357+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:05:36.357+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:05:36.357+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 2023-05-02T21:05:46.348+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:05:46.348+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:05:46.348+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 2023-05-02T21:05:46.349+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:05:46.349+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:05:46.349+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 2023-05-02T21:05:56.357+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:05:56.357+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:05:56.357+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 2023-05-02T21:05:56.358+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:05:56.358+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:05:56.358+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 2023-05-02T21:06:05.699+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: acquired lock on worker lease 2023-05-02T21:06:05.699+0200 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 2: released lock on worker lease 2023-05-02T21:06:06.350+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:06:06.350+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:06:06.350+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 2023-05-02T21:06:06.351+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:06:06.351+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:06:06.351+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 2023-05-02T21:06:16.352+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:06:16.352+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:06:16.353+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 2023-05-02T21:06:16.355+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 2023-05-02T21:06:16.355+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry. 2023-05-02T21:06:16.355+0200 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
  6. typo in json for model/state or in java class? sry i am noob how can i attach a debugger and do what you suggested
  7. maybe because my "src/main/resources/assets/actualgenerators/blockstates/item_pipe_block.json" model is so complex? plus all the public static final EnumProperty<EConnectionType> UP_TYPE = EnumProperty.create("up_type", EConnectionType.class); public static final EnumProperty<EConnectionType> DOWN_TYPE = EnumProperty.create("down_type", EConnectionType.class); public static final EnumProperty<EConnectionType> NORTH_TYPE = EnumProperty.create("north_type", EConnectionType.class); public static final EnumProperty<EConnectionType> EAST_TYPE = EnumProperty.create("east_type", EConnectionType.class); public static final EnumProperty<EConnectionType> SOUTH_TYPE = EnumProperty.create("south_type", EConnectionType.class); public static final EnumProperty<EConnectionType> WEST_TYPE = EnumProperty.create("west_type", EConnectionType.class); registerDefaultState( stateDefinition.any() .setValue(NORTH_CONNECTION, false) .setValue(SOUTH_CONNECTION, false) .setValue(EAST_CONNECTION, false) .setValue(WEST_CONNECTION, false) .setValue(TOP_CONNECTION, false) .setValue(BOTTOM_CONNECTION, false) .setValue(UP_TYPE, EConnectionType.CABLE) .setValue(DOWN_TYPE, EConnectionType.CABLE) .setValue(NORTH_TYPE, EConnectionType.CABLE) .setValue(SOUTH_TYPE, EConnectionType.CABLE) .setValue(EAST_TYPE, EConnectionType.CABLE) .setValue(WEST_TYPE, EConnectionType.CABLE)); @Override protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) { builder.add(NORTH_CONNECTION, SOUTH_CONNECTION, EAST_CONNECTION, WEST_CONNECTION, TOP_CONNECTION, BOTTOM_CONNECTION, UP_TYPE, DOWN_TYPE, NORTH_TYPE, SOUTH_TYPE, EAST_TYPE, WEST_TYPE); }
  8. dont shame my code, pls https://github.com/SymoHTL/ActualGenerators
  9. My Block Class: public class ItemPipeBlock extends BaseEntityBlock implements IForgeBlock { public static final BooleanProperty NORTH_CONNECTION = BooleanProperty.create("north"); public static final BooleanProperty SOUTH_CONNECTION = BooleanProperty.create("south"); public static final BooleanProperty EAST_CONNECTION = BooleanProperty.create("east"); public static final BooleanProperty WEST_CONNECTION = BooleanProperty.create("west"); public static final BooleanProperty TOP_CONNECTION = BooleanProperty.create("top"); public static final BooleanProperty BOTTOM_CONNECTION = BooleanProperty.create("bottom"); //public static final EnumProperty<EConnectionType> UP_TYPE = EnumProperty.create("up_type", EConnectionType.class); //public static final EnumProperty<EConnectionType> DOWN_TYPE = EnumProperty.create("down_type", EConnectionType.class); //public static final EnumProperty<EConnectionType> NORTH_TYPE = EnumProperty.create("north_type", EConnectionType.class); //public static final EnumProperty<EConnectionType> EAST_TYPE = EnumProperty.create("east_type", EConnectionType.class); //public static final EnumProperty<EConnectionType> SOUTH_TYPE = EnumProperty.create("south_type", EConnectionType.class); //public static final EnumProperty<EConnectionType> WEST_TYPE = EnumProperty.create("west_type", EConnectionType.class); if the commented code is commented it works
  10. i know it is the mod because i am currently making the mod. but i cant start the client/game so i cant test it out / use it
  11. sry https://gist.github.com/SymoHTL/71d7167676a59a3312ee9a748fbaad6b
  12. logs folder contains: latest.log and telementry folder
  13. [18:32:13] [main/INFO]: ModLauncher running: args [--username, Symo_TMS, --version, forge-45.0.50, --gameDir, C:\Users\simon\curseforge\minecraft\Instances\Pipe-Test, --assetsDir, C:\Users\simon\curseforge\minecraft\Install\assets, --assetIndex, 3, --uuid, 30825234fc20424394038359e1567944, --accessToken, ????????, --clientId, MWJlZjkwZDgtZTU5YS00ODUzLWIwZDUtZjRjMDQ5ZmYwODEx, --xuid, 2535424154693014, --userType, msa, --versionType, release, --width, 1024, --height, 768, --launchTarget, forgeclient, --fml.forgeVersion, 45.0.50, --fml.mcVersion, 1.19.4, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230314.122934] [18:32:13] [main/INFO]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 17.0.3 by Microsoft; OS Windows 10 arch amd64 version 10.0 [18:32:13] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/simon/curseforge/minecraft/Install/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2397!/ Service=ModLauncher Env=CLIENT [18:32:13] [main/WARN]: Configuration file C:\Users\simon\curseforge\minecraft\Instances\Pipe-Test\config\fml.toml is not correct. Correcting [18:32:13] [main/WARN]: Incorrect key [defaultConfigPath] was corrected from null to defaultconfigs [18:32:13] [main/INFO]: Found mod file actualgenerators-0.0.1-1.19.jar of type MOD with provider {mods folder locator at C:\Users\simon\curseforge\minecraft\Instances\Pipe-Test\mods} [18:32:14] [main/WARN]: Mod file C:\Users\simon\curseforge\minecraft\Install\libraries\net\minecraftforge\fmlcore\1.19.4-45.0.50\fmlcore-1.19.4-45.0.50.jar is missing mods.toml file [18:32:14] [main/WARN]: Mod file C:\Users\simon\curseforge\minecraft\Install\libraries\net\minecraftforge\javafmllanguage\1.19.4-45.0.50\javafmllanguage-1.19.4-45.0.50.jar is missing mods.toml file [18:32:14] [main/WARN]: Mod file C:\Users\simon\curseforge\minecraft\Install\libraries\net\minecraftforge\lowcodelanguage\1.19.4-45.0.50\lowcodelanguage-1.19.4-45.0.50.jar is missing mods.toml file [18:32:14] [main/WARN]: Mod file C:\Users\simon\curseforge\minecraft\Install\libraries\net\minecraftforge\mclanguage\1.19.4-45.0.50\mclanguage-1.19.4-45.0.50.jar is missing mods.toml file [18:32:14] [main/INFO]: Found mod file fmlcore-1.19.4-45.0.50.jar of type LIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@6f8d7714 [18:32:14] [main/INFO]: Found mod file javafmllanguage-1.19.4-45.0.50.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@6f8d7714 [18:32:14] [main/INFO]: Found mod file lowcodelanguage-1.19.4-45.0.50.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@6f8d7714 [18:32:14] [main/INFO]: Found mod file mclanguage-1.19.4-45.0.50.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@6f8d7714 [18:32:14] [main/INFO]: Found mod file client-1.19.4-20230314.122934-srg.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@6f8d7714 [18:32:14] [main/INFO]: Found mod file forge-1.19.4-45.0.50-universal.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@6f8d7714 [18:32:14] [main/INFO]: No dependencies to load found. Skipping! [18:32:15] [main/INFO]: Launching target 'forgeclient' with arguments [--version, forge-45.0.50, --gameDir, C:\Users\simon\curseforge\minecraft\Instances\Pipe-Test, --assetsDir, C:\Users\simon\curseforge\minecraft\Install\assets, --uuid, 30825234fc20424394038359e1567944, --username, Symo_TMS, --assetIndex, 3, --accessToken, ????????, --clientId, MWJlZjkwZDgtZTU5YS00ODUzLWIwZDUtZjRjMDQ5ZmYwODEx, --xuid, 2535424154693014, --userType, msa, --versionType, release, --width, 1024, --height, 768] [18:32:20] [Datafixer Bootstrap/INFO]: 180 Datafixer optimizations took 127 milliseconds [18:32:21] [Render thread/WARN]: Assets URL 'union:/C:/Users/simon/curseforge/minecraft/Install/libraries/net/minecraft/client/1.19.4-20230314.122934/client-1.19.4-20230314.122934-srg.jar%23154!/assets/.mcassetsroot' uses unexpected schema [18:32:21] [Render thread/WARN]: Assets URL 'union:/C:/Users/simon/curseforge/minecraft/Install/libraries/net/minecraft/client/1.19.4-20230314.122934/client-1.19.4-20230314.122934-srg.jar%23154!/data/.mcassetsroot' uses unexpected schema [18:32:21] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD' [18:32:22] [Render thread/INFO]: Setting user: Symo_TMS [18:32:22] [Render thread/INFO]: Backend library: LWJGL version 3.3.1 build 7 [18:32:23] [modloading-worker-0/INFO]: Forge mod loading, version 45.0.50, for MC 1.19.4 with MCP 20230314.122934 [18:32:23] [modloading-worker-0/INFO]: MinecraftForge v45.0.50 Initialized [18:32:31] [Render thread/INFO]: Reloading ResourceManager: vanilla, mod_resources [18:32:32] [modloading-worker-0/WARN]: Configuration file C:\Users\simon\curseforge\minecraft\Instances\Pipe-Test\config\forge-client.toml is not correct. Correcting [18:32:32] [modloading-worker-0/WARN]: Incorrect key client was corrected from null to its default, SimpleCommentedConfig:{}. [18:32:32] [modloading-worker-0/WARN]: Incorrect key client.alwaysSetupTerrainOffThread was corrected from null to its default, false. [18:32:32] [modloading-worker-0/WARN]: Incorrect key client.experimentalForgeLightPipelineEnabled was corrected from null to its default, false. [18:32:32] [modloading-worker-0/WARN]: Incorrect key client.showLoadWarnings was corrected from null to its default, true. [18:32:32] [modloading-worker-0/WARN]: Incorrect key client.useCombinedDepthStencilAttachment was corrected from null to its default, false. [18:32:32] [modloading-worker-0/WARN]: Incorrect key client.compressLanIPv6Addresses was corrected from null to its default, true. [18:32:32] [modloading-worker-0/WARN]: Configuration file C:\Users\simon\curseforge\minecraft\Instances\Pipe-Test\config\forge-common.toml is not correct. Correcting [18:32:32] [modloading-worker-0/WARN]: Incorrect key general was corrected from null to its default, SimpleCommentedConfig:{}. [18:32:32] [modloading-worker-0/WARN]: Incorrect key general.cachePackAccess was corrected from null to its default, true. [18:32:32] [modloading-worker-0/WARN]: Incorrect key general.indexVanillaPackCachesOnThread was corrected from null to its default, false. [18:32:32] [modloading-worker-0/WARN]: Incorrect key general.indexModPackCachesOnThread was corrected from null to its default, false. [18:32:32] [Forge Version Check/INFO]: [forge] Starting version check at https://files.minecraftforge.net/net/minecraftforge/forge/promotions_slim.json [18:32:33] [Forge Version Check/INFO]: [forge] Found status: BETA Current: 45.0.50 Target: 45.0.50 [18:32:41] [Thread-6/ERROR]: An error occurred building event handler java.lang.NullPointerException: Cannot invoke "java.lang.ClassLoader.loadClass(String)" because the return value of "java.lang.Thread.getContextClassLoader()" is null at net.minecraftforge.eventbus.EventSubclassTransformer.buildEvents(EventSubclassTransformer.java:92) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventSubclassTransformer.transform(EventSubclassTransformer.java:44) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventBusEngine.processClass(EventBusEngine.java:26) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.service.ModLauncherService.processClassWithFlags(ModLauncherService.java:32) ~[eventbus-6.0.3.jar:6.0.3+6.0.3+master.039e4ea9] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.8.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.6.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] [18:32:41] [Thread-6/ERROR]: An error occurred building event handler java.lang.NullPointerException: Cannot invoke "java.lang.ClassLoader.loadClass(String)" because the return value of "java.lang.Thread.getContextClassLoader()" is null at net.minecraftforge.eventbus.EventSubclassTransformer.buildEvents(EventSubclassTransformer.java:92) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventSubclassTransformer.transform(EventSubclassTransformer.java:44) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventBusEngine.processClass(EventBusEngine.java:26) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.service.ModLauncherService.processClassWithFlags(ModLauncherService.java:32) ~[eventbus-6.0.3.jar:6.0.3+6.0.3+master.039e4ea9] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.8.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.6.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] [18:32:41] [Thread-6/ERROR]: An error occurred building event handler java.lang.NullPointerException: Cannot invoke "java.lang.ClassLoader.loadClass(String)" because the return value of "java.lang.Thread.getContextClassLoader()" is null at net.minecraftforge.eventbus.EventSubclassTransformer.buildEvents(EventSubclassTransformer.java:92) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventSubclassTransformer.transform(EventSubclassTransformer.java:44) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventBusEngine.processClass(EventBusEngine.java:26) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.service.ModLauncherService.processClassWithFlags(ModLauncherService.java:32) ~[eventbus-6.0.3.jar:6.0.3+6.0.3+master.039e4ea9] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.8.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.6.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] at net.minecraftforge.client.gui.ModListScreen.<init>(ModListScreen.java:101) ~[?:?] [18:32:41] [Thread-6/ERROR]: An error occurred building event handler java.lang.NullPointerException: Cannot invoke "java.lang.ClassLoader.loadClass(String)" because the return value of "java.lang.Thread.getContextClassLoader()" is null at net.minecraftforge.eventbus.EventSubclassTransformer.buildEvents(EventSubclassTransformer.java:92) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventSubclassTransformer.transform(EventSubclassTransformer.java:44) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventBusEngine.processClass(EventBusEngine.java:26) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.service.ModLauncherService.processClassWithFlags(ModLauncherService.java:32) ~[eventbus-6.0.3.jar:6.0.3+6.0.3+master.039e4ea9] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.8.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.6.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] at net.minecraftforge.client.gui.ModListScreen.<init>(ModListScreen.java:101) ~[?:?] [18:32:41] [Thread-6/ERROR]: An error occurred building event handler java.lang.NullPointerException: Cannot invoke "java.lang.ClassLoader.loadClass(String)" because the return value of "java.lang.Thread.getContextClassLoader()" is null at net.minecraftforge.eventbus.EventSubclassTransformer.buildEvents(EventSubclassTransformer.java:92) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventSubclassTransformer.transform(EventSubclassTransformer.java:44) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.EventBusEngine.processClass(EventBusEngine.java:26) ~[eventbus-6.0.3.jar:?] at net.minecraftforge.eventbus.service.ModLauncherService.processClassWithFlags(ModLauncherService.java:32) ~[eventbus-6.0.3.jar:6.0.3+6.0.3+master.039e4ea9] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.8.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.6.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] at net.minecraftforge.client.gui.ModListScreen.<init>(ModListScreen.java:101) ~[?:?] [18:33:01] [Render thread/INFO]: Stopping! [18:33:01] [Render thread/ERROR]: Shutdown failure! java.util.ConcurrentModificationException: null at java.util.HashMap.forEach(HashMap.java:1424) ~[?:?] at net.minecraft.client.renderer.texture.TextureManager.close(TextureManager.java:178) ~[client-1.19.4-20230314.122934-srg.jar%23154!/:?] at net.minecraft.client.Minecraft.close(Minecraft.java:1084) ~[client-1.19.4-20230314.122934-srg.jar%23154!/:?] at net.minecraft.client.Minecraft.m_91393_(Minecraft.java:1057) ~[client-1.19.4-20230314.122934-srg.jar%23154!/:?] at net.minecraft.client.main.Main.main(Main.java:221) ~[forge-45.0.50.jar:?] 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.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:27) ~[fmlloader-1.19.4-45.0.50.jar:?] at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.8.jar:?] at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]
  14. yes i know that but how can i change the texture in the json file
  15. i know about everything on that page but i dont know how to just change the texture based on a Property. (i have MANY Properties, some should change the texture and i dont want to make like 15 different models)

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.