-
Posts
140 -
Joined
-
Last visited
Everything posted by HoBoS_TaCo
-
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 } }
-
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
-
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)) {
-
Setting up Forge Gradle with separated workspace?
HoBoS_TaCo replied to ianc1215's topic in ForgeGradle
There should be a "minecraft" folder in the same folder as the 1.8 one, if not run "setupDecompWorkspace" again. -
Setting up Forge Gradle with separated workspace?
HoBoS_TaCo replied to ianc1215's topic in ForgeGradle
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. -
Setting up Forge Gradle with separated workspace?
HoBoS_TaCo replied to ianc1215's topic in ForgeGradle
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. -
If you look at EntityDragon you would see that in its construtor the variable noclip is set to true.
-
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.
-
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
-
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.
-
Role of ClientProxy and CommonProxy classes?
HoBoS_TaCo replied to bpshawarma's topic in General Discussion
I've made a tutorial on proxies, it's not very good but it should give some understanding. -
I'll put this together tomorrow, as long as GTA doesn't drag me away. Edit: https://github.com/MinecraftForge/MinecraftForge/pull/796
-
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.
-
This is the last time I code late at night.
-
I'm trying to play each block's stepsound when my projectile entity hits it, I need the Block.getStepSound getter to be added for this to happen as it's a public variable. Something along the lines of: /** * Gets the footstep sound for the block. Returns the StepSound. */ public StepSound getStepSound() { return this.stepSound; }
-
Forge Libaries don't see to download
HoBoS_TaCo replied to DigitalQR's topic in Support & Bug Reports
files.minecraftforge.net is a little unstable right now, try http://new.files.minecraftforge.net/minecraftforge/. -
Edit: I've figured out the problem I had below, I now need to know how to add external libraries in 1.6. I've packaged my mod for release and installed minecraft forge server using the installer which all works fine. When I place my packaged coremod (works fine in MCP) it throws a java.lang.NoClassDefFoundError: ab. This is odd as I don't access that class (ICommand) during launch. Log Code
-
I can set up my ILibrarySet far enough that it downloads the library but I can't seem to access it. I know I'm making a simple error somewhere but I can't quite put my finger on it. Could someone please tell me where I've gone wrong? public class CoreLibrarySet implements ILibrarySet { private static String[] libraries = { "xstream-1.4.4.jar"}; private static String[] checksums = { "488e9e4a47afc81d2b2dec3c3eb3a4d0f10fe105" }; @Override public String[] getLibraries() { return libraries; } @Override public String[] getHashes() { return checksums; } @Override public String getRootURL() { return "https://nexus.codehaus.org/content/repositories/releases/com/thoughtworks/xstream/xstream/1.4.4/%s"; } } Edit: Nevermind, I seemed to have solved it somehow.
-
Sign Change and Creeper Explode Events would be very helpful for creating functional signs (canceling the creation of a shop sign if the creator doesn't have the privileges) and disabling creeper explosion damage in certain chunks. I'd love to see these in the upcoming 1.6 release (block break and place events would be great too).
-
I remember seeing that they were planning something months ago, I wasn't sure if there was any update on it. I hope they pull something soon or let us know why they're waiting to add their own.
-
These two events are needed for a lot of mods and are often added through coremods. Is there a reason why they haven't been added yet and what can be done to add them?
-
Use ServerChatEvent?
-
Forge doesn't with with Minecraft Mod Mythicraft
HoBoS_TaCo replied to Darkspinesupersonic8's topic in Support & Bug Reports
If you did it correctly it would have worked. The Mythicraft page says to install ModLoader before Forge, this is incorrect, all you need is Forge. The Forge download includes Forge Mod Loader which is a superior replacement. The mod also asks you to put the code into your jar rather then the mods folder, this is another sign that the creators don't know much about Forge and likely Java in general. The problem is most likely with Mythicraft because it's overwriting base files, otherwise it's your fault, read the Rules and Excessively Asked Questions.