Jump to content

Sugestions, recomendations and tips for a new modder.


Ralms

Recommended Posts

Hi there everyone,

 

Im Ralms and I finally decided to really commit into making a mod/plugin for minecraft.

 

As a first mod, what I will be doing is making Towny (bukkit plugin) for forge with my own twist in it.

 

Towny is a society type plugin where the player can start a town (becoming a mayor) and from than on he can manage it by setting many things like plots to be sold, set taxes, etc etc.

Original Towny created by xShade: http://xshade.ca/projects/towny/

You can find a good feature list at the newest version of it, towny advanced for bukkit: http://palmergames.com/towny/

 

Some differences I wanna have from the original version is have it commandless (at least for the end user) by using a GUI for options, more flexibility about its features such as  have plots not be forced to the chunk grid and some market system integrated in it, etc.

 

---------------------

 

So my plans to start off is doing just the basics:

- Setting up the Main Panel GUI.

- Ability to start a town.

- Ability to set plots, selling them, etc.

- Grief permission system.

 

By following Pahimar tutorials on youtube I managed to setup the basics such as config file, logger, setting up some reference class, etc.

And I did some keybinds by following the Forge Wiki.

 

Now this is where Im kinda wondering what to do next so I though to ask for recommendations, etc

 

What do you guys think I should do next? plz consider that Im a new coder and I dont know a lot of java?

Should I go for the database of it? Like storing players info, etc?

or is that too advanced?

 

Thanks.

Link to comment
Share on other sites

Ok, FIRST, you NEED to know at least basic Java:

by that I mean, OOP, and ,well OOP.

Then, work through ALL of the tutorials, doesn't matter if you will not make a custom chest!

Learn it you might need it.

And if I may suggest learning NBT, you're gonna need it.

:)

Good luck!

Link to comment
Share on other sites

Ok, FIRST, you NEED to know at least basic Java:

by that I mean, OOP, and ,well OOP.

Then, work through ALL of the tutorials, doesn't matter if you will not make a custom chest!

Learn it you might need it.

And if I may suggest learning NBT, you're gonna need it.

:)

Good luck!

 

Hi and thank you for the suggestion.

 

I know the basic java and I know OOP good enough to be comfortable with it.

The only stuff Im not very confortable with is with those things I dont know the name of like this: @Mod.EventHandler

 

But my biggest issue atm is setting up priorities, that is why I was asking for some advice from people with more experience. I didnt want to get into something hard to the point I loose motivation.

Little steps. little steps :)

 

 

 

Are those yours?

Link to comment
Share on other sites

Nope not mine :(

But very good, I bookmarked them when I was using them, so I wanted to share them with you.

I'm not an ultra advanced user, but if you need help with something you can always pm me.

I'm more than good with Java.

1st place in a Balkan(5 country (I think)) competition.

Link to comment
Share on other sites

When i studied it the last time you had to use a lot of confusing stuff but i heared that someone was developing some kind of easy to use built in alternative. (If there realy is something like this please let us know)

 

And you said that you followed pahimars tutorials? Does this mean that you want to have a dependency setup? I spent a lot of time setting up my development environment to develop a sub-mod, so just ask me if you want to do someting like this and neer help.

 

And welcome to the world of modding, i wish you much luck.

 

 

I wrote this on my (smart)phone, please ignore autocorrection or typing mistakes.

Here could be your advertisement!

Link to comment
Share on other sites

When i studied it the last time you had to use a lot of confusing stuff but i heared that someone was developing some kind of easy to use built in alternative. (If there realy is something like this please let us know)

 

And you said that you followed pahimars tutorials? Does this mean that you want to have a dependency setup? I spent a lot of time setting up my development environment to develop a sub-mod, so just ask me if you want to do someting like this and neer help.

 

And welcome to the world of modding, i wish you much luck.

 

I wrote this on my (smart)phone, please ignore autocorrection or typing mistakes.

 

Hi there,

 

I can ignore autocorrection but I didnt understood this: " so just ask me if you want to do someting like this and neer help."

 

what did you mean with that?

Link to comment
Share on other sites

In his videos Pahimar introduced a so called "dependency-setup" to develop multiple connected mods at the same time.

I recently split my mod in a core mod and an additional submod using a modified version of Pahimars setup. Athough I had to figure out a lot of things on my own I can only recommend this setup to everyone who wants to develop dependent mods and am willing to support her/him as much as i can.

 

 

Here are a few things i thing you should learn before you start developing you Town-mod:

 

 

 

And a few things i would like to see in a town mod:

 

 

  • A self upgrading town-house
  • A way for modders to add structures to the town that are generated if certain circumstances are met
  • a working marketplace with custom npcs(+ an api for modders so that they can add their item)
  • Streets and public places (different presets, eg:steampunk, medieval, modern...) should be automatically created
  • A self expanding wall that protects your city from monsters
  • You could tweak the spawn system so that its extremely dangerous to live outside of a city(+new monsters?)
  • An automatically created underground canalization-maze that has hidden entrances at public places(+api, i want to have a hidden underground tempel for my god)
  • World Generation?
  • Bosses that are spawned if a town is big enough and if enough peoples are online?

 

 

Here could be your advertisement!

Link to comment
Share on other sites

Hi

 

This link might help bring you up to speed on some of the background stuff

http://greyminecraftcoder.blogspot.com.au/p/list-of-topics.html

especially the sections on Forge.

Also this

http://www.minecraftforge.net/forum/index.php/topic,16784.msg84954.html#msg84954

 

But really important - keep it simple.  Start off with small bite-size pieces that you can develop one small part at a time, test it thoroughly, and then gradually integrate them as you go.  Otherwise you'll wind up with a big lump of code that doesn't work and you'll get frustrated and give up.

 

-TGG

 

 

 

Link to comment
Share on other sites

In his videos Pahimar introduced a so called "dependency-setup" to develop multiple connected mods at the same time.

I recently split my mod in a core mod and an additional submod using a modified version of Pahimars setup. Athough I had to figure out a lot of things on my own I can only recommend this setup to everyone who wants to develop dependent mods and am willing to support her/him as much as i can.

 

Here are a few things i thing you should learn before you start developing you Town-mod:

 

 

And a few things i would like to see in a town mod:

 

 

  • A self upgrading town-house
  • A way for modders to add structures to the town that are generated if certain circumstances are met
  • a working marketplace with custom npcs(+ an api for modders so that they can add their item)
  • Streets and public places (different presets, eg:steampunk, medieval, modern...) should be automatically created
  • A self expanding wall that protects your city from monsters
  • You could tweak the spawn system so that its extremely dangerous to live outside of a city(+new monsters?)
  • An automatically created underground canalization-maze that has hidden entrances at public places(+api, i want to have a hidden underground tempel for my god)
  • World Generation?
  • Bosses that are spawned if a town is big enough and if enough peoples are online?

 

 

 

Hi there,

 

On my opinion the most recent series of videos from pahimar dont feel dependent at all, although I dont have experience to really know if its the case or not.

He is doing a second version called Lets Mod Reboot and for the workspace he just followed the forge scripts using gradle.

Basically he is showing how to get it setup using gragle and how to organize your project tree, like what packages to do, where to put them so its more organized and I agree with him.

Ive been looking at some source code out there and some is really confusing other to its creator lol.

 

I was reading your reply when I woke up in my phone and I was really impressed at your suggestion list, they are good ideas, like the first one would be cool to use on a townhall for example.

Anyway, Im barely starting and all those sugestions are too complicated to me atm, some of them are planned as a long term future implementation :D

 

Thanks :)

 

