Jump to content

[1.15.2] Help with loot modifiers and global loot modifiers


BadBichShaquonda

Recommended Posts

Hi guys, I'm making a new shark entity and I wanted to make it so that if my shark breaks any kind of boat, modded or not, the respective wood drops with some sticks.

 

For example, if a shark breaks an obsidian wood boat from some random obsidian boat mod, it should drop obsidian wood planks and two sticks (complete fictional mod).

 

Before I ask my questions, I want to point out a couple things: when a player breaks a boat, the boat item is dropped from the Minecraft code itself (no loot tables involved), and it is then destroyed using its .remove() method.

 

Minecraft determines what kind of boat to drop using a switch block. I'm unsure how is it done in other mods, probably using a loot table, but anyway, just wanted to point this out.

 

Additionally, what I'm doing in my shark entity, specifically in my SharkAttackGoal, is the following:


0. ... lots of code: here's my GitHub: https://github.com/BadBichShaquonda/shark-mod/tree/dr_shtroumphi ...
1. Check if the shark is close enough to attack
2. If it is, check if the entity that is being attacked is in a boat
3. If it is, call the boat method to drop an Item and then the boat method to remove the boat, exactly like vanilla Minecraft
4. This essentially means that my shark has no actual link to the boat, which had to do with one of the questions I will ask

 

My questions are..

 

1. Is this even possible? My java programming skills are a lot better than my JSON loot table skills

 

Assuming it is possible, then:

 

2. Are there any good guides for making loot modifiers? I know there is a guide for global loot modifiers which does not look too complicated.
3. I know what tags are, so would I use tags in this case to get modded wood from modded boats, or is this completely wrong? What should I use?
4. Because my shark has no link to the boat, what condition would I have to add in the JSON for this? I know there is 'killer', but is my shark actually considered the killer? If not, how can I make it so?
5. Would I have to make a new condition, or function? How would I go about doing either of those things?

 

Assuming it isn't possible, then what would be better? Making my own loot modifiers for simple Minecraft boats, or just doing it in java as the normal Minecraft code does..?

 

Any help here would be appreciated, as I don't quite know the limitations of loot tables. 

 

Have a great day, and thank you for your reply!

Link to comment
Share on other sites

If the boat does its own drops via Java code, it does not hook into the loot_table system and therefor does not invoke the global loot modifiers system.

Beyond that I do not understand how that relates to your shark.

  • Like 1

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

So then there would be no way of using loot modifiers to get this to work, I assume?

4 minutes ago, Draco18s said:

Beyond that I do not understand how that relates to your shark.

Not sure what you mean by this, but essentially what I want is the boat to drop its wooden materials when my shark "breaks" it.

Would there be any other way, java-wise, that I could get the type of the boat and then make it drop its planks, whether the boat is from some other mod or not?

 

Thank you

Edited by BadBichShaquonda
Link to comment
Share on other sites

13 minutes ago, BadBichShaquonda said:

So then there would be no way of using loot modifiers to get this to work, I assume?

I haven't looked at boats, but like I said, if the boat is generating the stacks without going through the standard systems, then correct: loot modifiers won't work.

14 minutes ago, BadBichShaquonda said:

I could get the type of the boat and then make it drop its planks, whether the boat is from some other mod or not?

All you should have to do is "get boat, tell boat is is broken" and let the boat handle itself.

  • Like 1

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

Also BoatEntity#getBoatType().asPlank()

Edited by Draco18s
  • Like 1

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

5 minutes ago, Ugdhar said:

I don't think BoatEntity#getBoatType() will work for modded boats, as the BoatEntity.Type enum is coded with the vanilla boat materials, and doesnot appear extensible.

Possible. I don't have a modded boat to look at. I was just looking at what BoatEntity#updateFallState() does (the only place it generates its non BoatItem drops).

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

This mod has a bamboo boat:

https://github.com/bageldotjpg/Bamboo-Blocks/tree/master/src/main/java/com/pugz/bambooblocks/core

 

In https://github.com/bageldotjpg/Bamboo-Blocks/blob/master/src/main/java/com/pugz/bambooblocks/core/BambooBlocksRegistry.java :

