Abastro
Forge Modder-
Posts
1075 -
Joined
-
Last visited
-
Days Won
2
Everything posted by Abastro
-
The cause of this happening is the Player inventory is synced bidirectional, Server <--> Client. (It also happens on Survival mode) So when client changes the position of an item, it sends sync packet to Server. then Server checks if it is valid change, and return the packet to the Client. As the result, Minecraft would not send the packet automatically when Server side inventory changes. I discovered this while developing my Inventory Machine mod, InvWorks, so I had to make change for each side.
-
[1.7.10] Commenting on the JSON (for Configuration)
Abastro replied to Abastro's topic in Modder Support
Yes. I want to use it for my unified config system. (for Stellarium) Since I'd use it not only for text configuration but also for packets & data saving, I prefer JSON forms. And I just want to add some comments for text config. -
Try putting breakpoint on the line: ThreadDownloadImageData image = new ThreadDownloadImageData(capeURL, null, null); and check if it is ever called.
-
That is common (gradle) error with the lwjgl library. Here is similar topic: http://www.minecraftforge.net/forum/index.php/topic,26983.msg137762.html#msg137762
-
[1.7.10] Commenting on the JSON (for Configuration)
Abastro replied to Abastro's topic in Modder Support
Gson already suppports some comments(like /*, */, //) and ignore them while reading, so I thought writing comments would also be available. So, is there no other way with Gson or anything? -
How can I add Comments on the JSON file for specific property? I tried to do it using Gson, but I realized that It uses JsonWriter, which cannot print single sentence for commenting. & I don't want to add new property for the comment. Actually I have already solved this issue with refletion.. I got the Writer field from the JsonWriter which is private. Is there any better way which I doesn't know? For I doesn't like using Reflection in this way..
-
Hmm then you should not use custom world provider, since you are only changing World Generation. You have to look into the WorldType class, which is involved in World Generation on default dimensions. PS. In this way, you can make your mod compatible with mine :-)
-
I know how to do that, but i'm afraid that the mod would not be compatible with my mod.:-( .. (sorry for nonsense) Anyway I can help on that issue. Do you really want a custom world provider for vanilla dimensions?
-
If I just multiplies the motionY, it would effect flying entities as well, which is unexpected. also it would give some odd effect when an entity got a shot. I think it is similar with LivingUpdateEvent, and what I want is not just 'how high the entity can jump' In addition, I want gravity is effective for arrow, falling block, and so on which is not LivingEntity. .. in fact I have a hacky way similar to those. If this suggestion cannot be accepted, then I'd make a PR(It is really hard for me but I can try), or have to use some hacky way. (Inspecting the entity motionY movement, and measure gravity as median of acceleration while entity is not on ground.) and, So if these kind of suggestion cannot be accepted, then what suggestion would be able to on this board?
-
I think that Forge team has so much knowledge with minecraft coding that it should be a lot easier for them. In addition, I think they have their own plan to develop mcforge, and they would disallow PRs which doesn't get along with the plan.. (On coding style, way of hook(Event or Registry), and so on.)
-
It is hard for this to be a PR, but for forge team it wont be a hard work. For they can decide the way of achieving this, and they can access more codes which PR cannot. So it wont contain the same amount. + ASM cannot be an option, because it will seriously hack the compatibility with other mods. Then I'd rather make this mod non-forge, and would only use MCP. (Reflection wouldn't work for this)
-
[SOLVED][1.7.10] Detect if event.entity is mc.thePlayer?
Abastro replied to Ernio's topic in Modder Support
Maybe getUniqueID() -
Maybe you need the Core class to a coremod. Do you have META-INF?
-
Hmm you can make the new ItemStack using your own Block; like this: new ItemStack(BlockB, 1);
-
[1.8] Trying to make a particle with a custom texture
Abastro replied to The_SlayerMC's topic in Modder Support
SlayerAPI.PREFIX + "textures/misc/particles.png": please show us the location. -
Nothing Happens from where? On development environment, or as exported mod?
-
PR is an option, but it is hard to make the PR for this due to many reasons. 1. Galacticraft only changes the behavior of Player. Of course there are some alien mobs, but they are custom mobs by Galacticraft which can easily be modified (for Galacticraft). 2. Modifying Gravitation Effect is not that easy. For gravitation effect is hard-coded, and each entities got different methods for gravitation. Plus, there are custom entities added by mods which would have different mechanism of gravitation. 3. If this would made as a PR, it will contain so many changes. It would make the PR hard to accept.
-
I'm making Stellarium mod, and I want to modify gravitation in minecraft. But there is no unified method of applying gravitation in current minecraft forge, It is impossible to apply modified gravitation for all of them. (Considering all mod entities...) So I'm looking forward to the hook for gravitation. It could be getGravitationAcceleration method in WorldProvider class, Or Gravitation Registry, or GravitationMultiplierEvent... or whatever.. I really need it, anyway.
-
No, TGG, That is not enough. For World#getSunBrightness is client-only, Modifying it only changes. So, here is what you have to do to change skylight: 1. Make your new customized WorldProvider. 2. Override getSunBrightnessFactor, getSunBrightness, and getStarBrightness. - getSunBrightnessFactor is for skylight calculation on Server&Client. Affects the light value of whole world. - getSunBrightness is for sky rendering on Client on day. 3. Modify the methods with your needs. 4. As TGG said, replace overworld provider with yours. first, unregister the overworld provider using DimensionManager.unregisterProviderType then DimensionManager.registerProviderType for the surface world with your new customised WorldProvider 5. Done. * These thing can be possible thanks to my PR. :-)
-
VBA Programmer trying to get into modding for Forge
Abastro replied to Phicksur's topic in Modder Support
There is another way, which changes the whole skylight of the world. Follow these instructions: 1. Make your new customized WorldProvider. 2. Override getSunBrightnessFactor, getSunBrightness. - getSunBrightnessFactor is for skylight calculation on Server&Client. Affects the light value of whole world. - getSunBrightness is for sky rendering on Client on day. 3. Modify the methods with your needs. You can return the lowest value on those functions, for you wants permanent night! 4. As TGG said, replace overworld provider with yours. first, unregister the overworld provider using DimensionManager.unregisterProviderType then DimensionManager.registerProviderType for the surface world with your new customised WorldProvider 5. Done. * These thing can be possible thanks to my PR. :-) -
Is forge supposed to update to 1.8.1 version in some day?
-
Item information not displaying properly
Abastro replied to theoneandonly2004's topic in Modder Support
Ah, what tattyseal said is right.. You have to check if there is the key, For event.smelting.stackTagCompound.getString("Owner") will give "". -
Show your Mineturnedmain class. Maybe the problem would be related with your Item.
-
Init(or Load) method in your Mod class will be best, but you can do it in PreInit or PostInit.