Jump to content

[1.4.7][SMP][WIP] Tombstone 0.4.0


chessmaster42

Recommended Posts

 

This mod is a "death chest" style mod for FML that will store your belongings upon the unfortunate demise of your character. Right now there is little to the functionality as it was only just recently created but it does work. Upon death all items are gathered and stored in the spawned tombstone. It has 54-slots of space (for now) and functions as a chest such that you can open it and use it for storage should you choose not to tear it down.

 

Once broken down with a pickaxe the tombstone vanishes as if by magic. It is possible to craft them for decorative/storage purposes as needed using the following template:

 

_X_

XYX

XXX

 

Where X is smooth stone, Y is paper and the underscores are empty.

 

The tombstone itself is blast resistant at about the same level as obsidian. There is also no config file yet but that will come in future updates. Please report issues and feel free to offer up suggestions. I have alot of ideas swimming around for this mod and would like community input.

 

Download:

Version 0.4.0 - https://github.com/chessmaster42/TombStone/raw/master/bin/TombStone.zip

 

Download Older Versions:

 

 

 

Screenshots:

 

 

 

Known Issues:

 

 

- None as of 0.4.0

 

 

 

Change log:

 

 

Version 0.4.0:

- Added /tombstone chat command to give you a list of all of your own tombs (i.e. where you died, not where you placed tombstones that were crafted)

 

Version 0.3.0:

- Fixed major bug with explosions causing the tombstone to instantly vanish

- Minor tweak to text size on tombstone

 

Version 0.2.0:

- Fixed major bug with tombstone text (and sometimes content) vanishing upon server restart

- Crafted tombstones now drop the item when broken with a pickaxe (spawned tombs do not)

 

Version 0.1.0:

- Initial release

 

 

Link to comment
Share on other sites

looks really nice (I was thinking about implementing it too, now I'll have more time for my "main" mod :D).

 

EDIT: the download service is a bit unpleasant - the need to register just to download one little file? If I were you I'd reconsider it...

mnn.getNativeLang() != English

If I helped you please click on the "thank you" button.

Link to comment
Share on other sites

looks really nice (I was thinking about implementing it too, now I'll have more time for my "main" mod :D).

 

EDIT: the download service is a bit unpleasant - the need to register just to download one little file? If I were you I'd reconsider it...

 

Download has been moved (at least for the latest version) to the Github repository where I have the code. I think I'll still have older versions on 4shared until I work out a better way to distribute them.

Link to comment
Share on other sites

  • 3 weeks later...

Hey there,

 

I registered here just to say thanks so much for making this. It's actually exactly what I was looking for when I realized that the Death Chest mod wasn't going to work for me.

 

With vanilla forge everything worked perfectly, but after I started testing out MCPC+ for my server the tombstone stopped transferring the inventory to the tombstone upon death. The tombstone will still spawn correctly, but all of your items unfortunately get dumped on the ground.

 

I would really love to start using MCPC+, but your mod has become essentially a must-have in my opinion. Is there any way you can check to see why it isn't working correctly with MCPC+? I would greatly appreciate it.

 

Thanks.

Link to comment
Share on other sites

I've just started using your mod on my server, and I've encountered a bit of a problem.  If you die immediately next to or on top of an object that does not take a full block, the mod considers you having died on the block below it and replaces the object.  For example, torches, fence posts and chests.  It does pop all the items out of the chest when it replaces it, but that's kind of a problem.  Is there any way you can have the tombstone check to see if the space is occupied, and then spawn on the nearest open space?

Link to comment
Share on other sites

  • 1 month later...

This is an awesome mod. I have a couple issues and a suggestion.

 

If you fall off the edge of the world into the void you will get an error and be disconnected by the server. My assumption is because it is trying to create the tombstone at an invalid location (Y=-200 or wherever you end up dying) I think this could be fixed by doing a check on Y in the DeathEventHook.java for Y < 0 and setting it to some arbitrary valid value like 45 or 64 or whatever. So you could still get your items even if you have to dig for them or build up to them.

 

Something else I have run into is if I am taking items out of the tomb stone and die again the item I just picked up will go poof. I suspect the item does not get dropped by vanilla and is not considered in my inventory yet for the purposes of the tomb stone inventory loop. Maybe a check can be done for a picked up item along with the inventory loop? I have no idea. But since you are going back to the place you just died with none of your equipment, death isn't too remote a possibility and this does happen.

 

A nice feature to add might be if you could configure and override the vanilla XP loss through a config file. It would be nice if it could be set by the server admin to 1/2 or 1/3 or 2/3 or 0 as opposed to the strange penalty applied by the vanilla code (where the dropped XP is essentially capped at 5-6 levels no matter how many levels you had when you died). I guess this was originally implemented by vanilla for lag purposes, maybe before they had the bigger orbs. I don't see it being a problem now since you could create a few orbs of whatever size. The XP could even be put inside the tombstone with the bottles of enchanting.

Link to comment
Share on other sites

  • 1 month later...

Hi guys, I've taken the liberty to updating this mod "unofficially" to 1.5.2, as I wanted this mod with all my current mods at that level and no open acknowledgement that an update was coming anytime soon, so I thought i'd share it with you lot in case you wanted to use it updated also, until the developer updates it officially, it's pretty much a straight port of this mod but works on 1.5.2.

 

* Download here: http://www.sendspace.com/file/89jeek *

 

*edit*

I used minecraft forge - 7.8.0.684, so I guess any universal version of that level or later would be adequate in doing the job.

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Hi guys, I've taken the liberty to updating this mod "unofficially" to 1.5.2, as I wanted this mod with all my current mods at that level and no open acknowledgement that an update was coming anytime soon, so I thought i'd share it with you lot in case you wanted to use it updated also, until the developer updates it officially, it's pretty much a straight port of this mod but works on 1.5.2.

 

* Download here: http://www.sendspace.com/file/89jeek *

 

*edit*

I used minecraft forge - 7.8.0.684, so I guess any universal version of that level or later would be adequate in doing the job.

 

Thanks for the update, Zathrox. Hopefully Chessmaster hasn't completely abandoned this mod, but at least we'll get to still use it through 1.5.2 now.

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.