Jump to content

[1.7.10] KOTR Modpack - Map Locking, Teleporting, Safe TNT, and Player Shops


strumshot

Recommended Posts

KOTR Modpack 1.6.2

Entirely original map locking, non-op teleporting, fair tnt, and player gui-based shops.

 

I present to you the first public publish of KOTR modpack! A very vanilla-like experience, simply extended for a more rewarding and in-depth SMP experience.

 

 

IChunkLock

Players can lock up to 4 64x64-block chunks and add other players to the approved list. Players not approved can not break or build in these areas.

Players can toggle monster spawns in locked lands.

OP's can lock lands, which are locked only to other creative-enabled players.

Players are notified when entering and leaving different lands, denoted by

    "wilderness" (traditional map rules)

    "foreign lands" (locked lands that the player does not have access to)

    "safe" (lands with monster spawns turned off)

Foreign players can not activate items or redstone by hand, but will trigger floor plates and trip-wires, for example.

 

    Chunklock commands

 

    /chunklock

    (/cl)

    /chunklock off

    /chunklock add <player>

    /chunklock remove <player>

    /chunkinfo

    /spawnlock

    (/sl)

 

Fair TNT

 

TNT will only explode in locked lands when manually lit by an approved player.

TNT exploding in the wilderness will destroy blocks in locked lands if the blast radius reaches, so be careful building at locked-land perimeters.

 

ITeleLink

 

Players can craft "Mark Books" with a book and an eye of ender.

"Using" a mark book will mark the book with coordinates of the player at the time of marking, making a "Marked Book" and the player will be prompted to name this location.

Marked books can be placed in a valid "teleporter structure" for permanent usage by any player, even in foreign lands.

"Using" a marked book will remove one (of ten) "Mark Papers" which can be used for immediate personal teleportation from anywhere, and the paper is consumed upon use. 

Teleporter structures consist of two empty blocks the player can walk into (surrounded by solid blocks on the left, right, back, and top) with a "teleporter core" below them that the player can stand on, as well as an item frame on the left-front face of the structure at eye-height, where the Marked Book can be placed. (a link to a simple visual guide is provided with the download)

a "Teleporter Core" is crafted using 8 emeralds surrounding one redstone dust.

These teleport options in conjunction with ChunkLock provide many options for player travel, such as pre-building teleporter banks in OP-locked lands, placing teleporter structures in player-locked areas providing simple, permanent travel to favorite locations, and using/giving Mark Papers to other players for single-sue teleportation to player bases, shops, etc.

*Marking is not possible in foreign lands

 

IShop

 

IShop is operated by a "Shop Chest" block, which is crafted like a normal chest, but with one "Coin" in the center.

Coins are dropped randomly from monsters when killed by a player, and are occasionally offered as trade for gold bars by villagers at a varying rate.

Shop Chests can be used by any shopper, even in foreign lands.

Each shop chest has one price (in coin) for all items sold within, which can be set only by the owner, via the GUI opened by using the block.

Each shop chest has 12 shop slots and 27 bank slots which hold the payments received.

Shop chests can be fully automated via hoppers/carts. The top and sides will fill the shop slots, while the bottom will extract the coin in the bank.

 

*There are great opportunities for vibrant player economies via the marriage of these three mods. Lock lands, build a store-front, stock the shop and manage your bank automatically, and give away books or papers marked to other players. (Shop blocks can have a 0-price for free items.)

*There are also great server-design/OP build opportunities through locking the lands to OP and building public teleporter structures.

*There are also great PvP opportunities as TNT can breach a perimeter but not grief, and redstone traps and contraptions actually work!

(Also, you may notice Factions are under development!)

 

The modpack, changelog, and simple visual guide can be downloaded here.

*It is highly recommended to read the changelog, view the guide, and only use the latest version.

 

Please post any bugs/issues/questions/comments here!

 

I'll need help, and I'll give help. Just ask, you know I will!

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...
  • 1 month later...

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.