Hi

 

This link might help bring you up to speed on some of the background stuff

http://greyminecraftcoder.blogspot.com.au/p/list-of-topics.html

especially the sections on Forge.

Also this

http://www.minecraftforge.net/forum/index.php/topic,16784.msg84954.html#msg84954

 

But really important - keep it simple.  Start off with small bite-size pieces that you can develop one small part at a time, test it thoroughly, and then gradually integrate them as you go.  Otherwise you'll wind up with a big lump of code that doesn't work and you'll get frustrated and give up.

 

-TGG

 

 

Dude that is SOOOOO helpfull. Thank you so much.

It really really helps. I cant thank you enought lol.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hello everyone, I'm making this post to seek help for my modded block, It's a special block called FrozenBlock supposed to take the place of an old block, then after a set amount of ticks, it's supposed to revert its Block State, Entity, data... to the old block like this :  The problem I have is that the system breaks when handling multi blocks (I tried some fix but none of them worked) :  The bug I have identified is that the function "setOldBlockFields" in the item's "setFrozenBlock" function gets called once for the 1st block of multiblock getting frozen (as it should), but gets called a second time BEFORE creating the first FrozenBlock with the data of the 1st block, hence giving the same data to the two FrozenBlock :   Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=head] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@73681674 BlockEntityData : id:"minecraft:bed",x:3,y:-60,z:-6} Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=3, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=2, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} here is the code inside my custom "freeze" item :    @Override     public @NotNull InteractionResult useOn(@NotNull UseOnContext pContext) {         if (!pContext.getLevel().isClientSide() && pContext.getHand() == InteractionHand.MAIN_HAND) {             BlockPos blockPos = pContext.getClickedPos();             BlockPos secondBlockPos = getMultiblockPos(blockPos, pContext.getLevel().getBlockState(blockPos));             if (secondBlockPos != null) {                 createFrozenBlock(pContext, secondBlockPos);             }             createFrozenBlock(pContext, blockPos);             return InteractionResult.SUCCESS;         }         return super.useOn(pContext);     }     public static void createFrozenBlock(UseOnContext pContext, BlockPos blockPos) {         BlockState oldState = pContext.getLevel().getBlockState(blockPos);         BlockEntity oldBlockEntity = oldState.hasBlockEntity() ? pContext.getLevel().getBlockEntity(blockPos) : null;         CompoundTag oldBlockEntityData = oldState.hasBlockEntity() ? oldBlockEntity.serializeNBT() : null;         if (oldBlockEntity != null) {             pContext.getLevel().removeBlockEntity(blockPos);         }         BlockState FrozenBlock = setFrozenBlock(oldState, oldBlockEntity, oldBlockEntityData);         pContext.getLevel().setBlockAndUpdate(blockPos, FrozenBlock);     }     public static BlockState setFrozenBlock(BlockState blockState, @Nullable BlockEntity blockEntity, @Nullable CompoundTag blockEntityData) {         BlockState FrozenBlock = BlockRegister.FROZEN_BLOCK.get().defaultBlockState();         ((FrozenBlock) FrozenBlock.getBlock()).setOldBlockFields(blockState, blockEntity, blockEntityData);         return FrozenBlock;     }  
    • It is an issue with quark - update it to this build: https://www.curseforge.com/minecraft/mc-mods/quark/files/3642325
    • Remove Instant Massive Structures Mod from your server     Add new crash-reports with sites like https://paste.ee/  
    • Update your drivers: https://www.amd.com/en/support/graphics/amd-radeon-r9-series/amd-radeon-r9-200-series/amd-radeon-r9-280x
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.