Jump to content

Where to view update progress?


Torojima

Recommended Posts

I'm just wondering if I'm watching the correct for the updated forge version. As soon as forge is updated it will be posted in the "Releases" Forum here on mincraftforge.net, correct?!

running minecraft on Mac OS X - Sierra --- creating code since 1986 ... --- मेरा दिल भारतवासी है!

width=289 height=100http://www.arno-saxena.de/pictures/chococraft/banner_signature.png[/img]

Link to comment
Share on other sites

  • Replies 117
  • Created
  • Last Reply

Top Posters In This Topic

Yes, I plan on doing a final version for 1.2.5 just as a wrap up.

Then starting working on 1.3. When it's ready for release i'll post a official release.

Please do not ask 'omg is this build for 1.3.1?!?!?!', When the builds start for 1.3.1 it'll be in the commit log :P

If you really wanna see the latest info, you should watch GitHub

Forge ModLoader Commits

Forge Commits

 

I changed the thread title to something less... stupid...

Hopefully this allows people to see what is going on, and when.

There are A LOT of new changes coming in 1.3.1 for Forge specifically.

Combined with the fact that the air show is this weekend, meaning I have to be out of my house {and away from the computer} during about 12 hours each day. {Sleep/household crap take up at least 10 of the remaining}

Means that this Forge update will take some time.

 

However, as a rough guess, a preliminary version should be out by monday or tuesday.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

I'd been wondering about when the next update was expected myself but didn't want to come out and pester anyone about it, because I know how annoying that is.

 

Good to know that we should be able to begin updating mods within a week. I'll be keeping an eye on it.

Link to comment
Share on other sites

i re-read that 3 times just to make sure.

 

can u clarify 1 thing?

 

However, as a rough guess, a preliminary version should be out by Monday or Tuesday.

 

do you mean 1.2.5 update or 1.3.1 forge update?

 

*bows down to the mod god* :)

 

Humbly awaiting your reply

 

Thanks,

gingergod5

Link to comment
Share on other sites

they really should have put more time between the pre-release and official release of 1.3, they simply changed the basecode to much for such a short time between them, especially for a major API like forge!

Being noobish since 96, being dumb since birth!

Link to comment
Share on other sites

Kinniken, 1.3 Forge will be almost a compleetly different API.

But should be layed out in such a way that it's fairly intuitive how to merge over.

For example, we are dropping the whole Interface based event system for a annotation based one.

Which will make for a lot cleaner code Mod side.

 

@ForgeSubScribe
public void myLogin(LoginEvent event){
  yippie!
}

vs:

public class MyLoginHandler implements IConnectionHandler{
   public void onConnect(blah){}
   public void onDisconnect(blah){}
   public void onLogin(blah){
     Yippie!
   }
}

 

As well as some long standing bugfixes/feature enchancements.

This is a compleete re-write of Forge pretty much :P

If you look at the repo you can see the first bits of this taking shape.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Modloader just released for 1.3.1 in less than a week so it looks like it's not THAT hard to update your mod, but it depends on what stuff you have inside the mod.

 

If I'm correct, Forge should be out tomorrow or Tuesday for 1.3.1?

 

Kinniken, 1.3 Forge will be almost a compleetly different API.

But should be layed out in such a way that it's fairly intuitive how to merge over.

For example, we are dropping the whole Interface based event system for a annotation based one.

Which will make for a lot cleaner code Mod side.

 

@ForgeSubScribe
public void myLogin(LoginEvent event){
  yippie!
}

vs:

public class MyLoginHandler implements IConnectionHandler{
   public void onConnect(blah){}
   public void onDisconnect(blah){}
   public void onLogin(blah){
     Yippie!
   }
}

 

As well as some long standing bugfixes/feature enchancements.

This is a compleete re-write of Forge pretty much :P

If you look at the repo you can see the first bits of this taking shape.

 

How does these annotation things work? So far I only know the @Override annotation but I can't seem to grasp how custom annotation can replace Forge's old implementation system...

Link to comment
Share on other sites

Read up on Guava's EventBus, http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/eventbus/package-summary.html

And basic annotations, google

