SL22W43

From ETM
Jump to navigation Jump to search

◄ SL22W42 | SL22W44 ►


Bug: Wheat does not grow directly under a glass block?

Somehow add producing multiple items after another to production

Auto-create needed indexes on bootup again for couchbase

Update WorldSave to include Entities

  • Check if minecraft already saves region files correctly now
  • Reimplement World-Saver and test validity by crashing the server after a save-execution
  • Validate saving frequency is down a LOT as we save entities in their own system
  • Validate entities are force-saved as well!
  • Save about 1-10 Chunks per tick max depending on current server load


  • Disable normal Book-Writing, only allow ISBN registered books / give them a cost
  • Prevent candle-griefing with potions callEntityChangeBlockEvent
  • Delete cursor on the desktop from others when kicking them
  • On plugin reload we need to clear the map-caches or give cursors a custom id-range of maps
    • Fix => Overwrite the cursor-frame on first creation with an empty byte array - making any kind of cached data now transparent
  • Refreshing of Left/Right/Top desktop part behaves different to the main screen.
    • How do we want to force a refresh of multiple parts?
  • Limit the amount of plots a player can select and change at one single time
    • Possibly allow more plots to be changed with VIP status
  • FramePartRenderCache not fully implemented
    • Missing deregistering
    • Missing clearing up unused bits
    • Missing emergency map-id reset
    • Missing commands to get info/cleanup

Leftovers 2021:

  • Open Problem: How to open a screen underground?
  • ChunkliService: Add additional failover ip to the server for mojang caching proxy
  • Chunkli: Add command to force a player refresh via chunkli api
  • Kadi: Add "refresh" command to update saved PlayerId in users
  • Setup couchbase full backups automatically
  • Bug: Invalid shops should be allowed to open
    • BUT not allow to buy sell stuff from it
    • Allows to validate the internals of the shop but not to buy
    • Clearly mark it being defective in the title bar of the shop
  • Chamber ticking causes too many updates of fakebars and desktop
    • Better handling of update-states
    • Making better use of the previous chamber state
    • Rate-limit the update rate of fakebar and desktop
  • Add a Tool that can destroy a whole tree BUT MAKE IT COOL not just shitty instant destroy
    • Add sounds
    • Add random/upwards-velocity to make it look cooler
  • Add Camera-Flight System?
  • Path management
    • Tutorials need a path from A to B
    • Path is not direct, might go around corner
    • Path needs to be saved as list of positions


Bug: GeneralizedSuffixTree is nearly unusable on datasizes > 1000

  • If we have ~10k users the GeneralizedSuffixTree will use up most memory on the system for all the Bin/Pod systems


Desktop Test input:

  • Limit input-speed by only refreshing the screen every ~250ms while typing is still in progress
  • Limit input field max input in general
  • Detect desktop spam and temporarely disable desktop or kick / prison?
  • Set some keys to disabled on the keyboard depending on the regex from the input-field
  • Add a list of blocked mail providers
  • Finish Keyboard-Input poup
  • Mailing-System
    • Test actually sending out email
  • Indicator on top of player if in screen-mode?


Add game-state-manager

  • Add frozen "spectator mode" (mail registration)
  • Add frozen "spectator mode" (camera transition testing)
  • Add area-limitiation depending on current state (tutorial phases)
  • Add state-switchting by admin command


  • Test World LightHack again
  • Automated Backup-System for Server/Couchbase
  • Upgradable spyglass: lights up the looked at object?


  • Tutorial leftovers:
    • Create legal / intro screen
      • Player is in specator mode / cannot really move
      • Player is forced to use the screen
      • Player needs to accept AGB
      • Please register to secure your account / email / get status updates
      • Web-Screen only usable if email is verified
    • Force-show some server features?
      • Flying, desktop, plot system, planets, blueprints, shops
      • Possibly as some sort of Trailer-Mode in spectator?
    • Special Tutorial-Desktop-Screen
      • 1. Learn to use screen
      • 2. Learn to fly
      • 3. Learn to research (Fuel-Plant -> Research flying/fuel?)
      • 4. Learn to produce
      • 5. Learn to teleport
      • 6. Get a Plot


  • We need screen commands for players - works like Stands/Players/Mobs
    • list, create, delete, info, finish, move, reset, resetelement
    • /screen create aldi_entry [size, design, type5, __ ]
      • Creates a default-screen with the help-text to manipulate the given screen
    • /screen setdesign [screen] [screendesign]
    • /screen settext [screen] [tilename] [colorvartext...]
      • /screen settext aldi_entry {title, text, button1} [colorvartext...]
      • /screen settext aldi_entry {title, subtitle, text1, text2, text3, button1, button2,button3,} [colorvartext...]
    • /screen setaction xxx
    • /screen settextcolor xxx
    • /screen setelementdesign xxx (button styling)
    • /screen setimage aldi_entry { image1 } PepeLaugh_PepeHands
    • /screen setbackground aldi_entry { background } PepeLaugh_PepeHands1
    • /screen hide aldi_entry {title, subtitle, text1, text2, text3, button1, button2,button3} [ON/OFF]

Remove exposure of Map<String, PdaContainer<?,?>> getActions() in AbstractFake

Add toggling for edit commands / changeoption commands

add reset_all command for edit commands


If a player is in two groups the disabledPerms will always win. Do we want this?

  • default group disables godmode, allperms allows godmode => results in godmode disallowed
  • Feature: Allow setting single/mirrored for the ingame screens as admin
  • Feature: Allow setting images on the screen (IconLayer)
  • Bug: IconLayers will overwrite more than the the size of the tile
  • Bug: /land info on a plot of a deleted player will result in "XXX is new to the game" message


Stasi Events:

  • Implement a LOT more Metadata as its super fast anyway
  • Add action to clear older stasi-data entries (good for test-data-generation / mistakes)
  • (DispenserWater)
  • (DispenserBonemeal)
  • (BlockDispenseEvent)
  • BlockGrowEvent
  • BlockFromToEvent
  • FluidLevelChangeEvent
  • filter stasidata container to only given flags/params | add stasi desktop page query builder


Pool<Kryo> possibly broken/wait forever, revert back to own implementation if needed

  • Only working with calling Util.isClassAvailable("java.util.Optional"); on startup


  • Reimplement ViewDistance per player
    • Implement simdist for single player
    • Implement fakeviewdistance

Bug: Command calls are for some reason sync and not async? dafuq

Update: Aggressive world saving causes serverlags. Decrease the speed again at some point

Bug: Make sure we unload ItemFrames when they are outside of viewdistance but still in fakeview-range

Bug: Desktop slow if the Minecraft-Server is slow? Why?


Change implementation of BackgroundRelightTasks again?

  • The old system is not really used anymore

Implement redstone-clock-detector?



Setup hiring-page for

  • Unpaid work
  • MiniJob work
  • Collab
  • (Funding related) actual hiring of people