public static final RegistryObject<Item> BAMBOO_BOAT = HELPER.createBoatItem("bamboo", BAMBOO_PLANKS);

 

I'm guessing then that any boat that would extend the boat item class would work in my favor? The HELPER variable is of type RegistryHeper.

Edited by BadBichShaquonda
Link to comment
Share on other sites

That helper class is someone a library mod (source here) where he uses a custom boat item, a custom "boat registry," a custom boat entity, which has a custom way of handling the drops.

 

You are not guaranteed that every modder will do things using that same library. In fact, I would suspect the opposite: that every modder will run their own custom solution.

 

Good (friggin') luck

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

The other solution is to just make the boat drop as normal, or not make it drop at all. I may just make it drop as normal since that will just solve everything.

Actually no it won't. Because the shark will only be able to break vanilla boats. The check I'm using is

if(enemy.isPassenger() && enemy.getRidingEntity().getClass() == BoatEntity.class) {
	BoatEntity boat = (BoatEntity) enemy.getRidingEntity();
	boat.entityDropItem(boat.getItemBoat());
	boat.remove();
}

 

Honestly I guess I'll just make it vanilla compatible, and the shark wont be able to break other mods' boats. and if someone wants it to be compatible, i'll make it compatible with some specific mods XD

 

15 minutes ago, Draco18s said:

Good (friggin') luck

Thanks XD

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Thanks, it worked!
    • Make sure you are using Java 21 And do not use the OneDrive directory
    • This is the error log from a new issue I've been having with crashing since updating mods in my 1.20.1 mudpack. The FATAL says something about mixin and failing to apply some sort of integrated API... I don't know a lot about this, thought someone here might be able to help.   [04Jun2024 07:59:59.198] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, {MINECRAFT_USERNAME}, --version, 1.20.1, --gameDir, /Users/{COMPUTER_USERNAME}/Library/Application Support/com.modrinth.theseus/profiles/Lesbian Lotatds Redux, --assetsDir, /Users/{COMPUTER_USERNAME}/Library/Application Support/com.modrinth.theseus/meta/assets, --assetIndex, 5, --uuid, {MINECRAFT_UUID}, --accessToken, ❄❄❄❄❄❄❄❄, --clientId, c4502edb-87c6-40cb-b595-64a280cf8906, --xuid, 0, --userType, msa, --versionType, release, --width, 854, --height, 480, --launchTarget, forgeclient, --fml.forgeVersion, 47.2.17, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412] [04Jun2024 07:59:59.201] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.10 by Azul Systems, Inc.; OS Mac OS X arch aarch64 version 14.4.1 [04Jun2024 08:00:00.215] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow [04Jun2024 08:00:00.340] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6 [04Jun2024 08:00:00.402] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.5 [04Jun2024 08:00:00.413] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.4 [04Jun2024 08:00:00.420] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.3 [04Jun2024 08:00:00.426] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.2 [04Jun2024 08:00:00.439] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.1 [04Jun2024 08:00:00.449] [main/INFO] [EARLYDISPLAY/]: Requested GL version 4.1 got version 4.1 [04Jun2024 08:00:00.534] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/Users/{COMPUTER_USERNAME}/Library/Application%20Support/com.modrinth.theseus/meta/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2399!/ Service=ModLauncher Env=CLIENT [04Jun2024 08:00:00.550] [pool-2-thread-1/INFO] [EARLYDISPLAY/]: GL info: Apple M1 GL version 4.1 Metal - 88, Apple [04Jun2024 08:00:00.946] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/{COMPUTER_USERNAME}/Library/Application Support/com.modrinth.theseus/meta/libraries/net/minecraftforge/fmlcore/1.20.1-47.2.17/fmlcore-1.20.1-47.2.17.jar is missing mods.toml file [04Jun2024 08:00:00.947] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/{COMPUTER_USERNAME}/Library/Application Support/com.modrinth.theseus/meta/libraries/net/minecraftforge/javafmllanguage/1.20.1-47.2.17/javafmllanguage-1.20.1-47.2.17.jar is missing mods.toml file [04Jun2024 08:00:00.948] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/{COMPUTER_USERNAME}/Library/Application Support/com.modrinth.theseus/meta/libraries/net/minecraftforge/lowcodelanguage/1.20.1-47.2.17/lowcodelanguage-1.20.1-47.2.17.jar is missing mods.toml file [04Jun2024 08:00:00.948] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/{COMPUTER_USERNAME}/Library/Application Support/com.modrinth.theseus/meta/libraries/net/minecraftforge/mclanguage/1.20.1-47.2.17/mclanguage-1.20.1-47.2.17.jar is missing mods.toml file [04Jun2024 08:00:01.242] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File:  and Mod File: . Using Mod File:  [04Jun2024 08:00:01.243] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: cloth_config. Using Mod File: /Users/{COMPUTER_USERNAME}/Library/Application Support/com.modrinth.theseus/profiles/Lesbian Lotatds Redux/mods/cloth-config-11.1.118-forge.jar [04Jun2024 08:00:01.243] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 19 dependencies adding them to mods collection [04Jun2024 08:00:03.334] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [04Jun2024 08:00:03.449] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeclient' with arguments [--version, 1.20.1, --gameDir, /Users/{COMPUTER_USERNAME}/Library/Application Support/com.modrinth.theseus/profiles/Lesbian Lotatds Redux, --assetsDir, /Users/{COMPUTER_USERNAME}/Library/Application Support/com.modrinth.theseus/meta/assets, --uuid, {MINECRAFT_UUID}, --username, {MINECRAFT_USERNAME}, --assetIndex, 5, --accessToken, ❄❄❄❄❄❄❄❄, --clientId, c4502edb-87c6-40cb-b595-64a280cf8906, --xuid, 0, --userType, msa, --versionType, release, --width, 854, --height, 480] [04Jun2024 08:00:03.453] [main/WARN] [mixin/]: Reference map 'kuma_api.refmap.json' for kuma_api.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.454] [main/WARN] [mixin/]: Reference map 'kuma_api.refmap.json' for kuma_api.forge.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.472] [main/WARN] [mixin/]: Reference map 'createdeco-forge-refmap.json' for createdeco.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.474] [main/WARN] [mixin/]: Reference map 'ritchiesprojectilelib-forge-refmap.json' for ritchiesprojectilelib-forge.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.477] [main/WARN] [mixin/]: Reference map 'cookingforblockheads.refmap.json' for cookingforblockheads.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.528] [main/WARN] [mixin/]: Reference map 'interiors-forge-refmap.json' for interiors.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.534] [main/WARN] [mixin/]: Reference map 'createframed.refmap.json' for createframed.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.536] [main/WARN] [mixin/]: Reference map 'cobblemonintegrations-forge-refmap.json' for cobblemonintegrations.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.537] [main/WARN] [mixin/]: Reference map 'create_mechanical_spawner.refmap.json' for create_mechanical_spawner.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.543] [main/WARN] [mixin/]: Reference map 'CreateLiquidFuel.refmap.json' for createliquidfuel.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.556] [main/WARN] [mixin/]: Reference map 'trashslot.refmap.json' for trashslot.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.569] [main/WARN] [mixin/]: Reference map 'tfmg.refmap.json' for design_decor.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:03.590] [main/WARN] [mixin/]: Reference map 'tfmg.refmap.json' for tfmg.mixins.json could not be read. If this is a development environment you can ignore this message [04Jun2024 08:00:04.466] [main/WARN] [mixin/]: Error loading class: com/copycatsplus/copycats/content/copycat/slab/CopycatSlabBlock (java.lang.ClassNotFoundException: com.copycatsplus.copycats.content.copycat.slab.CopycatSlabBlock) [04Jun2024 08:00:04.466] [main/WARN] [mixin/]: @Mixin target com.copycatsplus.copycats.content.copycat.slab.CopycatSlabBlock was not found create_connected.mixins.json:compat.CopycatBlockMixin [04Jun2024 08:00:04.467] [main/WARN] [mixin/]: Error loading class: com/copycatsplus/copycats/content/copycat/board/CopycatBoardBlock (java.lang.ClassNotFoundException: com.copycatsplus.copycats.content.copycat.board.CopycatBoardBlock) [04Jun2024 08:00:04.467] [main/WARN] [mixin/]: @Mixin target com.copycatsplus.copycats.content.copycat.board.CopycatBoardBlock was not found create_connected.mixins.json:compat.CopycatBlockMixin [04Jun2024 08:00:04.470] [main/WARN] [mixin/]: Error loading class: me/jellysquid/mods/lithium/common/ai/pathing/PathNodeDefaults (java.lang.ClassNotFoundException: me.jellysquid.mods.lithium.common.ai.pathing.PathNodeDefaults) [04Jun2024 08:00:04.584] [main/WARN] [mixin/]: Error loading class: juuxel/adorn/block/variant/BlockVariantSets (java.lang.ClassNotFoundException: juuxel.adorn.block.variant.BlockVariantSets) [04Jun2024 08:00:04.584] [main/WARN] [mixin/]: @Mixin target juuxel.adorn.block.variant.BlockVariantSets was not found mixins.cobblemon-common.json:invoker.AdornRegisterInvoker [04Jun2024 08:00:04.673] [main/WARN] [mixin/]: Error loading class: dev/latvian/mods/kubejs/recipe/RecipesEventJS (java.lang.ClassNotFoundException: dev.latvian.mods.kubejs.recipe.RecipesEventJS) [04Jun2024 08:00:04.674] [main/WARN] [mixin/]: @Mixin target dev.latvian.mods.kubejs.recipe.RecipesEventJS was not found sliceanddice.mixins.json:RecipeEventJSMixin [04Jun2024 08:00:04.773] [main/ERROR] [net.minecraftforge.coremod.transformer.CoreModBaseTransformer/COREMOD]: Error occurred applying transform of coremod coremods/field_to_method.js function biome java.lang.IllegalStateException: Field f_47437_ is not private and an instance field     at net.minecraftforge.coremod.api.ASMAPI.redirectFieldToMethod(ASMAPI.java:260) ~[coremods-5.0.1.jar:?]     at org.openjdk.nashorn.internal.scripts.Script$Recompilation$90$292A$\^eval\_.initializeCoreMod#transformer(<eval>:11) ~[?:?]     at org.openjdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:648) ~[nashorn-core-15.3.jar:?]     at org.openjdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ~[nashorn-core-15.3.jar:?]     at org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:520) ~[nashorn-core-15.3.jar:?]     at org.openjdk.nashorn.api.scripting.ScriptObjectMirror.call(ScriptObjectMirror.java:111) ~[nashorn-core-15.3.jar:?]     at net.minecraftforge.coremod.NashornFactory.lambda$getFunction$0(NashornFactory.java:18) ~[coremods-5.0.1.jar:5.0.1+15+master.dc5a2922]     at net.minecraftforge.coremod.transformer.CoreModClassTransformer.runCoremod(CoreModClassTransformer.java:18) ~[coremods-5.0.1.jar:?]     at net.minecraftforge.coremod.transformer.CoreModClassTransformer.runCoremod(CoreModClassTransformer.java:10) ~[coremods-5.0.1.jar:?]     at net.minecraftforge.coremod.transformer.CoreModBaseTransformer.transform(CoreModBaseTransformer.java:38) ~[coremods-5.0.1.jar:?]     at cpw.mods.modlauncher.TransformerHolder.transform(TransformerHolder.java:41) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.ClassTransformer.performVote(ClassTransformer.java:179) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:117) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.cl.ModuleClassLoader.getMaybeTransformedClassBytes(ModuleClassLoader.java:250) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.modlauncher.TransformingClassLoader.buildTransformedClassNodeFor(TransformingClassLoader.java:58) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.LaunchPluginHandler.lambda$announceLaunch$10(LaunchPluginHandler.java:100) ~[modlauncher-10.0.9.jar:?]     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.getClassNode(MixinLaunchPluginLegacy.java:222) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.getClassNode(MixinLaunchPluginLegacy.java:207) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.ClassInfo.forName(ClassInfo.java:2005) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinInfo.getTargetClass(MixinInfo.java:1017) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinInfo.readTargetClasses(MixinInfo.java:1007) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinInfo.parseTargets(MixinInfo.java:895) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinConfig.prepareMixins(MixinConfig.java:867) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinConfig.prepare(MixinConfig.java:775) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:539) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:462) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:438) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:290) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30]     at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]     at java.lang.Class.forName(Unknown Source) ~[?:?]     at net.minecraftforge.fml.earlydisplay.DisplayWindow.lambda$updateModuleReads$18(DisplayWindow.java:598) ~[fmlearlydisplay-1.20.1-47.2.17.jar:1.0]     at java.util.Optional.map(Unknown Source) ~[?:?]     at net.minecraftforge.fml.earlydisplay.DisplayWindow.updateModuleReads(DisplayWindow.java:598) ~[fmlearlydisplay-1.20.1-47.2.17.jar:1.0]     at net.minecraftforge.fml.loading.ImmediateWindowHandler.acceptGameLayer(ImmediateWindowHandler.java:71) ~[fmlloader-1.20.1-47.2.17.jar:1.0]     at net.minecraftforge.fml.loading.FMLLoader.beforeStart(FMLLoader.java:207) ~[fmlloader-1.20.1-47.2.17.jar:1.0]     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.launchService(CommonLaunchHandler.java:92) ~[fmlloader-1.20.1-47.2.17.jar:?]     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] [04Jun2024 08:00:04.964] [main/WARN] [mixin/]: Error loading class: dan200/computercraft/shared/integration/MoreRedIntegration (java.lang.ClassNotFoundException: dan200.computercraft.shared.integration.MoreRedIntegration) [04Jun2024 08:00:04.964] [main/WARN] [mixin/]: @Mixin target dan200.computercraft.shared.integration.MoreRedIntegration was not found create_central_kitchen.mixins.json:common.computercraft.MoreRedIntegrationMixin [04Jun2024 08:00:04.997] [main/WARN] [mixin/]: Error loading class: com/sammy/minersdelight/content/block/copper_pot/CopperPotBlockEntity (java.lang.ClassNotFoundException: com.sammy.minersdelight.content.block.copper_pot.CopperPotBlockEntity) [04Jun2024 08:00:04.997] [main/WARN] [mixin/]: @Mixin target com.sammy.minersdelight.content.block.copper_pot.CopperPotBlockEntity was not found create_central_kitchen.mixins.json:common.minersdelight.CopperPotBlockEntityMixin [04Jun2024 08:00:04.998] [main/WARN] [mixin/]: Error loading class: com/sammy/minersdelight/content/block/sticky_basket/StickyBasketBlockEntity (java.lang.ClassNotFoundException: com.sammy.minersdelight.content.block.sticky_basket.StickyBasketBlockEntity) [04Jun2024 08:00:04.998] [main/WARN] [mixin/]: @Mixin target com.sammy.minersdelight.content.block.sticky_basket.StickyBasketBlockEntity was not found create_central_kitchen.mixins.json:common.minersdelight.StickyBasketBlockEntityAccessor [04Jun2024 08:00:05.002] [main/WARN] [mixin/]: Error loading class: com/sammy/minersdelight/content/block/sticky_basket/StickyBasketBlockEntity (java.lang.ClassNotFoundException: com.sammy.minersdelight.content.block.sticky_basket.StickyBasketBlockEntity) [04Jun2024 08:00:05.002] [main/WARN] [mixin/]: @Mixin target com.sammy.minersdelight.content.block.sticky_basket.StickyBasketBlockEntity was not found create_central_kitchen.mixins.json:common.minersdelight.StickyBasketBlockEntityMixin [04Jun2024 08:00:05.003] [main/WARN] [mixin/]: Error loading class: net/orcinus/overweightfarming/blocks/CropFullBlock (java.lang.ClassNotFoundException: net.orcinus.overweightfarming.blocks.CropFullBlock) [04Jun2024 08:00:05.004] [main/WARN] [mixin/]: @Mixin target net.orcinus.overweightfarming.blocks.CropFullBlock was not found create_central_kitchen.mixins.json:common.overweightfarming.CropFullBlockMixin [04Jun2024 08:00:05.029] [main/INFO] [memoryleakfix/]: [MemoryLeakFix] Will be applying 3 memory leak fixes! [04Jun2024 08:00:05.030] [main/INFO] [memoryleakfix/]: [MemoryLeakFix] Currently enabled memory leak fixes: [targetEntityLeak, biomeTemperatureLeak, hugeScreenshotLeak] [04Jun2024 08:00:05.177] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.6). [04Jun2024 08:00:08.715] [Datafixer Bootstrap/INFO] [com.mojang.datafixers.DataFixerBuilder/]: 188 Datafixer optimizations took 153 milliseconds [04Jun2024 08:00:09.469] [pool-4-thread-1/ERROR] [net.minecraftforge.coremod.transformer.CoreModBaseTransformer/COREMOD]: Error occurred applying transform of coremod coremods/field_to_method.js function biome java.lang.IllegalStateException: Field f_47437_ is not private and an instance field     at net.minecraftforge.coremod.api.ASMAPI.redirectFieldToMethod(ASMAPI.java:260) ~[coremods-5.0.1.jar:?]     at org.openjdk.nashorn.internal.scripts.Script$Recompilation$90$292A$\^eval\_.initializeCoreMod#transformer(<eval>:11) ~[?:?]     at org.openjdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:648) ~[nashorn-core-15.3.jar:?]     at org.openjdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ~[nashorn-core-15.3.jar:?]     at org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:520) ~[nashorn-core-15.3.jar:?]     at org.openjdk.nashorn.api.scripting.ScriptObjectMirror.call(ScriptObjectMirror.java:111) ~[nashorn-core-15.3.jar:?]     at net.minecraftforge.coremod.NashornFactory.lambda$getFunction$0(NashornFactory.java:18) ~[coremods-5.0.1.jar:5.0.1+15+master.dc5a2922]     at net.minecraftforge.coremod.transformer.CoreModClassTransformer.runCoremod(CoreModClassTransformer.java:18) ~[coremods-5.0.1.jar:?]     at net.minecraftforge.coremod.transformer.CoreModClassTransformer.runCoremod(CoreModClassTransformer.java:10) ~[coremods-5.0.1.jar:?]     at net.minecraftforge.coremod.transformer.CoreModBaseTransformer.transform(CoreModBaseTransformer.java:38) ~[coremods-5.0.1.jar:?]     at cpw.mods.modlauncher.TransformerHolder.transform(TransformerHolder.java:41) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.ClassTransformer.performVote(ClassTransformer.java:179) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:117) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.10.jar:?]     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]     at net.minecraft.world.level.biome.FixedBiomeSource.<clinit>(FixedBiomeSource.java:17) ~[client-1.20.1-20230612.114412-srg.jar%23355!/:?]     at net.minecraft.world.level.biome.BiomeSources.m_220586_(BiomeSources.java:8) ~[client-1.20.1-20230612.114412-srg.jar%23355!/:?]     at net.minecraft.core.registries.BuiltInRegistries.m_258029_(BuiltInRegistries.java:448) ~[client-1.20.1-20230612.114412-srg.jar%23355!/:?]     at net.minecraft.core.registries.BuiltInRegistries.m_258037_(BuiltInRegistries.java:462) ~[client-1.20.1-20230612.114412-srg.jar%23355!/:?]     at java.util.LinkedHashMap.forEach(Unknown Source) ~[?:?]     at net.minecraft.core.registries.BuiltInRegistries.m_257453_(BuiltInRegistries.java:461) ~[client-1.20.1-20230612.114412-srg.jar%23355!/:?]     at net.minecraft.core.registries.BuiltInRegistries.m_257498_(BuiltInRegistries.java:455) ~[client-1.20.1-20230612.114412-srg.jar%23355!/:?]     at net.minecraft.server.Bootstrap.m_135870_(Bootstrap.java:55) ~[client-1.20.1-20230612.114412-srg.jar%23355!/:?]     at net.minecraft.client.main.Main.lambda$main$0(Main.java:151) ~[client-1.20.1-20230612.114412-srg.jar%23355!/:?]     at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:?]     at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:?]     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]     at java.lang.Thread.run(Unknown Source) ~[?:?] [04Jun2024 08:00:10.012] [Render thread/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/Users/{COMPUTER_USERNAME}/Library/Application%20Support/com.modrinth.theseus/meta/libraries/net/minecraft/client/1.20.1-20230612.114412/client-1.20.1-20230612.114412-srg.jar%23355!/assets/.mcassetsroot' uses unexpected schema [04Jun2024 08:00:10.012] [Render thread/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/Users/{COMPUTER_USERNAME}/Library/Application%20Support/com.modrinth.theseus/meta/libraries/net/minecraft/client/1.20.1-20230612.114412/client-1.20.1-20230612.114412-srg.jar%23355!/data/.mcassetsroot' uses unexpected schema [04Jun2024 08:00:10.021] [Render thread/INFO] [com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService/]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD' [04Jun2024 08:00:10.401] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Setting user: {MINECRAFT_USERNAME} [04Jun2024 08:00:10.405] [Render thread/FATAL] [mixin/]: Mixin apply failed kuma_api.mixins.json:KeyMappingAccessor -> net.minecraft.client.KeyMapping: org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException No candidates were found matching key:Lcom/mojang/blaze3d/platform/InputConstants$Key; in net/minecraft/client/KeyMapping for kuma_api.mixins.json:KeyMappingAccessor->@Accessor[FIELD_GETTER]::getKey()Lcom/mojang/blaze3d/platform/InputConstants$Key; [INJECT Applicator Phase -> kuma_api.mixins.json:KeyMappingAccessor -> Apply Accessors ->  -> Locate -> kuma_api.mixins.json:KeyMappingAccessor->@Accessor[FIELD_GETTER]::getKey()Lcom/mojang/blaze3d/platform/InputConstants$Key;] org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException: No candidates were found matching key:Lcom/mojang/blaze3d/platform/InputConstants$Key; in net/minecraft/client/KeyMapping for kuma_api.mixins.json:KeyMappingAccessor->@Accessor[FIELD_GETTER]::getKey()Lcom/mojang/blaze3d/platform/InputConstants$Key; [INJECT Applicator Phase -> kuma_api.mixins.json:KeyMappingAccessor -> Apply Accessors ->  -> Locate -> kuma_api.mixins.json:KeyMappingAccessor->@Accessor[FIELD_GETTER]::getKey()Lcom/mojang/blaze3d/platform/InputConstants$Key;]     at org.spongepowered.asm.mixin.gen.AccessorInfo.findTarget(AccessorInfo.java:518) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.gen.AccessorInfo.findTargetField(AccessorInfo.java:501) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.gen.AccessorInfo.locate(AccessorInfo.java:475) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinTargetContext.generateAccessors(MixinTargetContext.java:1389) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyAccessors(MixinApplicatorStandard.java:1060) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:398) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30]     at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.10.jar:?]     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]     at net.minecraft.client.Minecraft.<init>(Minecraft.java:421) ~[client-1.20.1-20230612.114412-srg.jar%23355!/:?]     at net.minecraft.client.main.Main.main(Main.java:182) ~[1.20.1-1.20.1-47.2.17.jar:?]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]     at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.2.17.jar:?]     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.2.17.jar:?]     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.2.17.jar:?]     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]  
    • I tried installing forge for 1.20.6 and for some reason when i open it, it says: "Java Virtual Machine Launcher": Error: Unable to acces jarfile C:\Users\PC\OneDrive\???????????\forge-1.20.6-50.1.0-installer.jar. I dont have any idea what to do. Can anyone help?
    • Update I seem to have fixed it by removing the folders made when the server first starts (e.g. config, world) and starting it all again.  
  • Topics

×
×
  • Create New...

Important Information

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