Skip to content

Minecraft combat arena world with custom developed data packs

Notifications You must be signed in to change notification settings

pistonpoek/74th-arena

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

74th Arena


Overview

This repository contains a Minecraft world that is inspired by the 74th Hunger Games arena. The world has custom developed data packs for extended vanilla functionallity, such as working tribute tubes, no GUI loot items and more.

Terrain

The original world makes up the exterior terrain for the arena, which was made by Flashness1. I extended the world with the underground catacombs and launch rooms for tributes to enter the arena from as seen in the following images.

catacombs Hallway in the catacombs leading to the launch room of tribute 1

launch room Launch room with door looking at a table that has a tribute token item placed upon it

Features

A full experience is created by combining data pack features that utilize vanilla game elements. Throughout a game experience the following features may be noticed.

Launch

For dramatic effect tributes can be lifted into the arena using the tribute tube. The arena elevator data pack is used to lift players. In the launch room players can enter the elevator as seen in the following image.

tribute tube Entrance of the tribute tube viewed from within the launch room

Start

After starting the game players will be held back on the platforms until the countdown ends. The countdown is displayed visually in the world as seen in the following image. Both the start positions and the countdown can be setup using the arena world data pack.

platforms Platforms bend around the cornucopia center that has a countdown display upon it

Loot

Spread throughout the arena are loot items that can be picked up by players, as seen in the following image.

cornucopia Looking out from within the cornucopia to the loot items layed out on the ground before the platforms

Arena items

These items can be picked up by interacting with the entity. The default Minecraft control for interacting is right click. The functionality for the special items is found in the arena item data pack.

Loot table

All items in the arena are picked based on the same loot table, which is stored in the arena world data pack. The items are placed at loot markers on the reset trigger.

Reset

At any moment the arena can be reset to allow for a new match to ready itself. During the reset arena entities are removed, sweet berry bushes are grown to be pluckable and campfires are unlit.

Note

Only sweet berry bushes and campfires that are set with the data pack are reset, see the placing world objects section for how to setup new objects in the arena.

campfire Outer area of the arena with a campfire next to a creek

Data packs

Four data packs are combined for the use in the arena. The arena elevator and arena item data pack could be used separately for their functionality. Some functionality of the data packs can be altered by adjusting data in game.

Arena action

The arena action data pack manages player related functionality for the arena. The data pack allows players to be given a tribute or gamemaker role. Gamemakers are able to trigger actions for the arena to take. Lastly gamemakers can manage sponsering for the tributes.

Arena elevator

The arena elevator data pack provides an elevator for the arena. An elevator can be created and removed. Of course an elevator can also lift players inside.

/execute positioned ~ ~ ~ arena_world:create {block:$block_name%, height:%height%}
/execute as @n[predicate=arena_elevator:arena_elevator] run function arena_elevator:remove
/execute as @n[predicate=arena_elevator:arena_elevator] run function arena_elevator:lift

Arena item

The arena item data pack provides visible items for the arena. Items can be created and removed. For each created item an item display can have its item be replaced to change what item can be picked up by a player.

/function arena_item:create
/execute as @n[predicate=arena_item:arena_item] run function arena_item:remove

Replace command

/execute as @n[predicate=arena_item:arena_item_display] run loot replace entity @s contents loot arena_world:arena_loot

Arena world

The arena world data pack contains functionality for controlling the world for the arena. Most importantly this data pack can be used to place world objects.

Controls

Various function of the data packs can be used to setup and manage the arena.

Players

The arena action includes functions to manage players for the arena.

Roles

In order to differentiate between players and moderators there are two roles. The tribute and gamemaker role can both be altered for a player by executing the tribute add, tribute remove, gamemaker add or gamemaker remove function.

/function arena_action:tribute/add
/function arena_action:tribute/remove
/function arena_action:gamemaker/add
/function arena_action:gamemaker/remove

Sponsering

For making sponsering of players easier during a physical local server event some function are available. The select function can be used to select the currently held item as the item to sponsor, which can be followed by the receive function to give the player executing the function the currently selected item. As a one command option the give function allows a gamemaker to give the currently held item to the player with the specified name.

/function arena_action:sponsor/select
/function arena_action:sponsor/receive
/function arena_action:sponsor/give {name:%player_name%}

Triggers

In order to ease the control of the arena the following triggers are made for gamemakers to use. The arena action will take care to update the state of the arena accordingly.

Reset

Restores the arena to a 'clean' state that is prepared to be made ready for a game. An ideal state to adjust data before starting the game.

Launch

Starts the arena by launching tributes inside a tribute tube into the arena. After the tributes have been lifted and the countdown finished the games have begun.

Player

Starts the arena by teleporting tributes to the start position markers in the arena. Then a countdown starts, after which the games have begun.

Finish

Announces the winner of the games by checking for alive tributes. Additionally the spectating tributes are teleported to spectate the victor.

Placing world objects

Special objects can be placed in the arena using the arena world data pack. The objects, berry_bush, campfire, countdown, elevator, loot, start_position and token can be made using the following function by replacing the respective name.

Make function

/function arena_world:name/make

Further more animal spawn location can be marked by using the following command for either a land or water spawn position.

/function arena_world:animal/land
/function arena_world:animal/water

Adjust data

The data packs set default data that can be adjusted manually. Changing data is completly optional, but allows modification of behavior without having to modify the data pack files. Data that can be adjusted can be inspected by running the /data get storage command.

Additional functions

Other functions that can be used from the data packs include a function to spawn an angry wolf as a threat to the players.

/function arena_world:threat/wolf/spawn

Footnotes

  1. I would be pleased to hear better references to the originial world author Flashness or the original upload for the world used.

About

Minecraft combat arena world with custom developed data packs

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published