-
Posts
5117 -
Joined
-
Last visited
-
Days Won
75
Everything posted by Choonster
-
[1.8]Adding a mod into a workspace doesn't work
Choonster replied to JTK222's topic in Modder Support
You're trying to call methods with SRG (obfuscated) names in the deobfuscated environment. The two most likely reasons for this are that it was built for the obfuscated environment or that it was built using an older version of the MCP mappings. To build a mod for the deobfuscated environment, use gradlew jar instead of gradlew build (which reobfuscates the mod). You can change the MCP mappings version using the minecraft.mappings variable in your build.gradle script. -
Make a forge server multiplayer for play with mods on my computer
Choonster replied to Invau's topic in Support & Bug Reports
This is the wrong section, but the thread will probably be moved for you. We need the full FML log (logs/fml-server-latest.log) to help you. Upload it to Gist and link it here. -
It looks like you're reinventing the command system. You should create a class that implements ICommand (extending CommandBase will handle a lot of stuff for you) for each of your commands and then register them with ClientCommandHandler#registerCommand .
-
how to you get the world without a method. 1.7.10
Choonster replied to BoonieQuafter-CrAfTeR's topic in Modder Support
FYI: The OP's code is adapted from an example I provided in their previous thread. -
[1.8] Item (and maybe Block) name and getName
Choonster replied to jeffryfisher's topic in Modder Support
This is just Wuppy's style, it's not required (or used at all) by Forge. He just uses it to store the name passed to GameRegistry.registerBlock . -
It's the same as in 1.7.10.
-
The following advice assumes you're using 1.8. It's pretty similar in 1.7.10. Block#onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) is called when an Entity collides with the Block . The other overload is only called when an Entity walks on top of the Block . An Entity will only collide with a Block if it has a bounding box smaller than a full cube. An offset of 0.01 on each side is enough to allow collisions.
-
Select mcp working directory for deobfuscator?[Whats that]
Choonster replied to ItsAMysteriousYT's topic in Modder Support
You need to point it to an MCP conf directory. For 1.7.10, you can find this in ~/.gradle/caches/minecraft/net/minecraftforge/forge/<version>/unpacked/conf (replace ~ with %USERPROFILE% on Windows). -
Select mcp working directory for deobfuscator?[Whats that]
Choonster replied to ItsAMysteriousYT's topic in Modder Support
Are you using CodeChickenCore? It requires MCP mappings to do runtime deobfuscation of mods. -
[Solved] [1.8] Block#setLightLevel not working
Choonster replied to LordMastodon's topic in Modder Support
Instead of setting the block bounds directly, you should override Block#setBlockBoundsBasedOnState and set the bounds there. Block is a singleton, so calling Block#setBlockBounds modifies the bounds for all occurrences of the block. setBlockBoundsBasedOnState should be called before the bounds are queried. -
[Solved] [1.8] Block#setLightLevel not working
Choonster replied to LordMastodon's topic in Modder Support
Block bounds are on a scale of 0 to 1. A full block is length 1 on each side. -
In 1.8, you can use Entity#onKillCommand to kill an Entity . Entity#getPosition will return the Entity 's current position as a BlockPos . Use World#setBlockState to set the block state at the specified position and World#setBlockToAir to set the block at the specified position to air.
-
ItemStack doesn't override the hashCode method, so two instances are treated as different keys even if they share the same contents. To use an ItemStack as a key, you'll need a wrapper class that overrides hashCode to return the hash code of the ItemStack 's contents; com.google.common.base.Objects#hashCode will combine the hash codes of multiple objects for you. Exactly which parts of the ItemStack you use in the hash code depends on your requirements: Do you only care about the Item , stack size and metadata; or do you include the NBT as well? NBTTagCompound overrides hashCode to return the hash of its contents, so you don't need to calculate that yourself.
-
[1.7.10] @SideOnly(Side.CLIENT) Not use it anymore?
Choonster replied to American2050's topic in Modder Support
You can use as many annotations as you want. You should always use @Override when overriding a method and @SideOnly when overriding a method with @SideOnly . -
Look at the log file, then. It should be in the logs folder of your Minecraft directory.
-
Well what's the actual error that's thrown? Is it a StackOverflowError ?
-
Post the full stack trace. This method is called recursively, so it's possible you'll get a StackOverflowError if a model has a cyclic inheritance graph (e.g. A has parent B, B has parent A).
-
You need to think about how each property's value will be stored in the metadata and then convert to and from the metadata appropriately. For a single boolean, you can just use metadata values 0 and 1.
-
Why add them as dependencies in the buildscript block? Isn't that only for the build script's dependencies?
-
[Solved] [1.8] How to update Forge version
Choonster replied to LordMastodon's topic in Modder Support
There's no need to run Gradle for the MDK download, just copy the ForgeGradle plugin declaration and Forge version from the build.gradle file into yours and run the Gradle commands I mentioned for your project. -
[1.7.10] how do I know when I need the world to be client or server?
Choonster replied to kauan99's topic in Modder Support
Yes, the server is the authority on pretty much any calculation; including damage. As long as the potion is active on the server, its effects should work. -
[Solved] [1.8] How to update Forge version
Choonster replied to LordMastodon's topic in Modder Support
For Eclipse, run gradlew setupDecompWorkspace cleanEclipse eclipse . For IDEA, run the setupDecompWorkspace task and then refresh it in the Gradle tab. Download and extract the version 1506 MDK (the new name for the src download), open its build.gradle file in a text editor and compare it to your current one. You'll want to replace the buildscript block and apply plugin line of your build.gradle with the plugins block of the new build.gradle. -
[1.7.10] how do I know when I need the world to be client or server?
Choonster replied to kauan99's topic in Modder Support
Most things should either be done only on the server (if a packet is automatically sent to the clients) or on both sides (if a packet isn't automatically sent). In this case, the server will automatically send a packet to the clients when you add, change or remove a potion effect; so you only need to do it on the server. -
[Solved] [1.8] How to update Forge version
Choonster replied to LordMastodon's topic in Modder Support
It's the same for any version of Forge that uses ForgeGradle: change the minecraft.version field in your build.gradle script to the appropriate version from files.minecraftforge.net and refresh or regenerate your IDE project. Recent versions of 1.8 have changed the way that the ForgeGradle plugin is applied (since there's now a stable version rather than a snapshot), so if you're updating to version 1503 or newer you should copy the changes to your build.gradle script. -
You've added a recipe for an ItemStack with a null Item . You should instantiate and register your Block s and Item s in preInit and then add your recipes in init.