/ misc_txt_files / README.txt
README.txt
1 For New Worlds: 2 Game rules: doDaylightCycle=off, doWeatherCycle=off, doInsomnia=off, doMobSpawning=off, doPatrolSpawning=off, doTraderSpawning=off, announceAdvancements=off 3 Preset (superflat): 64*minecraft:air;minecraft:the_void 4 Generate structures off 5 Time: noon 6 7 DEPLOYMENT: 8 1. Setup java and paper 9 2. Setup Geyser and Floodgate (optional) 10 3. Download CCMCC plugin 11 4. Copy config files from config/ to plugins/CornerCultMCC/ 12 5. Copy world files (from worlds/) to server root 13 6. Configure server.properties (level-name=CCMCC-spawn, spawn-protection=0, allow-nether=false, max-players=<whatever>, allow-flying=true), Geyser, Floodgate, and that paper setting that enables team colours in chat 14 7. Setup Java Resource Pack (idk how) and Bedrock Texture Packs (zip contents of CCMCC pack (bedrock) + CCMC pack (bedrock_2) (separate zip files) and copy to plugins/Geyser-Spigot/packs) 15 16 Note: 17 The bedrock resource pack has been split into multiple packs: 18 - The Music Pack: A chonker-size pack containing all of the music. It's so big that the music is now compressed for both bedrock and java (down to a 48k bitrate). 19 - The Other Pack: Contains graphics, sfx, etc. 20 21 Since java only supports one server resource pack, java is unaffected (apart from by the compression). In terms of server pack support, bedrock would win if not for download speed issues. 22 23 Resource Pack Notes: 24 [place(s) to consult] 25 THING JAVA BEDROCK 26 Sounds sounds.json sounds/sound_definitions.json 27 sounds/ sounds/ 28 Blocks textures/block textures/block 29 Items textures/item textures/items 30 Armour models/armor models/armor 31 Language lang/en_gb.json texts/en_GB.lang 32 Font font/default.json font/glyph_XX.png (where XX is valid hex - each char is 32x32 see https://wiki.bedrock.dev/concepts/emojis.html) 33 34 Bedrock: Bump manifest and place zipped pack(s) in plugins/Geyser-Spigot/packs 35 Java: Zip, name, and upload to dropbox. Change share link to ?dl=1 (not ?dl=0) and paste in server.properties in the correct place. 36 37 MAPMAN.YML 38 break: 39 maps: ["default"] 40 map_default: 41 title: "Spawn" 42 nopersist: false 43 spawn_default: 44 world: "CCMCC-spawn" 45 x: 0.5 46 y: 1 47 z: 0.5 48 spawn_team1: 49 world: "CCMCC-spawn" 50 x: -2.5 51 y: 1 52 z: -2.5 53 paint1: 54 find: "white_concrete" 55 place: "_concrete" 56 minPos: [-4, 0, -4] 57 maxPos: [-2, 1, -2] 58 spawn_team2: 59 world: "CCMCC-spawn" 60 x: 3.5 61 y: 1 62 z: 3.5 63 paint1: 64 find: "white_concrete" 65 place: "_concrete" 66 minPos: [2, 0, 2] 67 maxPos: [4, 0, 4] 68 69 break -> Game ID (used for each game) 70 71 map_default -> Map with ID 'default' from the maps list 72 title -> Map Name 73 nopersist -> Set to 'true' to enable no-persist, which means that a temporary copy of any worlds within the map will be made for the duration of the game (and then deleted afterwards). Useful for games such as TGTTOSAHAF, Battle Box, and really any game in which the map will be changed (but you don't want to keep the changes afterwards). 74 75 spawn_default -> worldname/x/y/z/pitch/yaw for the default spawn. Pitch/yaw is optional. 76 spawn_teamX -> Spawn #X for unique teams (allocated starting with 1 and going onward). As per default spawn but with an additional option for 'paints'. 77 78 instance -> Used to place a spawn in a given "instance" of a world (using a number). Only works when nopersist is enabled. If ommitted or set to 0, spawns in the "default instance". 79 80 paintX -> Used for 'team paints', where areas of the map can be painted in team colours based on the teams present. paintX paints the area in the colour of the team whose spawn it is specified in. 81 find -> Block to find (full spigot ID, any case) 82 place -> Block to place (without the colour part, so "_concrete" to place coloured concrete). 83 minPos -> Minimum position to search from 84 maxPos -> Maximum position to search to 85 86 87 Fancy Diagram For How Phases Steal The Same Map Manager Over And Over And Over: 88 IntroductionPhase <--- MCCPhase ---> SubPhase ---> SubPhase 89 90 91 How dodgebolt is structured because I'm a fucking idot 92 1. Pre-Finals Break 93 A 60-second MCCBreak phase leading up to Dodgebolt. 94 95 2. Finals Preparation 96 A 1-minute preparation phase. 97 On Join/Start => Spectators are placed in the spectator section and are given emeralds based on their team's coin count, which they can spend at the villager vendors. Participants are housed offside of the pitch in the "changing room" areas. 98 99 3. Dodgebolt Introduction 100 The introduction phase. 101 The doors open and beckon the participants on to the arena. 102 The spectators should continue to cheer and buy merch. 103 104 4. Dodgebolt! 105 At the start of each round, the participants are inventory-cleared then given their bows and are placed in their spawn positions (blocked by barriers). Bows are Power V / CurseOfVanishing. On respawn, the participants are placed out of the arena. 106 107 5. Celebration! 108 Once dodgebolt is completed, the participants are teleported out and (finally) given their emeralds. The champions are placed on a trophy and gain some extra emeralds as a prize. 109 The Celebration phase will automatically end after 15 minutes, though people are not required to stay that long. 110 111 112 Sandstone Types: 113 - Regular Sandstone: Tiles - large tiles which can make walls 114 - Cut Sandstone: Cut - 1.8 smooth sandstone 115 - Chiselled Sandstone: Chiselled into a square-shape (similar to stone bricks) 116 - Smooth Sandstone: Faint bricks 117 118 - Red Standstone: Bricks - red/alternative bricks 119 - Cut Red Sandstone: Pillar - vertical pillar 120 - Chiseled Sandstone: Chiseled with a heiroglyph 121 - Smooth Red Sandstone: Solid squares (used for those square things) 122 123 - End Stone: Cracked Sandstone 124 - Purpur Pillar: Blue Sandstone Pillar 125 - Purpur Bricks: Blue Sandstone Bricks 126 - End Bricks: Cut Blue Sandstone 127 128 - Cobblestone: Cracked Stone 129 - Cobbled Deepslate: Cracked Deepslate 130 131 - Deepslate redstone/lapis/emerald/gold - Red/blue/green/gold stripe 132 - Redstone Block - Red vault block 133 - Lapis/Emerald Block - Blue/green vault block 134 - Raw Gold Block - Gold vault block 135 - Polished Granite - Vault Door Edge Block 136 - Regular redstone/lapis/emerald/gold ore - Red/blue/green/gold keyhole 137 138 - Banner Patterns (items) - Keys of various types (TODO: pick a better thing to retexture) 139 140 SURVIVAL GAMES MAP: Tranquility Base 141 Moon / sci-fi 142 Buildings are like structures as part of a moon base, but there are also outdoor areas to explore. 143 The outdoor areas (anywhere with skylight) have low gravity (ambient Jump Boost III + Slow Fall). 144 145 Survival Games Loot: 146 Split into three tiers: 147 - Tier I: Leather + wood/stone. Easy to reach. Only challenge is getting there first. 148 - Tier II: Gold/Iron. Moderate to reach. May require searching/hunting or an easy challenge. 149 - Tier III: Diamond. Hard to reach. Hidden in cryptic places or past tough challenges. 150 151 Split into five categories: 152 - Armour: armour. 153 - Weapon: Swords/Axes + Bows 154 - Food: food (duh) 155 - Common: Arrows, enchantments, materials, etc. 156 - Twist: Items such as water buckets, cobwebs, shields, tridents, ender pearls, etc. 157 158 Then collated together to form each chest. 159 160 Twist: 161 - Tier I: Cobweb, TNT 162 - Tier II: Water Bucket, Ender Pearl, Shield, Potions (level I) 163 - Tier III: Lava Bucket, Trident, Potions (level II) 164 165 166 TGTTOSAWACC 167 Boom Town: 168 Equipment - TNT + Flame Bow 169 Western setting with metal/wood skyscrapers akin to plr_highertower in both materials and verticality. Many paths to travel, cutting through empty parts of buildings. Stacks of TNT in places where it can get set off. 170 171 Pride Month: 172 Equipment: Default + Crossbow + Transgender Fireworks 173 Sky map. Floating pride flags. 174 175 Glide: 176 Equipment: Elytra (you die if you land) 177 ??? elytra course 178 179 Ace Race..?: 180 Equipment: Default + trident (Loyalty III not RIPTIDE) 181 Some kind of ace race style thing? 182 183 Moon Bounce: 184 Equipment: 64x slime block, 64x lime stained glass 185 Set on the moon with moon gravity active. 186 Course will involve a lot of high jumps and 'leaps of faith' requiring the user to place slime blocks at points so they bounce back up (saving time). 187 188 Spleef: 189 Equipment: Efficiency ??? Iron Shovel (unbreakable) 190 Set in a large, multi-tiered snow spleef arena, with each tier cutting away further towards the back as you get higher up. Digging snow will immediately place the snowballs in your hotbar for use in towering up toward the top (or throwing at others hehehehehe) 191 192 CANON TEAM NAMES: 193 Beep Boop [yellow] 194 Blue Blarps [blue] 195 Green B!tches [green] 196 Lilac Lesbians [dark_purple] 197 Cyan Catpeople [dark_aqua] 198 D.Green Dangans [dark_green] 199 Sapphire Simps [dark_blue] 200 Garnet Genshins [dark_red] 201 202 Structure Tagging: 203 Structures are saved using the structure system. 204 "Structure tagging" is used to represent various locations for things such as connections. 205 206 A structure tag is an armour stand with a name in the format "t:<type>[:metadata]*" 207 Type defines the type of tag, which the program may use to determine what to do. (tags are made invisible/invulnerable when loaded) 208 Metadata can be of unlimited length (up to MC name restriction). 209 210 /structure pos1/pos2 211 /structure save <name> - save the structure to a file 212 /structure tag <type> [metadata]* - create a tag atop the block you're facing 213 214 Plugin List: 215 - Geyser/Floodgate (bedrock) 216 - Citizens (dependency) 217 - ProtocolLib (???) 218 - Viaversion (1.18 server) 219 220 1.19 checklist: 221 [x] Update resource packs (just bump pack_format should work) 222 [x] Update Geyser/Floodgate 223 [ ] Test updating server and plugin - if that doesn't work figure out how to make viaversion stop kicking players on startbeep_high 224 225 Sands of Time Tags: 226 - con <type> [noentry] - connector. type specifies the next type of tunnel allowed. Add "noentry" as the second arg to force it to be used as an exit (e.g. prevent another tunnel from connecting to it) 227 - bigcoin - Big Coin Pile 228 - smallcoin - Small Coin Pile 229 - loot - Loot (e.g. item) 230 - sand <x> - 1 in x chance of sand here 231 232 Substructuring (note - this must be implemented by generators on the import stage, not in PopulateWorldStep): 233 - substructure <category> 234 Allows you to embed a random structure from the given category. The position of the tag acts as the minimum coordinates of the structure. 235 236 Triggers: 237 Triggers are used to build simple systems. They are split into two types: Sensors and Effectors. Every trigger has a "trigger group" that they belong to. 238 239 Sensors trigger all triggers in their trigger group when a condition is met. Effectors do something when their trigger group is triggered. Triggers can only be triggered once. 240 Groups are specified by any string but can only trigger triggers within the same structure/substructure (i.e. same PopulateWorldStep call). 241 242 Sensors: 243 - senseplr <group> <radius>: Triggers when a player is nearby to the tag 244 - lever <group> <radius>: Triggers when a player flips a lever (on the same block as the tag) 245 [more will be implemented once the puzzles are added] 246 247 Effectors: 248 - setair <group> [delay]: Sets the block to air, optionally after an x-tick delay. 249 - spawnmob <group> <amount> [mobs...]: Spawns a random mob from the list (Spigot IDs). Omit mob to use a default selection 250 - setspawner <group> [mobs...]: On load, sets the spawner to spawn a random mob from the list (Spigot IDs). Omit [mobs...] to use a default selection. When triggered, will immediately activate the spawner once to ensure that some mobs are spawned before a torch is placed. 251 - statue <group1> <group2> <mob>: Mob is a spigot ID for a 2 tall 1 wide mob. Places a statue at that position when triggered once. The statue is woken up once the trigger is triggered a second time. The two groups used for this can be in any order. 252 253 Roadmap: 254 - Core, Decision Dome, Dodgebolt (DONE) 255 - Battle Box, SG*, TGTTOS* (DONE) 256 - Sands of Time (80% there) 257 258 - Continue work on SG* and TGTTOS 259 - Rocket Spleef Rush, Ace Race*, Hole in the Wall, Parkour Warriors* 260 - More work on Sands of Time* 261 262 - Continue work on SG, Parkour Warriors*, Ace Race* 263 - Sky Battle, Meltdown* 264 - Finish work on Sands of Time, Ace Race, and Parkour Warriors 265 266 Meltdown will not be ready for release before CCMCC #1. 267 Games marked with a * will not be completed by the end of that step, but may be playable in an incomplete state. 268 Big Sales at Buildmart and Grid Runners are currently not planned but may arrive in future. 269 270 BetterTunnelGen (SOT): 271 Splits rooms into "tunnels", "passages", and "rooms". 272 Tunnels: Short, 3x3 tunnel pieces which connect things together like glue. Don't count towards depth score. 273 Avg Sand: 0 274 Length: 2-5 blocks 275 Size: 3x3 or similar 276 277 Passages: Wider tunnels which often contain interesting features e.g. spawner rooms, gold, parkour, etc. 278 Avg Sand: 0.5 279 Length: 5-15 blocks 280 Size: 5x5 or similar 281 282 Rooms: Large rooms, often with multiple branches and something interesting to do. 283 Avg Sand: 1 284 Length/Size: Big, fairly open (but depends on the room) 285 286 Rooms can connect to tunnels or passages. 287 Passages can connect to rooms, tunnels, or passages. 288 Tunnels can connect to rooms or passages. 289 The Hub can connect to passages only. 290 291 Rusty Doors count as a tunnel. 292 293 Tunnels should expect to fill a 5x4 hole in the area they connect to, even if they don't use all of that space. 294 295 Dodgebolt shops: 296 Food: 297 ??? 298 299 Merch I - team colours: ??? 300 Merch II: 301 - 15 emeralds per item 302 - Items: Fan-Whacker 3000, Rocket Launcher (doesn't break blocks), Ace Trident (Riptide II), Pocket Sand Timer, etc. 303 304 Parkour Tag: - I feel like this is a flawed mechanism and is impossible to test as it still requires a minimum number of players 305 Each matchup can be split into two halves: 306 - First Half: Team 1 hunts Team 2 307 - Second Half: Team 2 hunts Team 1 308 309 Player Number Strategies: 310 If there aren't enough players, halves can happen sequentially rather than simultanaeously, so the Hunter for team 2 can run during the first half (and the runners for team 1 will spectate). 311 Halves will switch without a music or world change. Hunter selection happens before the first half and results are announced after the second. 312 The coin bonus will be awarded to the first half's hunter if the "caught by" time is reached, or to the second half's hunter if they manage to tag all runners before the "caught by" time is reached. 313 314 If there still aren't enough players, then runners for team 1s can be drafted as "support runners" to assist in other teams' matchups. (and vice versa for the second half). 315 316 PKTMatchup: 317 - World world 318 - List<PKTHalf> halves 319 - CCMCCTeam team1, team2 320 321 PKTHalf: 322 - World world 323 - ??? arena (which arena to use - each instance of the map has 2 copies of the arena) 324 - Player hunter 325 - List<Player> runners 326 327 - List<UUID> livingRunners 328 - int runnerCaughtTime (when the runners were caught) 329 330 Registering New Games: 331 - Add to Dome Manager refresh() and gameID systems 332 333 Updated Roadmap: 334 - Stage Alpha: Core, Decision Dome, Dodgebolt 335 - Stage Beta: Battle Box, Survival Games, TGTTOS 336 - Stage Theta: Sands of Time (pt1), Hole in the Wall, Rocket Spleef Rush (pt1) 337 338 - Stage Delta: Battle Box map, Big Sales at Build Mart, Survival Games 339 340 - Stage Epsilon: Rocket Spleef Rush (pt2), Sands of Time (pt2), Parkour Warriors 341 - Stage Omega: [Secret Game], Sky Battle 342 CCMCC #1 will likely happen during Stage Omega. Depending on the secret game the first dome will either contain Sky Battle or the secret game, but it is not likely to be both. 343 I may host a non-canon "CCMCC #0" prior to this but this would rely on enough games being event-ready. 344 345 Progress (> = Barely Playable, >> = Playable, >>> = Good, >>>> = Very Good): 346 Battle Box [>>>-]: Map complete apart from detailing. 347 Survival Games [>---]: Needs a new map. 348 TGTTOS [>>--]: 2/6 maps complete. 349 Hole In The Wall [>>--]: Needs about 2~4x as many walls as it has currently. Fixing the physics would be nice at some point but isn't "required" to run an event. 350 Rocket Spleef Rush [>---]: 0/3 maps complete. 351 Sands of Time [>>--]: Needs Puzzles, Death, and a bunch more rooms. 352 Build Mart [----]: Map incomplete (propellers, top resource islands). 6/24 builds complete but some still need touch ups/fixes. 353 354 Parkour Warriors: Not started. 355 [Secret Game]: TBA/TBD 356 Sky Battle: Not started, but I know the map will be called "Skyduckle". 357 358 Benched: Ace Race (larger than buildmart in map size), Grid Runners (large scope for both map and code), Meltdown (large, detailed map), Parkour Tag (not enough people + I don't have enough MC accounts to test). 359 360 SG Loot: 361 - Stone/Iron tools, Leather/Chain/Iron armour 362 - Cookie, Chicken, Pumpkin Pie, Cake 363 - Enchanted Books 364 - Arrows, Bows, Crossbows 365 - Cobwebs, TNT, Harming II potions 366 - Gapples