summaryrefslogtreecommitdiff
path: root/todo.md
blob: 6f3b12aa8ae98afe7917ca65d3f76b199e7bbbdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Parcels Todo list

Commands
-
Basically all admin commands.
* ~~setowner~~
* ~~dispose~~
* ~~reset~~
* ~~swap~~
* New admin commands that I can't think of right now.

Also
* ~~setbiome~~
* random

~~Modify home command:~~
* ~~Make `:` not be required if prior component cannot be parsed to an int~~
* ~~Listen for command events that use plotme-style argument, and transform the command~~

~~Add permissions to commands (replace or fix `IContextFilter` from command lib
to allow inheriting permissions properly).~~

Parcel Options
-

Parcel options apply to any player with `DEFAULT` added status.
They affect what their permissions might be within the parcel.

Apart from `/p option inputs`, `/p option inventory`, the following might be considered. 

~~Move existing options to "interact" namespace (`/p o interact`)
Add classes for different things you can interact with~~

~~Then,~~
~~* Split `/p option interact inputs` into a list of interactible block types.~~ 
~~The list could include container blocks, merging the existing inventory option.~~
* Players cannot launch projectiles in locations where they can't build.~~ 
This could become optional.

* Option to control spreading and/or forming of blocks such as grass and ice within the parcel.~~

Block Management
- 
~~Update the parcel corner with owner info when a player flies into the parcel (after migrations).
Parcels has a player head in that corner in addition to the sign that PlotMe uses.~~

~~Commands that modify parcel blocks must be kept track of to prevent multiple
from running simultaneously in the same parcel. `hasBlockVisitors` field must be updated.
In general, spamming the commands must be caught at all cost to avoid lots of lag.~~

~~Swap - schematic is in place, but proper placement order must be enforced to make sure that attachable 
blocks are placed properly. Alternatively, if a block change method can be found that doesn't
cause block updates, that would be preferred subject to having good performance.~~

~~Change `RegionTraversal` to allow traversing different parts of a region in a different order.
This could apply to clearing of plots, for example. It would be better if the bottom 64 (floor height) 
layers are done upwards, and the rest downwards.~~

Events
-
Prevent block spreading subject to conditions.

Scan through blocks that were added since original Parcels implementation,
that might introduce things that need to be checked or listened for.

~~WorldEdit Listener.~~

Limit number of beacons in a parcel and/or avoid potion effects being applied outside the parcel.

Database
-
Find and patch ways to add new useless entries (for regular players at least)

Prevent invalid player names from being saved to the database. 
Here, invalid player names mean names that contain invalid characters.

Use an atomic GET OR INSERT query so that parallel execution doesn't cause problems
(as is currently the case when migrating).

Implement a container that doesn't require loading all parcel data on startup (Complex).

~~Update player profiles in the database on join to account for name changes.~~

~~Store player status on parcel (allowed, default banned) as a number to allow for future additions to this set of possibilities~~


After testing on Redstoner
-

Clear (and swap) entities on /p clear etc  
Fix command lag  
Chorus fruit can grow outside plots  
Vines can grow outside plots  
Ghasts, bats, phantoms and magma cubes can be spawned with eggs  
ParcelTarget doesn't report a world that wasn't found correctly  
Jumping on turtle eggs is considered as interacting with pressure plates  
Setbiome internal error when progress reporting is attached  
Unclaim doesn't clear the plot. It probably should.  
Players can shoot boats and minecarts.  
You can use disabled items by rightclicking air.  
Tab complete isn't working correctly.  
~~Bed use in nether and end might not have to be blocked.~~