-
Posts
5161 -
Joined
-
Last visited
-
Days Won
76
Everything posted by Choonster
-
[1.8.9] Unable to get block textures to work
Choonster replied to JamieEdwards's topic in Modder Support
That isnt the problem, the call for that IS coming from the client proxy and not my common proxy. The code you posted shows registerTexture being called in the same method as GameRegistry.registerItem . Do you have a separate registration method for the dedicated server? I realise it's not causing the issue that this thread is about, but it will cause issues if you don't separate client-only code properly. -
The substitution alias system ( GameRegistry.addSubstitutionAlias ) is supposed to allow this, but I haven't had much luck with it myself.
-
[1.8.9] Unable to get block textures to work
Choonster replied to JamieEdwards's topic in Modder Support
ModelLoader and ModelResourceLocation are client-only classes. If you register models from common code instead of from your client proxy, you'll crash the dedicated server. -
[1.8] help solving issue whith custom elevator
Choonster replied to perromercenary00's topic in Modder Support
You're using 2.0.2 stable, which includes the fix. Once you've set up the ForgeGradle workspace and imported the project into your Eclipse workspace, the crash in the OP should no longer happen. -
[1.8] help solving issue whith custom elevator
Choonster replied to perromercenary00's topic in Modder Support
"ForgeGradle 2.0-SNAPSHOT" without a number after it means you're either running an old snapshot or one of the stable versions. In your build.gradle script, have you got a buildscript block followed by apply plugin: 'net.minecraftforge.gradle.forge' (the snapshot) or have you got a plugins block (the stable version)? Most recent versions of the MDK have both of these, with one commented out. If you're not sure, upload your build.gradle script to Gist and link it here. Make sure you keep the .gradle extension so it has syntax highlighting. The eclipse folder isn't generated by Gradle, it's only included in the MDK download. I don't use Eclipse myself, but from what I understand you can create a workspace yourself and import the project generated by the eclipse Gradle task. The eclipse folder shouldn't be required. -
[1.8] help solving issue whith custom elevator
Choonster replied to perromercenary00's topic in Modder Support
This exception is caused by ForgeGradle not rebuilding Minecraft with debug information (see this issue). There is another exception being thrown that's the initial cause of the crash, but the missing debug information causes the crash report system to crash the game (hiding the initial cause). Make sure you're running either ForgeGradle 2.0.2 or the latest 2.0 snapshot (2532819 at the time of this post), delete the ~/.gradle/caches/minecraft/net/minecraftforge/forge/<forge_version> directory (replace ~ with %USERPROFILE on Windows) and then re-run gradlew setupDecompWorkspace . This should rebuild Minecraft with debug information, revealing the initial cause of the crash. -
Your implementation of IGuiHandler#getServerGuiElement must return a Container , not a GuiScreen .
-
custom block that prevents spawning of mobs in a certain perimeter
Choonster replied to Thaliviel's topic in Modder Support
If the World#perWorldStorage field is public in 1.6.4, your new code is correct. The field is protected in 1.8.9, but that may be a recent change. -
[1.8.9] Data packet not being received by server?
Choonster replied to AubriTheHuman's topic in Modder Support
Any IMessage sent through SimpleNetworkWrapper can be either client-to-server or server-to-client. You just need to register the message using the receiving Side rather than the sending Side . The main purpose of a Container is to sync inventory contents between the server and client, but you can also use ICrafting#sendProgressBarUpdate to send two int s to the client-side Container (this calls Container#updateProgressBar on the client side). Container doesn't provide any way of sending other types of data or client-to-server data, you need to use your own packets ( IMessage s) for that. This tutorial explains SimpleNetworkWrapper in more detail. -
[1.8.9] Data packet not being received by server?
Choonster replied to AubriTheHuman's topic in Modder Support
The Side passed to SimpleNetworkWrapper#registerMessage is the side that receives and handles the packet, not the side that sends it. A client-to-server message should be registered with Side.SERVER . S35PacketUpdateTileEntity is usually returned from TileEntity#getDescriptionPacket to sync data from the server to the clients in the area surrounding the TileEntity . The client-side handler for this packet calls TileEntity#onDataPacket . This can't be used to send values from the client to the server. -
custom block that prevents spawning of mobs in a certain perimeter
Choonster replied to Thaliviel's topic in Modder Support
An instance of World is one dimension, yes. There's no point in creating an ArrayList if you're immediately assigning another value to the variable. Declare the mbBlockList variable in the same statement as you're calling mbdata.getList() in. Your get method does receive a World argument, but it uses World#loadItemData to load the data from that World . At least in 1.8.9, this uses the global MapStorage ( World#mapStorage ) instead of that dimension's MapStorage ( World#perWorldStorage ). -
custom block that prevents spawning of mobs in a certain perimeter
Choonster replied to Thaliviel's topic in Modder Support
Have you looked at the source of the World#loadItemData method? In 1.8.9, it uses World#mapStorage (global) rather than World#perWorldStorage (per-dimension). -
[1.8.9] Can't add JEI dependency to workspace
Choonster replied to sjoopies's topic in Modder Support
Ah, I'm glad you fixed it. Gradle files aren't Java code, so you should have kept the .gradle extension on the Gist file. I probably should have made this clearer in my previous post, I copy/pasted it from a more general response I use to tell people how to post code properly. -
How to change the way light levels are determined?
Choonster replied to Magneto's topic in Modder Support
I doubt this will be easy. You'll probably need to read up on how OpenGL and Minecraft's lighting system work and then modify/re-implement the lighting system using ASM. Doing this likely break compatibility with a lot of mods. -
[1.8.9] Can't add JEI dependency to workspace
Choonster replied to sjoopies's topic in Modder Support
Upload your build.gradle file to Gist or Pastebin with syntax highlighting and link it here. To get syntax highlighting on Gist, give each file the appropriate extension (.gradle for Gradle scripts). To get syntax highlighting on Pastebin, select the language from the dropdown at the bottom of the page. Edit: Reworded my copy/pasted text on syntax highlighting to be more appropriate for this situation. -
I imagine that this is because the brewing isn't directly triggered by a player like regular crafting is. The only way to approximate which player brewed the potion is to record who took the resulting potions out of the brewing stand. Unless you can use an existing hook or event, you'll have to either make a PR to Forge (which is very unlikely to get merged for 1.7.10, since it's now outdated) or resort to ASM. ASM requires knowledge of the Java bytecode format and there aren't many tutorials on it.
-
[1.8.9] Can't add JEI dependency to workspace
Choonster replied to sjoopies's topic in Modder Support
Did you add the Maven repository shown in the README? -
Look at the subclasses of cpw.mods.fml.common.eventhandler.Event in your IDE to see which events are provided by Forge. PotionBrewEvent.Pre / Post are fired when a potion is brewed. None of the other events you described are provided by Forge and I'm not aware of any mods that do provide them. In 1.8.9, EntityTravelToDimensionEvent is fired when an entity changes dimensions.
-
I'm not aware of Forge changing anything that would affect this, but your post is a bit vague. Describe your setup in more detail. Does it work in vanilla? Does it work in Forge with no mods? Does it work in Forge with mods? If not, how doesn't it work?
-
What's This Pack is client-only. It looks like the IDs for Witchery, Ars Magica 2 and possibly Blood Arsenal are conflicting. You should be able to change these in the config files for each mod. It looks like Sanguimancy may be trying to use an invalid potion ID.
-
[1.8.9] FIXED Impossible mission: Texture on items
Choonster replied to hanschrome's topic in Modder Support
Can you upload the full FML log (from logs/fml-client-latest.log) to Gist and link it here? -
custom block that prevents spawning of mobs in a certain perimeter
Choonster replied to Thaliviel's topic in Modder Support
Try denying the spawn unconditionally. Does this prevent all mobs from spawning? I don't feel like setting up Java 7 to run 1.6.4, but I tried this in 1.8.9 and it did appear to prevent all mobs from spawning. -
[1.7.10] How to get an Item given its numeric ID and metadata
Choonster replied to kauan99's topic in Modder Support
An Item by itself is just one item type (i.e. one item ID). An ItemStack holds an Item , metadata value, stack size and NBT tag. Keep in mind that block and item IDs are automatically assigned and will be different between maps, so they're not a very reliable identifier for persistent storage. -
Custom Item loses its texture when created on the crafting table
Choonster replied to lionel5116's topic in Modder Support
In future, please use one of the paste/code hosting sites I linked in my previous post instead of putting your code directly in your post. It's much easier to read code with proper formatting and syntax highlighting. This crash happened because Minecraft tried to render an ItemStack with a nul Item . I suspect that this is because your recipe uses the Main.berry field (which is never initialised) instead of ModItems.berry . I would also recommend moving your recipes to a dedicated class. -
Custom Item loses its texture when created on the crafting table
Choonster replied to lionel5116's topic in Modder Support
Use Gist or Pastebin to post the FML log and your code with syntax highlighting. To get syntax highlighting on Gist, give each file the appropriate extension (.java for Java code). To get syntax highlighting on Pastebin, select the language from the dropdown at the bottom of the page. If you already have a repository set up for your mod on a site like GitHub/BitBucket, post that instead of using Gist/Pastebin for the code. I still need your FML log either way, though.