-
Posts
878 -
Joined
-
Last visited
Everything posted by Elix_x
-
Loading process of what? Of mc? Update your forge, and launch the game without it!!!
-
If you used YOUR OWN THINGS to test, there's a chance of bug being in these things. Try to extract energy suing bc or vluxducts, and come back with result...
-
How do you know that energy is not being extracted? What are you using for testing?
-
Well I used GUI as an example, but I'll definitely check some tutorials out. In my case I wanted Key Binding, and I haven't found any clear tutorials, which explains it in a comprehensive manner (or that is updated) for someone who isn't too familiar/comfortable/good at java/minecraft modding.... I consider what I want really simple, yet it's not that simple to make it (unless you're familiar with it): What I believe I need is that the player presses a button, it tells the server that a button was pressed, it then checks if the player has the teleport item in hand/currently used slot, then tells the client to 'reload' that item/to remove the NBTTag from it. However, I do not know where I am supposed to put it... Do I need more/new classes? Do I have to do something with my ClientProxy.java and CommonProxy.java since this is between the client and the server (or am i completely of track here?). This might be easy/basic/comprehensive for others, but I'm a bit lost, and I need guidance! Anyhow, I appreciate all the help, but I'm not sure we are on the same page here! (Or maybe I'm just to stupid to see that they are related...) NBT is logic, so it must happen on server... Always modifiy nbt on server! If it's inventory item (other cases exists), server will automatically sync item (&nbt) to client!!!
-
Not Too good I'm afraid... I can read and understand the basics Okay thanks, I think I start to understand how it works, however, I am not sure how I am to use this in my code. So I need the client to check for input, then tell the server that the Player X pressed this key. Then the server figures out what to do, then tells the client what to do? Example of how I understood it: - CLIENT [Player12]: (send to SERVER) [Player12] pressed R - SERVER: Pressing R means to open the custom crafting gui - SERVER: (send to CLIENT) Open the custom crafting gui for [Player12] - CLIENT [Player12]: Open custom crafting gui = draw the gui on [Player12] screen Did I understand it correctly? Also where am I supposed to write this code? do you know of any github with a good example that I can have a look at? Yes, nearly: Well, in case of minecraft it is way simplier with guis: you don't need to send packets to player to open it. Using forge, create a gui handler, GuiContainer and Container. They will automatically take care of syncing. There are a lot of tutorials for that. It's also written in these tutorials how to open these guis. Container is server element that is not drawn and just represents data, logicall and syncing methods... GuiContainer is client element, gui, that is "attached" to server container element, which is continuously synced with it... There are tons and tons of tutorials about guis, containers and gui handlers...
-
Yes current as in currently held item. What I want is to make a mod, a mod I've been waiting for a long time but that has never been made, so I'm taking matters into my own hands. However, I'm not too good with modding or coding, so honestly, I'm a bit lost here with all the client/server side stuff going on... I have to say, it was easier to mod minecraft 1.3.1, but I guess you have more freedom now than back then... So if you could point me in the right direction here, I'd be grateful! I might not have been clear enough, but what I want is right now, is just figuring out how I will make my mod, and to do so, I'm working on this small grenade/teleport mod, just to figure out how things work. And right now I have problems with the key binding... I want it so that when you have the teleport item in hand if you shift+right click a block, it gets the coordinates of that block and in which dimension you are, and stores it in the item <- I already have that. What I now want, is that when you hold that item in hand, and press 'R', the NBTag stored on the item is cleared/removed... I have managed to do this with just right click, but I want it now to do it when I press 'R', and that's where I'm having problems. Also all this client/server side stuff is just making me confused, I checked out Diesieben07's tutorial on packets but it just made me even more confused... So again, if you could point me in the right direction here, it'd be nice, also if you know any nice tutorials for beginners, that would help as well! Like I said, I'm currently in a learning phase, so the simpler, the better. Let me explain you server-client stuff a bit: - Server is a logical part of the game, all logic, calculation, processing must happen here. All logic must happen on server side, because if it would happen on client, it would open straight road for hackers & cheaters. - Client is a graphicall part of the game: rendering and input goes here. Let's split 3 minecraft game cases in to sides: 1) Multiplayer: server machine is a server and all connected players are clients 2) Singleplayer: your computer is both of these: server one and client one. It can be represented like private server hosted on your computer with only 1 player. 3) Lan server: your computer "splits" into 2 "instances": server and client, where all players, including computer client "instance", are connected to server to yours computer server "instance". This can be represented like server hosted on your computer, where you play on your computer (where you play on same machine)... Server does not have graphic classes, so using them on server will crash it... Server neither have keyboard, mouse or other input devices, so clients needs to send packets to server, containing information about user input (ex: player X has pressed button 'G') in order to proceed... Then server processes packets information and decides what to do. Few warnings: - USE @SIDEONLY ANNOTATED FIELDS ONLY ON CONVINIENT SIDE (USING CLIENT FIELDS WILL CRASH SERVER) - NEVER PROCESS INPUT INFORMATION ON CLIENT AND SEND WHAT TO DO TO SERVER!!!
-
Nbt magic: Entity.createFromNbt(original.writeToNbt(new NBTTagCompound)) (<--pseudo code)
-
BlockCrops is providing age block states definitions, you either override it to not return block state variations, either create models for each age...
-
[1.8] [Solved] Crafting Handler for the Crafting Preparation
Elix_x replied to mrCookieSlime's topic in Modder Support
1) Which mc version? I think that no... Take look more precisely at InventoryCrafting -
Nope there's no... (Minecraft.clickMouse() is called when left mouse button is pressed. There's no any events as far as i can see...)
-
PlayerInteractEvent??? It is called before any interaction (left click block, right click air, right click block) and can be canceled... Even works with breaking blocks in creative...
-
[1.7.10] [SOLVED] Access right-click action of item
Elix_x replied to McNutty's topic in Modder Support
You should try (!) to start a Dedicated Server with your mod. I don't have access to a server. Would the solution be to put if(!world.isRemote) inside the keyboard check? No, you have. Instead of pressing launch, select little arrow right next to it and select from dropdown server... Server is a server. It has NO KEYBOARD. So it will crash on server. For that keys, you will need keybindings and packets... -
Hmm i think this line does not mean any thing at all, or does it??? testmod:item.fKnife has been registered twice, for com.Oswejo.Item.fKnife@37e15055 and com.Oswejo.Item.fspear@73299197.
-
(soundName, x, y, z, pitch, volume) Not sure about 2 last... sound name for mc sounds will be minecraft:soundName. For modded, modid:soundName
-
All you need is any directory or file inside minecraft folder or sub folders. After getting this file and it's path, you can with simple string manipulations find your mods config... For that, i recommend you to check main classes (of mc, fml and forge)... Also, there's completely other way of influencing one mod with another. Considering you have control over both - for you it's possible: Inter Mod Comms (messages sent between mods by forge).
-
You go in eclipse project explorer, right click on Minecraft, new Src folder, folder name = src/api/java. Now you go to modding folder in wexplorer, open src/api/java, put your apis there. They will be avaible via eclipse and will not be packaged with your mod...
-
At... Well just looked into other apis, and it seems the lot's of them are having ats... How would i go around this? Create needles at for my mod just to recompile environment with at rules??? Wouldn't it still be simplier to ask gradle to obf jar???
-
In TiC api case, they're calling private fields (mc ones) directly, without getters or reflection. Problems with missing libraries i fixed...
-
Which dependencies??? My mod does not directly depend of other mods. It's just activating several features, when mod A or B is loaded... All api is in src/api/java, and most of it is errored. For example: TiC api is errored in arrow entity files.
-
Toons of errors in apis... Eclipse says total of 1904... Last part of console that fitted in it: [spoiler=WARNING: LONG IMAGE]
-
Hello there, so: Because of i'm developping mod that uses api, i put apis in src/api/java. But some of them have errors. I need to compile my mod. Using normal java compilator (is this the one that forge is using???), finds errors, does not compile and stops. Using eclipse's ones succesfully compiles my mod, but resulting jar is not obfustcated. How can i obfuscate it? Using some forge gradle tools or myself? Thanks for help! If you have any questions - just ask!
-
You must return false onClient... YOU MUST!!!