I based the general concept for the Forge EventBus off Guavas, but for speed reasons went a completely different route implementation wise.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Read up on Guava's EventBus, http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/eventbus/package-summary.html

And basic annotations, google

I based the general concept for the Forge EventBus off Guavas, but for speed reasons went a completely different route implementation wise.

 

Hmm seems pretty complicated but it looks like a more effective system. Can't wait to use it without the need of implementing all these interfaces you've used to have and registering all of them.

Link to comment
Share on other sites

Just some questions about MC 1.3.1. Do you need to write code for both the minecraft source and minecraft_server source for it to work? Is the minecraft_server.jar a basically stripped down version of the minecraft.jar removing all client features? Do I need to write code for both the server and client for it to function or does the client have to include server code in itself when running "single player"?

 

Also Lex, is you EventBus system usable by other mods too? Let's say I've a mod that has a bunch of add-ons for it and I want to use these EventBust Listener things. Can I simply use the Forge's even bus or do I have to make one myself?

Link to comment
Share on other sites

Well, I decompiled 1.3.1 using the latest mc and found a class named net.minecraft.server.MinecraftServer on the client side. That#s pretty clear, isn't it. So yes, the server is fully contained in the client.

 

Oh. Wait so I have to write my tileEntities so the tile entities would send packets to itself?

Link to comment
Share on other sites

Well, I decompiled 1.3.1 using the latest mc and found a class named net.minecraft.server.MinecraftServer on the client side. That#s pretty clear, isn't it. So yes, the server is fully contained in the client.

Yes, and No, its nto FULLY contained as all the codepath used for actually launching the server is not in MC. AE: MinecraftServer.main() and anything related to the server GUI.

Which is well, annoying.

 

As for what you need to do for tile entities, yes, you need to make it so that they send things to themselves as you're not really sending to yourself you're sending to a different instance of the tile entity, in a compleetly different world. It just HAPPENS to be in the same process.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Well, I decompiled 1.3.1 using the latest mc and found a class named net.minecraft.server.MinecraftServer on the client side. That#s pretty clear, isn't it. So yes, the server is fully contained in the client.

Yes, and No, its nto FULLY contained as all the codepath used for actually launching the server is not in MC. AE: MinecraftServer.main() and anything related to the server GUI.

Which is well, annoying.

 

As for what you need to do for tile entities, yes, you need to make it so that they send things to themselves as you're not really sending to yourself you're sending to a different instance of the tile entity, in a compleetly different world. It just HAPPENS to be in the same process.

 

Lol I get it. It sounds awkward sending to yourself (when actually you are sending to yourself in another network). Thanks.

Link to comment
Share on other sites

Well, I decompiled 1.3.1 using the latest mc and found a class named net.minecraft.server.MinecraftServer on the client side. That#s pretty clear, isn't it. So yes, the server is fully contained in the client.

Yes, and No, its nto FULLY contained as all the codepath used for actually launching the server is not in MC. AE: MinecraftServer.main() and anything related to the server GUI.

Which is well, annoying.

 

As for what you need to do for tile entities, yes, you need to make it so that they send things to themselves as you're not really sending to yourself you're sending to a different instance of the tile entity, in a compleetly different world. It just HAPPENS to be in the same process.

 

Lol I get it. It sounds awkward sending to yourself (when actually you are sending to yourself in another network). Thanks.

Imagine it as cross-dimensional mail.

Writes letter to self.

Mails letter.

SHWOOP!

Self in other dimension receives letter! :D

So, what would happen if I did push that shiny red button over there? ... Really? ... Can I try it? ... Damn.

Link to comment
Share on other sites

Just giving a heads up, im going to go to bed here in a few, got the bulk off all the old patches applied to 1.3

Got the bulk of all the old code shifted over as well.

Need to speak with cpw about a few design things, as stuff like NetworkMod and other small Forge features are moving to FML.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Glad to see the API being progressed quickly. Obviously take your time, rushed code causes more problems then the wait for its release. :)

 

In terms of it being a sort of re-write like you mentioned, will there be many new hooks for us to inherit? and if so what kinds of new features can we expect?

Don't list them all obviously if there's too many, maybe just a select few you think will be particularly popular.

 

Thanks

LukeD

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.