Jump to content

Request: 4096 Adoption


Whist34

Recommended Posts

Request: Forge take over 4096 support and updates.

 

4096 mod Status:

[*]Robinton no longer updates and has released his code as open source for moders:

https://github.com/ScottKillen/Robinton-s-4096IDs

 

I have no idea how to use this open source as an end user. It appears that it is all java code that has to be added into a mod and compiled, etc. Above my ability level.

 

[*]mDiyo no longer maintains the 4096 fix mod either. The beta is v4.2 and does not work with the latest Forge releases (I had to roll back to Forge 108 to find a Forge version that works with mDiyo's 4096 AND does not cause Buildcraft to throw texture errors repeatedly.

mDiyo 4096fix:  http://www.minecraftforum.net/topic/521617-125-inficraft/

mDiyo Statement about ending modding: http://www.minecraftforum.net/topic/521617-125-inficraft/page__view__findpost__p__14809878

 

---

Since this "fix" does not appear to be on Mojang's radar for the infinite future (I could rant here, but I won't) - Is there any possibility that the programmers working on Forge could take this over and keep it up-to-date as Forge updates the class that 4096 utilizes?

 

Thank you!

Link to comment
Share on other sites

minecraft 12w 07a

 

 

    Added new world file format called “Anvil” (256 max height and 4096 block IDs*)

 

* The game can’t use the full range of IDs yet because there are still some assumptions that IDs above 256 are items.

 

    Multi-player light calculations do no longer cause affected blocks to be transmitted to the clients, instead the clients will recalculate the light on their own

 

    Villagers will repopulate villages based on how many houses there are available

 

    Some nights in villages will be worse than others…

 

    Added a redstone-controlled light source

 

    Decreased chance for the rare mob drops

 

    All animals use the new AI system now

 

http://www.mojang.com/2012/02/minecraft-snapshot-12w07a/

Link to comment
Share on other sites

Scott, and chance you could get me a proper diff of what exactly Robinton does for his '4096 fix'?

AE: Generate a patch between clean MC and his fix, should get you something like: https://dl.dropbox.com/u/28221422/4096.patch

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

Ya I dont plan on doing anything major untill my new HDD arrives and it doesn't take 45 mins to setup MCP u.u

And won't do any actual work till after the next Forge release.

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

Did I make thread like this there? Yes I did: http://minecraftforge.net/forum/index.php/topic,266.0.html ! Please use search function some more (@mods, maybe thread merge?).

 

Also I am 100% for that to be bundled with Forge as it will help both modders (they will have more ids use, so smaller probability that two mods will use same ID, except those that are already made) and players (hopefully lesser amount of block config errors).

 

IMO some kind of ID Resolver solution for newly installed mods, perhaps based on Redpower's autoassign code would be good from player's standpoint. And by newly installed mods I mean mods with no config files, so mods that you have or had installed and your worlds should be safe. Bu this is offtopic.

Link to comment
Share on other sites

Whist actually put some work into his proposal, while your thread just asks a question. Your post here is longer than your original post on that thread. Furthermore, on your thread, Lex ended the discussion. It would be silly to merge threads.

 

ID Resolver may be useful to players, but causes all kinds of havoc and support issues for mod developers. Also, RedPower's code and ID Resolver are completely unrelated and do not function in the same way. If Lex is going to implement this, trust him to do it correctly.

Link to comment
Share on other sites

Kudos to the Forge team for adding 4096 Support!

 

In the changelog on the github you state that you've based it off of Mdiyo's work. Does that mean that ID 0-255 are blocks, and 256-4095 can be both blocks and items? If that's the case, do you change the vanilla ID's to something >4096 or do they remain in place?

 

@ScottKillen: RP2's ID-code and IDResolver are indeed incompatible. If you have both, you need (from experience) to edit every ID manually to make it work. Otherwise several items will be allocated to the same ID, and several blocks as well (also using Mdiyo's fix (4.2), IDresolver and Forge .97)

Link to comment
Share on other sites

Thanks, Matt I understand that they are compatible, but darkhog implied they were related:

 

IMO some kind of ID Resolver solution for newly installed mods, perhaps based on Redpower's autoassign code would be good from player's standpoint. And by newly installed mods I mean mods with no config files, so mods that you have or had installed and your worlds should be safe. Bu this is offtopic.

 

I was trying to point out that it isn't as easy to combine the two as he seemed to be saying.

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

    • They were already updated, and just to double check I even did a cleanup and fresh update from that same page. I'm quite sure drivers are not the problem here. 
    • i tried downloading the drivers but it says no AMD graphics hardware has been detected    
    • Update your AMD/ATI drivers - get the drivers from their website - do not update via system  
    • As the title says i keep on crashing on forge 1.20.1 even without any mods downloaded, i have the latest drivers (nvidia) and vanilla minecraft works perfectly fine for me logs: https://pastebin.com/5UR01yG9
    • 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;     }  
  • Topics

×
×
  • Create New...

Important Information

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