Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

HoBoS_TaCo

Forge Modder
  • Posts

    140
  • Joined

  • Last visited

Converted

  • Gender
    Male
  • Location
    Australia

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

HoBoS_TaCo's Achievements

Creeper Killer

Creeper Killer (4/8)

23

Reputation

  1. Solved it, I started from scratch and found http://minecraft.gamepedia.com/Model which was a massive help. Here's the working code if anyone else has the same problem at a later date: https://github.com/DayZ-Minecraft/DayZ-Minecraft/tree/1.8.9
  2. This is probably a horrible way of doing things, but I store my configs in json using the format: { "thirst-enabled": { "description": "Should DayZ thirst be enabled?", "value": true }, "debug-mode": { "description": "Should DayZ log extra information?", "value": false }, "structure-generation-chance": { "description": "1 in x chance to generate a structure in a given chunk", "value": 60 }, "show-world-type-warning": { "description": "Should DayZ warn if the worldtype is not DayZ?", "value": true }, "spawn-zombies-in-default-world": { "description": "Should DayZ zombies generate in the surface world?", "value": false } }
  3. Unfortunately that didn't help. I'm thinking it's something to do with my item model json since thats where my problem is. https://github.com/DayZ-Minecraft/DayZ-Minecraft/commit/6e4d45f0c6c83bfb8b92b2937a7c97d2e5b3d53a
  4. I'm having a little trouble with 2 textures from my mod. Firstly the barbedWire block gives off a "Model definition for location dayz:barbedWire#inventory not found" error. I can't seem to get rid of it, the barbedWire block is 99% the same as my nailBlock block which works perfectly. If anyone knows where i've stuffed up, please let me know. Also if it's not to much trouble, if someone could point me the right way on how to render the ItemBlock for my lootChest block i'd appreciate it. It cant be too difficult since it looks identical to the stock Minecraft chest, but i'm stumped. https://github.com/DayZ-Minecraft/DayZ-Minecraft/blob/1.8.9/src/main/resources/assets/dayz/models/block/barbedWire.json https://github.com/DayZ-Minecraft/DayZ-Minecraft/blob/1.8.9/src/main/resources/assets/dayz/models/item/barbedWire.json https://github.com/DayZ-Minecraft/DayZ-Minecraft/blob/1.8.9/src/main/java/com/github/dayzminecraft/dayzminecraft/client/ClientProxy.java https://github.com/DayZ-Minecraft/DayZ-Minecraft/blob/1.8.9/src/main/java/com/github/dayzminecraft/dayzminecraft/common/blocks/BlockBarbed.java https://github.com/DayZ-Minecraft/DayZ-Minecraft/blob/1.8.9/src/main/java/com/github/dayzminecraft/dayzminecraft/common/blocks/ModBlocks.java Latest.log: https://gist.github.com/HoBoS-TaCo/368b4a4ece0ea004be5f687ced105a47
  5. https://github.com/DayZ-Minecraft/DayZ-Minecraft/blob/5b0c72959b77d908c5b2c180e41178fdb8456ce5/src/main/java/com/github/dayzminecraft/dayzminecraft/common/items/weapons/ItemCamo.java I use this, though line 22 is replaced with if (!itemStack.getItem().equals(ModItems.camoLegs)) {
  6. There should be a "minecraft" folder in the same folder as the 1.8 one, if not run "setupDecompWorkspace" again.
  7. IntelliJ IDEA, the free community edition. I got frustrated with it the first time I used it however I gave it a second chance and i'm never going back from it. This is mainly due to it giving suggestions as it predicts what you're typing (hard to explain) and the fact that it imports Gradle projects really well. All I do is click "Import project", select the build.gradle file and click next a couple of times. It sets up my src folder along with all of my dependencies leaving me ready to code around 20 seconds after the Gradle setup is complete. The only thing it doesn't do it set up the run configurations, but that's expected. I could go on for hours about how much I love it and all it's features (such as being a hell of a lot faster than eclipse and having themes!) but i'll leave it at this.
  8. Here's a little information on ForgeGradle that will help you understand: Gradle is a program used to build java and other programs by compiling the source and building your jar. ForgeGradle is a plugin for this builder which also adds some new commands (known as tasks) to Gradle such as decompiling and deobfuscating Minecraft's jars and reobfuscating your mod to srg names required by ForgeModLoader and Forge. Minecraft is no longer decompiled into a folder, as it was before ForgeGradle. Currently if you run the "setupDevWorkspace" command (otherwise called a gradle task) with ForgeGradle it will get the Minecraft jars, merge them together and swap all the obfuscated names (such as ab.class) to mcp names (such as EntityPlayer.class), which is known as deobfuscating. This will create the jar ~\.gradle\caches\minecraft\net\minecraftforge\forge\1.6.4-9.11.1.964\forge-1.6.4-9.11.1.964-mcp.jar (where ~ is your user folder). This jar should be referenced like the other library jars in your project, such as gson-2.2.2.jar and lwjgl-2.9.0.jar. With this setup you will unfortunately be unable to see what lies inside of each of Forge and Minecraft's many methods and classes. This is where the gradle task "setupDecompWorkspace" comes in handy. It creates the same jar as "setupDevWorkspace" but also creates a forge-1.6.4-9.11.1.964-src.jar in the same folder, which once you set it as the forge-1.6.4-9.11.1.964-mcp.jar's source, you will be able to browse the code similarly as you would with the old setup, and see how the classes tick. Do note that this source jar is read only. After your mod is completed you will need to run the gradle task "build". This is the same as the normal gradle build task however it translates the mcp names you have referenced in the forge-1.6.4-9.11.1.964-mcp.jar to srg names (names created by the mcp developers that stay the same between each minecraft version, where mojang's obfuscations do not). You can then find your built mod in the build/libs folder inside the folder containing your build.gradle file. You will need the build.gradle file to remain in your project folder for the gradle tasks (commands) to take effect. If you don't have gradle installed on your computer, you will need the gradle wrapper in your project as well as you will need to send the build command to it. Chances are you are using eclipse, which I haven't used in a while and will make this a little difficult. When I used eclipse I found that the "Pahimar workspace" aka "the normal workspace" was best used so there wasn't several mcp setups around your computer. As ForgeGradle stores most of it's files in the ~\.gradle directory setting up multiple build directories shouldn't take long or take up much space on your computer. As each mod will need it's own build.gradle file things become a little difficult. If you want the most hastle-free modding experience I can suggest opening up two eclipse windows and coding side-by-side. If you do want to use a "Pahimar workspace" you need to ask someone other than me. I may put together a tutorial on this at a later date. The ~/.gradle folder, see the the first four paragraphs. The only thing you need to worry about in the build folder is that when you run the "build" task in gradle, your compiled mod jar will be in there. The rest of the files in the build folder should be left alone. You don't "code gradle", see the first paragraph.
  9. If you look at EntityDragon you would see that in its construtor the variable noclip is set to true.
  10. ModLoader mod support was removed 5 days ago. Deprecation warnings have been out for a while. You need to update to the ForgeModLoader (@Mod) mod system.
  11. As 1.7 is nearly upon us it also gives us the opportunity to refactor some packages. I propose to combine FML's network handlers into forge events along with the addition of a ServerListPingEvent. Below I have outlined what I hope to put in my pull request, depending on how much 1.7 changes things. If you think these handlers should remain in FML, I could just convert IPlayerTracker to events and add the extra data shown below along with the ServerListPingEvent. (Client) net.minecraftforge.client.event.network.ClientConnectionOpenedRemoteEvent - Was IConnectionHandler.connectionOpened(NetHandler netClientHandler, String server, int port, INetworkManager manager) - Event would have access to: - NetClientHandler, was NetHandler. No longer need to cast to NetClientHandler. - Server IP address as string - Server Port as integer - INetworkManager (Client) net.minecraftforge.client.event.network.ClientConnectionOpenedIntegratedEvent - Was IConnectionHandler.connectionOpened(NetHandler netClientHandler, MinecraftServer server, INetworkManager manager) - Event would have access to: - NetClientHandler, was NetHandler. No longer need to cast to NetClientHandler. - Server as IntegratedServer, was MinecraftServer. No longer need to cast to IntegratedServer. - INetworkManager (Server) net.minecraftforge.common.event.network.ServerReceiveConnectionEvent - Was IConnectionHandler.connectionReceived(NetLoginHandler netHandler, INetworkManager manager) - Cancellable event, a custom kick message could be assigned - Event would have access to: - NetLoginHandler - TcpConnection (INetworkManager is an interface of TcpConnection, any reason to not use TcpConnection?) (Server) net.minecraftforge.common.event.network.PlayerLoginEvent - Was IConnectionHandler.playerLoggedIn(Player player, NetHandler netHandler, INetworkManager manager) - Can be combined with IPlayerTracker.onPlayerLogin(EntityPlayer player) - Event would have access to: - EntityPlayerMP - NetServerHandler, was NetHandler. No longer need to cast to NetServerHandler. - INetworkManager - MinecraftServer (Client) net.minecraftforge.client.event.network.ClientLoginEvent - Was IConnectionHandler.clientLoggedIn(NetHandler clientHandler, INetworkManager manager, Packet1Login login) - Event would have access to: - NetClientHandler, was NetHandler. No longer need to cast to NetClientHandler. - INetworkManager - Packet1Login (Server) net.minecraftforge.common.event.network.PlayerLogoutEvent - Was IPlayerTracker.onPlayerLogout(EntityPlayer player) - Event would have access to: - NetClientHandler, was NetHandler. No longer need to cast to NetClientHandler. - INetworkManager - MinecraftServer (Both) net.minecraftforge.common.event.network.ConnectionClosedEvent - Was IConnectionHandler.connectionClosed(INetworkManager manager) - Event would have access to: - INetworkManager (Server) net.minecraftforge.common.event.network.PlayerChangedDimensionEvent - Was IPlayerTracker.onPlayerChangedDimension(EntityPlayer player) - Event would have access to: - EntityPlayerMP - MinecraftServer - Teleporter - Old dimension id - New dimension id (Server) net.minecraftforge.common.event.network.PlayerRespawnEvent - Was IPlayerTracker.onPlayerRespawn(EntityPlayer player) - Event would have access to: - EntityPlayerMP - MinecraftServer - world the player is being respawned into. - boolean for if the player beat the game. (Server) net.minecraftforge.common.event.network.ServerChatRecievedEvent - Was ServerChatEvent,changed the name to match the client event and move to network package (Client) net.minecraftforge.client.event.network.ClientChatRecievedEvent - Move to network package (Server) net.minecraftforge.common.event.network.ServerListPingEvent - Event would have access to: - Pinger's address - Able to send back a custom MOTD - Able to send back a custom number of current players - Able to send back a custom number of maximum players
  12. I'm curious as to how those of you developers set up your Minecraft/Scala development environments and build systems. A quick run down on how you do it would be appreciated, especially with IntelliJ.
  13. I've made a tutorial on proxies, it's not very good but it should give some understanding.
  14. I'll put this together tomorrow, as long as GTA doesn't drag me away. Edit: https://github.com/MinecraftForge/MinecraftForge/pull/796
  15. I get this error every time I start my server: https://gist.github.com/HoBoS-TaCo/6495336 It seems the server can't find the BiomeEvent.BiomeColor method when my terrain event handler is called, however I never access that method anywhere. The closest I get is BiomeEvent.GetVillageBlockID which doesn't have an @SideOnly annotation unlike BiomeEvent.BiomeColor. I'm not sure what's going on, any help would be appreciated.
×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.