Compare commits

..

226 Commits

Author SHA1 Message Date
Jason Booth 008052179f Fix Security Exploit 2011-06-27 18:30:45 +02:00
FrozenCow 4b3d8a7c6b Changed version to 0.18.1. 2011-06-27 18:30:45 +02:00
mikeprimm 5eacf530bd Merge pull request #209 from mikeprimm/master
Prevent bad JSON when http://jsonip.appspot.com/ is broken or overquota
2011-06-12 21:34:54 -07:00
Mike Primm f802c1d889 Prevent broken JSON when http://jsonip.appspot.com/ is over quote or
broken.
2011-06-12 21:33:36 -07:00
mikeprimm a827843365 Merge pull request #202 from MiLk/encoding
Use unicode hexadecimal for specials characters
2011-06-12 19:56:24 -07:00
mikeprimm d1f94fbf8e Merge pull request #208 from mikeprimm/master
Add better HTTP proxy support for webchat, add hidewebchatip option to alias web chat IP addresses
2011-06-12 19:40:54 -07:00
Mike Primm e8a6bf46cf Add support for hidewebchatip option, to replace webchat IP with alias 2011-06-12 19:35:53 -07:00
Mike Primm 40ee132277 Add support for using X-Forwarded-From for better proxy IP handling on
webchat
2011-06-12 18:50:41 -07:00
mikeprimm 790d0380c2 Merge pull request #207 from mikeprimm/master
Add default icon for skylands surface map
2011-06-12 17:40:17 -07:00
Mike Primm 397f97800c Add image for default skylands surface map 2011-06-12 17:36:06 -07:00
MiLk 7cea521e97 Use unicode hexadecimal for specials characters
Signed-off-by: MiLk <hello@emilienkenler.com>
2011-06-09 00:30:50 +02:00
zeeZ 274cddd9ff Don't wrap whitespace in player names 2011-06-08 22:49:35 +08:00
mikeprimm 65f93393e6 Merge pull request #198 from mikeprimm/master
Eliminate initial player position flicker
2011-06-03 07:56:14 -07:00
Mike Primm d54d26db69 Fix typo in example 2011-06-03 09:52:26 -05:00
Mike Primm 867c31573e Remove icon position flicker on first load/player add 2011-06-03 09:51:41 -05:00
Mike Primm 38163133cb Have per-world control of sending player position and health, prevent
player icon flicker on addplayer (even when not on world or position
is obfuscated)
2011-06-03 08:42:24 -05:00
mikeprimm c323ba5b11 Merge pull request #197 from mikeprimm/master
Add optional background color control per map, including day/night
2011-06-03 01:32:10 -07:00
Mike Primm 6a50b2ebcd Add background color support per map, add skylands template default 2011-06-03 03:24:21 -05:00
mikeprimm 684376889e Merge pull request #196 from mikeprimm/master
Fix player position security problems
2011-06-02 22:46:29 -07:00
Mike Primm 2d0b2ef63d Hide player positions when on disabled worlds, add sendposition flat
to ClientComponent to avoid leaking position data, even when markers
are off, fix problem with stale player marker positions during/right
after map changes
2011-06-03 00:39:21 -05:00
mikeprimm 83b971ed2b Merge pull request #194 from mikeprimm/master
Fix chat.js to work for web->server chat on standalone
2011-06-02 13:44:25 -07:00
Mike Primm 18896eeac0 Fix web to server chat on standalone - make chat.js use config.sendmessage 2011-06-02 15:41:09 -05:00
mikeprimm b2df79eb9c Merge pull request #193 from mikeprimm/master
Properly stringify chat inputs - prevents bad JSON input, potential security exposures
2011-06-02 13:21:26 -07:00
Mike Primm 7f662b2b1a Properly stringify chat input, so that we wind up with value JSON (doublequote, and others) 2011-06-02 15:15:46 -05:00
mikeprimm 07f16d1cfb Merge pull request #192 from mikeprimm/master
Replace "?0" in default image URLs with "?<currenttimemillis>" to prevent browser cache issues
2011-06-02 11:20:51 -07:00
Mike Primm d0e66d7e35 Replace "?0" with "?<currentmilliseconds" on default tile URLs to fix browser cache issues between reloads 2011-06-02 13:14:38 -05:00
mikeprimm 9a7c1f5751 Merge pull request #190 from mikeprimm/master
Make sure JSON/Web text communications are either escaped or UTF-8 encoded (non-Latin character set support)
2011-06-01 22:36:48 -07:00
Mike Primm 0fdeee5177 Make sure all JSON/web text interactions are escaped and/or UTF-8 2011-06-02 00:20:25 -05:00
mikeprimm 60d1a59d45 Merge pull request #189 from mikeprimm/master
Fix hash index calculation - kzed tile coords inconsistent with map
2011-06-01 17:33:04 -07:00
Mike Primm 3c793b5302 Merge remote branch 'origin/master' 2011-06-01 19:09:46 -05:00
Mike Primm cf71b38259 Fix tile coord calculation for tile hash on kzed render - too sparse
because not divided by tile dimensions (inconsistent with flat :<)
2011-06-01 19:08:53 -05:00
Mike Primm 364272fafe Incorporate ovocean's updates, plus fix for bad bookshelf ID 2011-06-02 03:36:50 +08:00
Mike Primm 28ccb2ae71 Incorporate ovocean's updates, plus fix for bad bookshelf ID 2011-06-01 14:18:24 -05:00
mikeprimm e6566f6cff Merge pull request #186 from mikeprimm/master
Update colorschemes with 1.6 block IDs, scrub obsolete alpha block IDs
2011-05-31 23:53:02 -07:00
Mike Primm 68a78023c8 Add new block IDs, remove obsolete ones from colorschemes 2011-06-01 01:50:57 -05:00
Mike Primm e46de59da5 Improve transparency processing on flat map 2011-06-01 13:14:47 +08:00
Mike Primm 4af247593d Improve transparency processing on flat map 2011-06-01 00:12:27 -05:00
mikeprimm 0f0af92c4b Merge pull request #185 from mikeprimm/master
Add transparency control option to Flat and Surface renderers, file lock fixes
2011-05-31 21:53:25 -07:00
Mike Primm 19984946ac Add transparency samples to configuration.txt 2011-05-31 23:49:04 -05:00
Mike Primm c4646dc299 Add transparency option on Flat and Surface map, fix file locks 2011-05-31 23:44:17 -05:00
mikeprimm c97b373fa5 Merge pull request #184 from mikeprimm/master
Add file access read/write locking to avoid conflicting tile updates, dirty reads by internal web server
2011-05-31 19:27:15 -07:00
Mike Primm c48d06eec1 Add file access synchronization to prevent conflicting tile updates 2011-05-31 21:20:23 -05:00
Arthur Mayer 5dbb69f2fe Merge pull request #183 from flames/master
fixed encoding (sorry)
2011-05-31 15:12:50 -07:00
Arthur Mayer 44cc1da227 fixed encoding (sorry) 2011-06-01 00:11:41 +02:00
Arthur Mayer 773ce4e3f0 Merge pull request #182 from flames/master
added configurable suffix for webchat
2011-05-31 14:54:32 -07:00
Arthur Mayer af51d8b7e0 added configurable suffix for webchat 2011-05-31 23:30:02 +02:00
Arthur Mayer cd02926fb0 made webchat prefix to configurable 2011-05-31 23:10:16 +02:00
Mike Primm aa7d80407f Fix chatfile - shouldn't have changed this with last fix 2011-06-01 03:33:01 +08:00
mikeprimm 852c185b0b Merge pull request #180 from mikeprimm/master
Make JSON file updates more transactional, to prevent reading of partially written files
2011-05-31 12:05:24 -07:00
Mike Primm cbbea34859 Make JSON file updates more transactional - fix problem with read
during updates (seen on flames server)
2011-05-31 14:01:12 -05:00
mikeprimm f6390581f4 Merge pull request #179 from mikeprimm/master
Add render statistics, support for tile hashcodes to reduce unneeded tile updates
2011-05-30 22:47:06 -07:00
Mike Primm d393ccf6e9 Add render statistics, support for tile hashcodes to stop non-updates 2011-05-31 00:33:54 -05:00
mikeprimm 4eec50a112 Merge pull request #178 from mikeprimm/master
Add meta tags for Apple mobile devices - puts page in full screen mode
2011-05-30 09:10:40 -07:00
Mike Primm 4b30fff8a7 Add meta tags for Apple mobile devices - full screen layout works nice 2011-05-30 11:05:21 -05:00
mikeprimm 74fb60718d Merge pull request #177 from mikeprimm/master
Avoid exception in JSON handling for web chat messages without timestanp
2011-05-30 08:52:06 -07:00
Mike Primm d0bee6f030 Handle trap in Json handling if timestamp not specified 2011-05-30 10:45:58 -05:00
mikeprimm 3e9e695087 Merge pull request #176 from mikeprimm/master
FIx snow rendering in flat map
2011-05-30 08:20:26 -07:00
Mike Primm 840854aef0 Fix snow rendering on flat map 2011-05-30 10:16:56 -05:00
mikeprimm d40bdf4638 Merge pull request #175 from mikeprimm/master
Add 'sidebaropened' option flat, to allow menu sidebar to be always opened
2011-05-30 07:58:35 -07:00
Mike Primm 09e1ebc972 Add 'sidebaropened' option to auto-pin sidebar 2011-05-30 09:56:10 -05:00
mikeprimm bdccd5daf0 Merge pull request #174 from mikeprimm/master
Add night-and-day option support in web interface - automatically synced to world time
2011-05-29 15:33:36 -07:00
Mike Primm c00bd077cb Add support in web UI for automatic day/night cycle when night-and-day
set for a given map.
2011-05-29 17:24:46 -05:00
Mike Primm 995f4c242a More memory tuning on BufferedImage handling, workaround bukkit leak 2011-05-29 22:54:32 +08:00
Mike Primm 544283a650 More memory tuning on BufferedImage handling, workaround bukkit leak 2011-05-29 09:33:51 -05:00
mikeprimm cf6a2f8f90 Merge pull request #172 from mikeprimm/master
Rework BufferedImage handling to improve CPU performance
2011-05-28 23:56:36 -07:00
Mike Primm a25fcc0001 Create BufferedImage using our own buffer - allows faster pixel
writing
2011-05-29 01:52:57 -05:00
mikeprimm 6596742bbe Merge pull request #171 from mikeprimm/master
Fix debugger loading, and handle height field boundary condition at zero
2011-05-28 01:27:03 -07:00
Mike Primm fc88dfad41 Fix boundary condition on height field - raw can be zero, function
return value must not be.  Also, fix debugger loading function.
2011-05-28 03:22:50 -05:00
mikeprimm 340da29e18 Merge pull request #170 from mikeprimm/master
Use height map from Chunk - better performance on flat map
2011-05-28 00:04:57 -07:00
Mike Primm 15fb1ec743 Fetch height map from Chunk - more performance 2011-05-28 01:59:02 -05:00
Mike Primm b0b1ab5926 Add night-and-day support for FlatMap 2011-05-28 01:16:54 -05:00
mikeprimm 611a12312a Merge pull request #169 from mikeprimm/master
Shift all rendering off server thread to async thread pool, minimize server thread load
2011-05-27 22:23:25 -07:00
Mike Primm e1a17ca79c Add night-and-day setting to drive night/day tile set generation 2011-05-28 00:11:26 -05:00
Mike Primm 9b12ebc025 Shift all rendering over to async thread pool, minimize server thread
load
2011-05-28 00:08:29 -05:00
mikeprimm b6c36f016f Merge pull request #168 from mikeprimm/master
Add support for emitted light, including support for "night view" in both Surface and Flat rendere
2011-05-26 22:59:49 -07:00
Mike Primm d2c947653d Add night view via ambientlight setting on Flat and Surface maps, add
night-and-day setting to generate both night (default) and day
(prefix+'_day') versions of tiles, and add transparency to generated
PNG files
2011-05-27 00:56:56 -05:00
FrozenCow 993b26beb4 Changed version to 0.18. 2011-05-26 23:57:42 +02:00
Mike Primm f9f615db2d Fix exception in world ordering code when world not in worlds list 2011-05-26 15:32:56 -05:00
FrozenCow bc6176f3e1 Fixed order of worlds in sidebar. 2011-05-26 19:05:16 +02:00
FrozenCow 0db2296e97 Reverted map-structure for worlds, so that worlds have an order again.
This reverts commit f0cdd5614b, fd0c430695 and cee491f610.
2011-05-26 18:06:17 +02:00
FrozenCow e4e0d68537 Formatted config.js. 2011-05-26 14:16:34 +02:00
FrozenCow d1a8c40248 Added ability to set each url individually. 2011-05-26 13:54:08 +02:00
FrozenCow f0cdd5614b Fix when leaving out the world: section. 2011-05-26 03:03:45 +02:00
FrozenCow fd0c430695 Fixed nether configuration. 2011-05-26 02:43:18 +02:00
FrozenCow cee491f610 Made configuration structure of worlds like templates (looks nicer :D). 2011-05-26 02:33:26 +02:00
Mike Primm 38dd39d75f Fix spacing on player markers to correct health/armor layout 2011-05-25 12:29:21 +08:00
FrozenCow 108e9d24c4 Changed the way templates and world-configuration are handled. 2011-05-24 02:13:43 +02:00
mikeprimm de0ad58344 Fix missing spaces on sample name-title only world definition 2011-05-23 16:43:37 -07:00
mikeprimm cf660f0c9a Merge pull request #162 from mikeprimm/master
FIx broken checkin
2011-05-23 08:17:45 -07:00
mikeprimm 015f898255 Screwed up merge 2011-05-23 08:16:35 -07:00
mikeprimm d75a0ea325 Merge pull request #161 from mikeprimm/master
Add hiddenworlds list to suppress templates on listed worlds
2011-05-23 08:10:18 -07:00
mikeprimm d0ab3b6fe5 Add sample hiddenworlds settings with harmless defaults 2011-05-23 08:08:06 -07:00
mikeprimm 7cf75873b8 Add hiddenworlds attribute to suppress templates on selected worlds 2011-05-23 08:06:08 -07:00
Mike Primm b89af6cca3 Fix handling of existing maps tag under world definitions 2011-05-23 08:23:28 +08:00
Mike Primm 23f5ec5a27 Fix handling of existing maps tag under world definitions 2011-05-22 19:21:27 -05:00
mikeprimm 3b7e81a729 Merge pull request #160 from mikeprimm/master
Add support for world-type-specific templates in configuration.txt - automatically configure worlds
2011-05-22 15:41:32 -07:00
Mike Primm 19fca36bac Add support world-type-specific templates, to allow automatic
initializing of worlds (make configuration.txt work unmodified for
most folks, while still supporting per-world customizations)
2011-05-22 17:28:12 -05:00
FrozenCow d44c3620cc Fixed errorous css with Opera (thanks Lycano!) 2011-05-22 22:04:43 +02:00
Mike Primm fe25cb6a0f Fix player faces when aliases being used, and strip color from player
display names sent to web UI
2011-05-23 03:23:11 +08:00
FrozenCow 2866eaa905 Added ability to reload (also using 'dynmap reload'). 2011-05-22 19:42:47 +02:00
FrozenCow ca9be50422 Another fix for chat. 2011-05-22 18:51:11 +02:00
FrozenCow f00e05f25e Fixed web-to-mc chat for JsonFile? 2011-05-22 18:24:09 +02:00
FrozenCow d6cce5ed48 Fixed client-updates for JsonFile. 2011-05-22 18:11:16 +02:00
FrozenCow 04d93d35fd Removed global chat related configuration-values from configuration.txt. 2011-05-22 17:49:26 +02:00
FrozenCow 15489833df Fixed allowwebchat for JsonFile. 2011-05-22 17:46:11 +02:00
FrozenCow d5c19703f6 Added map-icon to configuration. 2011-05-22 17:45:30 +02:00
FrozenCow fea84a45b2 Corrected JsonFile use of webpath. 2011-05-22 17:09:42 +02:00
FrozenCow 1622bb4408 Added center to configuration with default 0,64,0 like before. 2011-05-22 16:48:43 +02:00
zeeZ 3fd511a8d1 Added armor (merged from zeeZ). 2011-05-22 16:28:26 +02:00
FrozenCow 3b16a36b99 Made use of log.log instead of .info. 2011-05-22 16:28:19 +02:00
zeeZ 5ae837f911 Added log prefix to info logger. 2011-05-22 16:28:14 +02:00
FrozenCow 5f8c44ee6b Transfered chat/webchat functionality to their components. 2011-05-22 16:28:10 +02:00
FrozenCow e2f0307eeb Cleaned up depricated configuration. 2011-05-22 16:28:06 +02:00
FrozenCow d5b4f6c8c4 Transfered client-updates to two components (jsonfile and internal). 2011-05-22 16:28:01 +02:00
FrozenCow 9fa46597d1 Made use of org.json.simple for updates. 2011-05-22 16:27:57 +02:00
FrozenCow 987e6bcb54 Moved HeroChat code to HeroWebChatModule. 2011-05-22 16:27:53 +02:00
FrozenCow b2cb15b75c Moved regions-code to regions-component. 2011-05-22 16:27:49 +02:00
FrozenCow e57301b14e Added events for components and implemented 'buildclientconfiguration'-event in ClientConfigurationComponent. 2011-05-22 16:27:43 +02:00
FrozenCow 38c8254707 Added simple start for server-side components. 2011-05-22 16:27:37 +02:00
mikeprimm 5b5b217be2 Merge pull request #159 from mikeprimm/master
Fix player faces when nicknames used, partial fix for HeroChat
2011-05-22 00:05:09 -07:00
Mike Primm de73cd4028 Better fix for HeroChat - still need herochatwebchannel's channel to
be set to join-messages: true to allow web messages before first
player message in channel.
2011-05-22 01:53:48 -05:00
Mike Primm 06785be5f3 Fixes for alias/nicknames in web UI (esp handling player icons),
HeroChat fixes
2011-05-21 23:58:48 -05:00
Mike Primm b108cad2d3 Merge remote branch 'upstream/master' 2011-05-21 01:30:07 -05:00
mikeprimm cb010802db Merge pull request #156 from mikeprimm/master
Implement chunk snapshotting approach to drop memory use and CPU use significantly, add shadows option (via shadowstrength) on defaulttilerender, add fix for nicknamed players' skins
2011-05-20 23:03:35 -07:00
Mike Primm 4fb1ddf49a Fix for skins on players with nicknames - send up account name as well
as display name.
2011-05-21 00:59:08 -05:00
Mike Primm 325f069b46 Add BufferedImage cache 2011-05-21 00:30:42 -05:00
Mike Primm 024e7dc96c Tune shadow render, add to accept wait queue on web server 2011-05-20 23:26:46 -05:00
Mike Primm b56332eae8 Fix line feeds... 2011-05-20 20:59:39 -05:00
Mike Primm 992a905b0a Add shadowstrength attribute for surface renderer - enables shadows
based on top-down chunk sky light data
2011-05-20 20:52:34 -05:00
mikeprimm 920dea04ee Make sure boundary condition is respected - getHighestBlockY must return 1 or higher 2011-05-20 08:47:35 -07:00
mikeprimm 2ccf70d3fe Make sure boundary condition is right on getMaximumY - must be 1 or higher 2011-05-20 08:46:12 -07:00
Mike Primm 3365a96565 Prototype of chunk snapshot support - pre-Bukkit API (reflection
based, with fallback to existing APIs)
2011-05-20 01:38:49 -05:00
FrozenCow c3f0062862 Fixed ConfigurationNode. 2011-05-19 11:15:15 +02:00
mikeprimm 9dc81aa65a Merge pull request #154 from mikeprimm/master
Add support for WorldGuard on built-in server
2011-05-18 21:40:27 -07:00
Mike Primm 26f4f7d994 Add support for WorldGuard on built-in server, fix getNodes() on new
ConfigurationNode class
2011-05-18 23:29:33 -05:00
FrozenCow a7ba34065b Fixed arguments for createInstance. 2011-05-19 03:18:20 +02:00
zeeZ ecf415d9e4 Optional option is optional. 2011-05-19 01:53:22 +02:00
zeeZ 6bea667659 Optionally add player health bars to map markers. 2011-05-19 01:53:08 +02:00
zeeZ 728cd8304a Option to output player health in json for later web usage. 2011-05-19 01:52:38 +02:00
FrozenCow 7937a64f06 Cleaned up logging. 2011-05-19 01:36:14 +02:00
FrozenCow e28ee185b6 Cleaned up configuration handling and added new logging class. 2011-05-19 01:36:05 +02:00
zeeZ e5556d9138 herochatchannels like the rest of the config syntax, additional example channels 2011-05-19 01:35:10 +02:00
Mike Primm 084cf3f0f9 Missed one LOG_PREFIX 2011-05-19 01:35:10 +02:00
Mike Primm 28e98a617d Add basic progress messages on fullrender (end of each map, every 100
renders), and add dispose on Graphics2D to accelerate non-heap memory
recovery
2011-05-19 01:35:10 +02:00
zeeZ c2d596e433 Recenter map only on projection change. 2011-05-19 01:35:09 +02:00
Christian 32da02ffaa Merge pull request #149 from zeeZ/0caa6550
Default zoom to 0, option in config.
2011-05-17 04:37:49 -07:00
zeeZ 0caa655095 Default zoom in config or 0. 2011-05-17 13:34:54 +02:00
Christian 771b708959 Merge pull request #148 from zeeZ/master
Organize imports and output prefixing.
2011-05-17 02:45:29 -07:00
zeeZ d840b07960 Organize imports. 2011-05-17 11:30:06 +02:00
zeeZ b36821f3b4 Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/main/java/org/dynmap/MapManager.java
	src/main/java/org/dynmap/debug/LogDebugger.java
	src/main/java/org/dynmap/web/handlers/FileHandler.java
	src/main/java/org/dynmap/web/handlers/SendMessageHandler.java
2011-05-17 11:24:13 +02:00
mikeprimm 57f4f0030e Merge pull request #147 from mikeprimm/master
Fix problem with common buffer in re-entrant FileHandler
2011-05-16 20:05:49 -07:00
Mike Primm deef732129 Fix re-entrancy problem in FileHandler (shared buffer can cause
corrupted or exchanged tiles)
2011-05-16 21:11:28 -05:00
zeeZ 17ba0d4d00 Organize imports. 2011-05-17 02:43:25 +02:00
zeeZ ccbd6bf45e Prefix all (intentional) output properly. 2011-05-17 02:38:49 +02:00
zeeZ 9cdbf45062 Added chunkloaded trigger to config 2011-05-17 06:58:33 +08:00
zeeZ d915f7b14a Fix error if no render triggers are defined. 2011-05-17 06:58:32 +08:00
zeeZ 70dead3fb9 Added chunkloaded trigger to config 2011-05-17 00:53:31 +02:00
zeeZ b804aa72f8 Fix error if no render triggers are defined. 2011-05-17 00:38:26 +02:00
zeeZ 17f5f43772 Tabs and spaces. 2011-05-16 20:55:19 +08:00
zeeZ 5e107cccb9 Op always has permission 2011-05-16 20:55:19 +08:00
zeeZ 05f3ced64f Tabs and spaces. 2011-05-16 14:51:18 +02:00
zeeZ b01e0c8cdc Op always has permission 2011-05-16 14:28:18 +02:00
zeeZ 69b562a5bf Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/main/java/org/dynmap/flat/FlatMap.java
2011-05-16 14:20:56 +02:00
mikeprimm 4a17f87691 Merge pull request #146 from mikeprimm/master
Memory optimization for render
2011-05-15 22:46:22 -07:00
Mike Primm 04056572f8 Optimize the getRequiredChunks() to load only chunks that are needed -
reduces chunks needed by 42% versus current implementation.
2011-05-15 23:50:50 -05:00
Mike Primm 271990b87c Reduce heap memory allocation on render path (less heap junk) by
replacing java.awt.Color with work-alike, lightweight updatable
alternative.
2011-05-15 22:25:45 -05:00
mikeprimm cbfa26a5b3 Merge pull request #143 from mikeprimm/master
Remerged - nether render updates, and rest of HeroChat
2011-05-15 19:20:52 -07:00
Mike Primm 355d54842f One more with the tabs 2011-05-15 08:05:36 -05:00
Mike Primm e26ac97787 Clean up tabs 2011-05-15 08:02:45 -05:00
Mike Primm 03376dab52 Finish HeroChat support - handle directing web messages to selected
channel (versus spamming everyone)
2011-05-15 07:56:45 -05:00
Mike Primm 0ffc825b05 Re-merge the nether render support, and update race condition fixes 2011-05-14 23:25:59 -05:00
Mike Primm 600dd00bcd HeroChat support - reflection based binding to it 2011-05-15 01:18:20 +02:00
zeeZ fe93f64273 Added data value colored blocks to flat map 2011-05-14 21:28:21 +08:00
zeeZ d41422fc2c Added data value colored blocks to flat map 2011-05-14 15:20:10 +02:00
zeeZ 491e88f745 Fixed kzed map scrolling on higher zoom levels 2011-05-14 20:54:10 +08:00
zeeZ ecf6ae69a3 Fixed kzed map scrolling on higher zoom levels 2011-05-14 14:32:18 +02:00
zeeZ 4985c763cc Merge remote-tracking branch 'upstream/master' 2011-05-14 13:56:32 +02:00
zeeZ 7ff33f04a0 (Optionally) set map center in web config, automagically pan there on map change. 2011-05-14 12:40:59 +02:00
mikeprimm 31584804aa Fix zoom so that markers are placed properly 2011-05-14 12:40:26 +02:00
zeeZ 2b01db451d (Optionally) set map center in web config, automagically pan there on map change. 2011-05-14 01:16:26 +02:00
zeeZ c82a54fe7f Added data value colors for Stone Slabs and Double Stone Slabs to colorschemes, added Sandstone color as a copy of Sand color to sk89q.txt 2011-05-13 22:26:00 +08:00
zeeZ a1ccc876a3 Added data value colors for Stone Slabs and Double Stone Slabs to colorschemes, added Sandstone color as a copy of Sand color to sk89q.txt 2011-05-13 15:17:55 +02:00
FrozenCow e752ae3bd5 Changed version to 0.17. 2011-05-13 12:49:43 +02:00
Mike Primm 1e3ceed5d7 Add zooming to flat map (why not? :) ) 2011-05-13 10:59:06 +02:00
FrozenCow 88ff70ac48 Added formatting profile which is used for Dynmap. This should look a lot like the profile used in Bukkit. 2011-05-13 10:48:37 +02:00
FrozenCow 84d01c530a Replaced tabs with spaces to conform the Bukkit standards. 2011-05-13 10:41:02 +02:00
Mike Primm daa2d0f186 Pull debug message 2011-05-13 10:31:50 +02:00
Mike Primm 17644a5778 Add tile data coloring (aka colored wool support), combine rendering
of default tiles and their zoomed counterparts (saves reloading the
default tile, and keeps the scale levels of the map consistent during
a fullrender and otherwise)
2011-05-13 10:31:38 +02:00
Mike Primm 0a8f2a182a Shift all imageIO and file I/O to async thread
Minus the version change in plugin.yml.
2011-05-13 10:29:38 +02:00
zeeZ 619485212d First iteration of weather icons 2011-05-10 12:51:52 +02:00
zeeZ 7f5d3ab23d Consistency to make Kilandor happy :-). 2011-05-10 12:51:52 +02:00
zeeZ bb45cc10cb Added weather to json world output (hasStorm and isThundering) 2011-05-10 12:51:52 +02:00
zeeZ c0479bff05 Fixed NPE if using regionless config. 2011-05-10 12:51:52 +02:00
zeeZ cf1d6c414d Organize imports 2011-05-10 12:51:52 +02:00
zeeZ 9eab216525 Use Bukkit's way to strip colors. 2011-05-10 12:51:52 +02:00
FrozenCow b8fe65bc99 Partly reverted previous change to get back to zeeZ' getDisplayName. 2011-05-10 12:51:52 +02:00
FrozenCow 1a5ddeeda5 Removed generation of .tar.bz2. 2011-05-10 12:26:26 +02:00
Mike Primm 5f23afe608 Don't need additional delay - using AsycnQueue for that 2011-05-10 12:26:18 +02:00
Mike Primm 0a1de1b18e Add option to run incremental renders on sync thread, using same chunk
logic as timesliced full render, in order to handle cases where
assumption that all chunks needed for incremental render are already
resident (which can be false if player telepots, move quickly,
multiple players are active, etc).
2011-05-10 12:26:11 +02:00
Mike Primm 88db6445f9 Added timeslicing to configuration 2011-05-10 12:26:02 +02:00
Mike Primm 6c708d1b3a Add version log message - keep track builds easier 2011-05-10 12:25:56 +02:00
Mike Primm dcdfb3da5d Trap on bogus world names or player with bad current location 2011-05-10 12:25:48 +02:00
Mike Primm 95cc3ae869 Add "time-sliced" implementation of fullrender, which does one tile at
a time using the Bukkit scheduler while using a tunable interval
between tiles (0.5 second default), and avoids player timeouts and
blooming the chunk and entity population.
2011-05-10 12:25:34 +02:00
FrozenCow 106f95d8b6 Removed a println. 2011-05-08 21:15:44 +02:00
FrozenCow be60623719 Fixed tabs. 2011-05-07 22:11:41 +02:00
FrozenCow ff026e91b6 Disabled regions component by default. 2011-05-07 00:20:34 +02:00
FrozenCow b66be7a47c Merge remote-tracking branch 'kilandor/master' 2011-05-07 00:04:05 +02:00
FrozenCow 92e3ec5f08 Merge remote-tracking branch 'zeez/master' 2011-05-06 23:19:37 +02:00
FrozenCow c4e1362274 Added another way to specify configuration file. 2011-05-06 23:18:46 +02:00
zeeZ 63b9579fa5 Strip colors off chat, use getDisplayName instead of getName 2011-05-01 23:11:29 +02:00
zeeZ 5f32f8fb99 Added Google Maps API version selection to fix map changes 2011-04-28 16:58:30 +02:00
zeeZ ca9aa0727f Fix for worlds with weird names and URLDecode mumbo-jumbo 2011-04-28 16:34:50 +02:00
Jason Booth b3ccd203c8 Added some info
Fix for spam warning for php(Thanks for bug report flames)
2011-04-13 20:23:24 -05:00
Jason Booth 8e59f37995 Initial Support for Regions system on dynmap
Included Worldguard support(default)
Also residence support(incomplete)
2011-04-13 19:58:25 -05:00
zeeZ 91b60be572 Less config checks in loop, added newline at EOF 2011-04-11 23:57:10 +02:00
zeeZ 69fcc1706e Option to treat hiddenplayers.txt as a whitelist. 2011-04-11 04:10:47 +02:00
zeeZ ab6352a17d Hidden players stored in lowercase. 2011-04-11 02:40:03 +02:00
zeeZ 631f06d091 More detailed permissions 2011-04-11 02:27:56 +02:00
zeeZ 8d5f081cdf Compass style based on map type. Hacky because widgets have classes, not IDs 2011-04-09 08:24:52 +02:00
zeeZ 553a956949 Flipped flat map so North is up 2011-04-08 21:40:16 +02:00
FrozenCow d53b3bc340 Added HighlightTileRenderer (thanks in part to rockNme2349) 2011-04-07 15:46:50 +02:00
FrozenCow eb276dd59d Another attempt to make server conform http. 2011-04-06 00:54:48 +02:00
FrozenCow ad33ef79d9 Fixed up.php. 2011-04-05 23:25:11 +02:00
FrozenCow b47bbee4e8 Cleaned up join/quit messages (not being send as chat messages) 2011-04-05 22:58:46 +02:00
FrozenCow e1e13df4b2 Removed redundant configuration values and made use of customizable join/quit messages. 2011-04-05 22:30:43 +02:00
FrozenCow d4a2d2d32f Changed version to 0.16. 2011-04-05 01:05:51 +02:00
99 changed files with 6033 additions and 1188 deletions
+79 -25
View File
@@ -8,7 +8,7 @@ Cobblestone
4 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Wooden Plank
5 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Sappling
Sapling
6 120 120 120 0 96 96 96 0 60 60 60 0 48 48 48 0
Bedrock
7 84 84 84 255 67 67 67 255 42 42 42 255 33 33 33 255
@@ -48,28 +48,51 @@ Sandstone
24 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
Note Block
25 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
Aqua Green Cloth
26 43 192 117 255 38 168 101 255 34 150 90 255 29 130 78 255
Cyan Cloth
27 43 192 192 255 36 185 185 255 29 130 130 255 22 99 99 255
Blue Cloth
28 0 0 255 255 0 0 204 255 0 0 127 255 0 0 102 255
Purple Cloth
29 101 101 188 255 95 95 175 255 86 86 160 255 78 78 145 255
Indigo Cloth
30 113 41 186 255 99 38 165 255 85 32 142 255 72 27 119 255
Violet Cloth
31 156 65 198 255 132 55 168 255 112 47 142 255 84 35 107 255
Magenta Cloth
32 187 42 187 255 160 36 160 255 135 31 135 255 112 25 112 255
Pink Cloth
33 192 43 117 255 168 38 103 255 142 32 87 255 127 29 78 255
Black Cloth
34 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
Bed
26 200 20 20 255 160 16 16 255 100 10 10 255 80 8 8 255
Powered Rail
27 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
Detector Rail
28 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
Cobweb
30 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
Tall Grass
31 97 156 53 255 73 120 38 255 38 68 16 255 26 50 9 255
Dead Shrubs
32 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
Wool
35 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
Gray Cloth
36 125 125 125 255 114 114 114 255 104 104 104 255 86 86 86 255
35:0 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
Wool - Orange
35:1 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
Wool - Magenta
35:2 166 66 175 255 133 53 140 255 83 33 87 255 66 26 69 255
Wool - Light Blue
35:3 91 121 185 255 73 96 147 255 46 61 92 255 36 48 73 255
Wool - Yellow
35:4 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
Wool - Light Green
35:5 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
Wool - Pink
35:6 190 115 135 255 151 92 108 255 95 57 67 255 75 46 53 255
Wool - Gray
35:7 58 58 58 255 47 47 47 255 29 29 29 255 23 23 23 255
Wool - Light Gray
35:8 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
Wool - Cyan
35:9 34 102 131 255 27 81 104 255 17 51 65 255 13 40 52 255
Wool - Purple
35:10 113 47 171 255 90 37 136 255 57 24 85 255 45 19 68 255
Wool - Blue
35:11 34 44 134 255 27 35 107 255 17 22 67 255 13 18 53 255
Wool - Brown
35:12 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
Wool - Dark Green
35:13 49 67 21 255 39 53 17 255 24 34 10 255 19 27 8 255
Wool - Red
35:14 143 39 36 255 114 31 28 255 71 20 18 255 57 16 14 255
Wool - Black
35:15 24 20 20 255 19 16 16 255 12 10 10 255 9 8 8 255
Yellow Flower
37 255 255 0 255 204 204 0 255 127 127 0 255 102 102 0 255
Red Rose
@@ -84,14 +107,28 @@ Iron Block
42 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
Double Stone Slab
43 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
43:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
Double Stone Slab - Sandstone
43:1 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
Double Stone Slab - Wood
43:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Double Stone Slab - Cobblestone
43:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Stone Slab
44 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
44:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
Stone Slab - Sandstone
44:1 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
Stone Slab - Wood
44:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Stone Slab - Cobblestone
44:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Brick
45 170 86 62 255 136 68 49 255 85 43 31 255 68 34 24 255
TNT
46 160 83 65 255 128 66 52 255 80 41 32 255 64 33 26 255
Bookshelf
54 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
47 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
Moss Stone
48 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Obsidian
@@ -106,7 +143,8 @@ Wooden Stair
53 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Chest
54 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
Redstone Wire
55 240 30 30 64 160 20 20 64 120 15 15 64 100 12 12 64
Diamond Ore
56 129 140 143 255 103 112 114 255 64 70 71 255 51 56 57 255
Diamond Block
@@ -131,10 +169,16 @@ Minecart Tracks
66 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
Cobblestone Stairs
67 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Wall Sign
68 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
Lever
69 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
Stone Pressure Plate
70 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
Iron Door
71 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
Wooden Pressure Plate
72 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
Redstone Ore
73 131 107 107 255 104 85 85 255 65 53 53 255 52 42 42 255
Glowing Redstone Ore
@@ -143,6 +187,8 @@ Redstone Torch off
75 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
Redstone Torch on
76 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
Stone Button
77 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
Snow
78 255 255 255 255 204 204 204 255 127 127 127 255 102 102 102 255
Ice
@@ -173,3 +219,11 @@ Jack-o-lantern
91 255 115 0 255 204 92 0 255 126 57 0 255 102 46 0 255
Cake Block
92 234 234 234 255 210 210 210 255 203 203 203 255 190 190 190 255
Redstone Repeater off
93 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
Redstone Repeater on
94 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
Locked Chest
95 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
Trap Door
96 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
+79 -25
View File
@@ -8,7 +8,7 @@ Cobblestone
4 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Wooden Plank
5 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Sappling
Sapling
6 120 120 120 0 96 96 96 0 60 60 60 0 48 48 48 0
Bedrock
7 84 84 84 255 67 67 67 255 42 42 42 255 33 33 33 255
@@ -48,28 +48,51 @@ Sandstone
24 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
Note Block
25 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
Aqua Green Cloth
26 43 192 117 255 38 168 101 255 34 150 90 255 29 130 78 255
Cyan Cloth
27 43 192 192 255 36 185 185 255 29 130 130 255 22 99 99 255
Blue Cloth
28 0 0 255 255 0 0 204 255 0 0 127 255 0 0 102 255
Purple Cloth
29 101 101 188 255 95 95 175 255 86 86 160 255 78 78 145 255
Indigo Cloth
30 113 41 186 255 99 38 165 255 85 32 142 255 72 27 119 255
Violet Cloth
31 156 65 198 255 132 55 168 255 112 47 142 255 84 35 107 255
Magenta Cloth
32 187 42 187 255 160 36 160 255 135 31 135 255 112 25 112 255
Pink Cloth
33 192 43 117 255 168 38 103 255 142 32 87 255 127 29 78 255
Black Cloth
34 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
Bed
26 200 20 20 255 160 16 16 255 100 10 10 255 80 8 8 255
Powered Rail
27 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
Detector Rail
28 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
Cobweb
30 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
Tall Grass
31 97 156 53 255 73 120 38 255 38 68 16 255 26 50 9 255
Dead Shrubs
32 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
Wool
35 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
Gray Cloth
36 125 125 125 255 114 114 114 255 104 104 104 255 86 86 86 255
35:0 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
Wool - Orange
35:1 227 128 52 255 224 126 51 255 187 105 42 255 224 126 51 255
Wool - Magenta
35:2 185 76 188 255 183 75 186 255 153 63 155 255 183 75 186 255
Wool - Light Blue
35:3 102 139 199 255 100 137 196 255 84 114 164 255 100 137 196 255
Wool - Yellow
35:4 189 181 26 255 187 178 26 255 156 149 22 255 187 178 26 255
Wool - Light Green
35:5 57 189 45 255 56 186 44 255 47 156 37 255 56 186 44 255
Wool - Pink
35:6 211 132 145 255 209 130 143 255 174 109 120 255 209 130 143 255
Wool - Gray
35:7 65 67 63 255 64 66 62 255 54 55 52 255 64 66 62 255
Wool - Light Gray
35:8 154 166 156 255 152 163 154 255 127 137 128 255 152 163 154 255
Wool - Cyan
35:9 38 117 141 255 37 115 139 255 31 96 116 255 37 115 139 255
Wool - Purple
35:10 126 54 184 255 124 53 181 255 104 44 151 255 124 53 181 255
Wool - Blue
35:11 38 51 144 255 37 50 143 255 31 42 119 255 37 50 143 255
Wool - Brown
35:12 83 51 26 255 82 50 26 255 69 42 22 255 82 50 26 255
Wool - Dark Green
35:13 54 77 22 255 54 76 22 255 45 63 19 255 54 76 22 255
Wool - Red
35:14 159 45 38 255 157 44 38 255 131 37 32 255 157 44 38 255
Wool - Black
35:15 26 23 22 255 26 23 21 255 22 19 18 255 26 23 21 255
Yellow Flower
37 255 255 0 255 204 204 0 255 127 127 0 255 102 102 0 255
Red Rose
@@ -84,14 +107,28 @@ Iron Block
42 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
Double Stone Slab
43 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
43:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
Double Stone Slab - Sandstone
43:1 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
Double Stone Slab - Wood
43:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Double Stone Slab - Cobblestone
43:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Stone Slab
44 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
44:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
Stone Slab - Sandstone
44:1 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
Stone Slab - Wood
44:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Stone Slab - Cobblestone
44:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Brick
45 170 86 62 255 136 68 49 255 85 43 31 255 68 34 24 255
TNT
46 160 83 65 255 128 66 52 255 80 41 32 255 64 33 26 255
Bookshelf
54 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
47 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
Moss Stone
48 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Obsidian
@@ -106,7 +143,8 @@ Wooden Stair
53 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Chest
54 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
Redstone Wire
55 240 30 30 64 160 20 20 64 120 15 15 64 100 12 12 64
Diamond Ore
56 129 140 143 255 103 112 114 255 64 70 71 255 51 56 57 255
Diamond Block
@@ -131,10 +169,16 @@ Minecart Tracks
66 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
Cobblestone Stairs
67 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Wall Sign
68 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
Lever
69 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
Stone Pressure Plate
70 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
Iron Door
71 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
Wooden Pressure Plate
72 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
Redstone Ore
73 131 107 107 255 104 85 85 255 65 53 53 255 52 42 42 255
Glowing Redstone Ore
@@ -143,6 +187,8 @@ Redstone Torch off
75 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
Redstone Torch on
76 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
Stone Button
77 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
Snow
78 255 255 255 255 204 204 204 255 127 127 127 255 102 102 102 255
Ice
@@ -173,3 +219,11 @@ Jack-o-lantern
91 255 115 0 255 204 92 0 255 126 57 0 255 102 46 0 255
Cake Block
92 234 234 234 255 210 210 210 255 203 203 203 255 190 190 190 255
Redstone Repeater off
93 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
Redstone Repeater on
94 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
Locked Chest
95 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
Trap Door
96 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
+90 -35
View File
@@ -1,9 +1,9 @@
Stone
1 119 104 84 255 104 95 80 255 96 87 72 255 77 68 53 255
1 149 145 138 255 125 122 116 255 114 111 105 255 88 85 81 255
Grass
2 75 156 43 255 56 117 32 255 35 104 10 255 32 82 0 255
2 111 185 79 255 86 158 53 255 65 131 40 255 57 105 21 255
Dirt
3 134 96 67 255 107 76 53 255 67 48 33 255 68 49 33 255
3 174 133 106 255 152 113 82 255 136 102 74 255 93 73 57 255
Cobblestone
4 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Wooden Plank
@@ -13,15 +13,15 @@ Sappling
Bedrock
7 84 84 84 255 67 67 67 255 42 42 42 255 33 33 33 255
Water
8 21 88 125 80 7 70 117 80 6 68 115 80 5 53 90 80
8 47 116 160 80 40 100 138 80 33 92 129 80 26 74 103 80
Stationary Water
9 21 88 125 80 7 70 117 80 6 68 115 80 5 53 90 80
9 47 116 160 80 40 100 138 80 33 92 129 80 26 74 103 80
Lava
10 255 90 0 255 204 72 0 255 127 45 0 255 102 36 0 255
Stationary Lava
11 255 90 0 255 204 72 0 255 127 45 0 255 102 36 0 255
Sand
12 214 182 111 255 203 171 100 255 186 154 83 255 173 141 70 255
12 251 240 193 255 251 223 157 255 237 202 135 255 200 168 107 255
Gravel
13 136 126 126 255 108 100 100 255 68 63 63 255 54 50 50 255
Gold Ore
@@ -33,7 +33,7 @@ Coal Ore
Wood
17 102 81 51 255 81 64 40 255 51 40 25 255 40 32 20 255
Leaves
18 23 68 6 100 12 56 0 100 6 52 0 100 0 42 0 100
18 47 99 32 255 34 86 20 255 24 66 14 255 23 57 13 255
Sponge
19 193 193 65 255 174 174 47 255 97 97 5 255 76 76 20 255
Glass
@@ -45,31 +45,54 @@ Lapis Lazuli Block
Dispenser
23 96 96 96 255 76 76 76 255 48 48 48 255 38 38 38 255
Sandstone
24 214 182 111 255 203 171 100 255 186 154 83 255 173 141 70 255
24 251 240 193 255 251 223 157 255 237 202 135 255 200 168 107 255
Note Block
25 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
Aqua Green Cloth
26 43 192 117 255 38 168 101 255 34 150 90 255 29 130 78 255
Cyan Cloth
27 43 192 192 255 36 185 185 255 29 130 130 255 22 99 99 255
Blue Cloth
28 0 0 255 255 0 0 204 255 0 0 127 255 0 0 102 255
Purple Cloth
29 101 101 188 255 95 95 175 255 86 86 160 255 78 78 145 255
Indigo Cloth
30 113 41 186 255 99 38 165 255 85 32 142 255 72 27 119 255
Violet Cloth
31 156 65 198 255 132 55 168 255 112 47 142 255 84 35 107 255
Magenta Cloth
32 187 42 187 255 160 36 160 255 135 31 135 255 112 25 112 255
Pink Cloth
33 192 43 117 255 168 38 103 255 142 32 87 255 127 29 78 255
Black Cloth
34 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
Bed
26 200 20 20 255 160 16 16 255 100 10 10 255 80 8 8 255
Powered Rail
27 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
Detector Rail
28 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
Cobweb
30 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
Tall Grass
31 111 185 79 255 86 158 53 255 65 131 40 255 57 105 21 255
Dead Shrubs
32 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
Wool
35 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
Gray Cloth
36 125 125 125 255 114 114 114 255 104 104 104 255 86 86 86 255
35:0 222 222 222 255 177 177 177 255 111 111 111 255 88 88 88 255
Wool - Orange
35:1 204 111 48 255 162 89 38 255 102 56 24 255 81 44 19 255
Wool - Magenta
35:2 166 66 175 255 133 53 140 255 83 33 87 255 66 26 69 255
Wool - Light Blue
35:3 91 121 185 255 73 96 147 255 46 61 92 255 36 48 73 255
Wool - Yellow
35:4 170 158 24 255 135 126 19 255 85 79 12 255 67 62 10 255
Wool - Light Green
35:5 51 165 42 255 41 131 33 255 26 82 21 255 20 65 17 255
Wool - Pink
35:6 190 115 135 255 151 92 108 255 95 57 67 255 75 46 53 255
Wool - Gray
35:7 58 58 58 255 47 47 47 255 29 29 29 255 23 23 23 255
Wool - Light Gray
35:8 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
Wool - Cyan
35:9 34 102 131 255 27 81 104 255 17 51 65 255 13 40 52 255
Wool - Purple
35:10 113 47 171 255 90 37 136 255 57 24 85 255 45 19 68 255
Wool - Blue
35:11 34 44 134 255 27 35 107 255 17 22 67 255 13 18 53 255
Wool - Brown
35:12 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
Wool - Dark Green
35:13 49 67 21 255 39 53 17 255 24 34 10 255 19 27 8 255
Wool - Red
35:14 143 39 36 255 114 31 28 255 71 20 18 255 57 16 14 255
Wool - Black
35:15 24 20 20 255 19 16 16 255 12 10 10 255 9 8 8 255
Yellow Flower
37 255 255 0 255 204 204 0 255 127 127 0 255 102 102 0 255
Red Rose
@@ -84,20 +107,34 @@ Iron Block
42 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
Double Stone Slab
43 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
43:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
Double Stone Slab - Sandstone
43:1 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
Double Stone Slab - Wood
43:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Double Stone Slab - Cobblestone
43:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Stone Slab
44 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
44:0 200 200 200 255 160 160 160 255 100 100 100 255 80 80 80 255
Stone Slab - Sandstone
44:1 218 210 158 255 174 168 126 255 109 105 79 255 87 84 63 255
Stone Slab - Wood
44:2 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Stone Slab - Cobblestone
44:3 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Brick
45 170 86 62 255 136 68 49 255 85 43 31 255 68 34 24 255
TNT
46 160 83 65 255 128 66 52 255 80 41 32 255 64 33 26 255
Bookshelf
54 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
47 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
Moss Stone
48 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Obsidian
49 26 11 43 255 20 8 34 255 13 5 21 255 10 4 17 255
Torch
50 159 127 80 255 98 88 20 0 245 220 50 255 196 176 40 0
50 103 80 45 255 98 88 20 0 255 249 79 255 196 176 40 0
Fire
51 255 170 30 200 204 136 24 200 127 85 15 200 102 68 12 200
Monster Spawner
@@ -106,7 +143,8 @@ Wooden Stair
53 157 128 79 255 125 102 63 255 78 64 39 255 62 51 31 255
Chest
54 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
Redstone Wire
55 240 30 30 64 160 20 20 64 120 15 15 64 100 12 12 64
Diamond Ore
56 129 140 143 255 103 112 114 255 64 70 71 255 51 56 57 255
Diamond Block
@@ -131,10 +169,16 @@ Minecart Tracks
66 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
Cobblestone Stairs
67 115 115 115 255 92 92 92 255 57 57 57 255 46 46 46 255
Wall Sign
68 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
Lever
69 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
Stone Pressure Plate
70 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
Iron Door
71 191 191 191 255 152 152 152 255 95 95 95 255 76 76 76 255
Wooden Pressure Plate
72 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
Redstone Ore
73 131 107 107 255 104 85 85 255 65 53 53 255 52 42 42 255
Glowing Redstone Ore
@@ -143,10 +187,12 @@ Redstone Torch off
75 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
Redstone Torch on
76 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
Stone Button
77 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
Snow
78 255 255 255 255 204 204 204 255 127 127 127 255 102 102 102 255
78 255 255 255 255 252 253 253 255 198 220 225 255 129 179 190 255
Ice
79 83 113 163 51 66 90 130 51 41 56 81 51 33 45 65 51
79 182 211 235 150 164 189 211 150 138 177 211 150 128 165 196 150
Snow Block
80 250 250 250 255 200 200 200 255 125 125 125 255 100 100 100 255
Cactus
@@ -173,3 +219,12 @@ Jack-o-lantern
91 255 115 0 255 204 92 0 255 126 57 0 255 102 46 0 255
Cake Block
92 234 234 234 255 210 210 210 255 203 203 203 255 190 190 190 255
Redstone Repeater off
93 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
Redstone Repeater on
94 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
Locked Chest
95 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
Trap Door
96 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
+54 -2
View File
@@ -15,9 +15,36 @@
16 56 60 70 255 46 50 58 255 39 42 49 255 46 50 58 255
17 119 97 74 255 99 81 62 255 83 68 52 255 99 81 62 255
18 27 69 37 180 22 57 31 180 19 48 25 180 22 57 31 180
19 193 193 65 255 174 174 47 255 97 97 5 255 76 76 20 255
20 178 217 223 90 148 181 186 90 124 151 155 90 148 181 186 90
21 23 68 196 255 18 56 158 255 14 43 122 255 14 43 78 255
22 23 68 196 255 18 56 158 255 14 43 122 255 14 43 78 255
23 96 96 96 255 76 76 76 255 48 48 48 255 38 38 38 255
24 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
25 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
26 200 20 20 255 160 16 16 255 100 10 10 255 80 8 8 255
27 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
28 150 134 102 180 120 107 81 180 75 67 51 180 60 53 40 180
30 138 145 145 255 110 115 115 255 69 72 72 255 55 57 57 255
31 97 156 53 255 73 120 38 255 38 68 16 255 26 50 9 255
32 75 44 24 255 60 35 19 255 37 22 12 255 30 18 10 255
35 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
36 0 0 0 254 0 0 0 254 0 0 0 254 0 0 0 254
35:0 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
35:1 227 128 52 255 224 126 51 255 187 105 42 255 224 126 51 255
35:2 185 76 188 255 183 75 186 255 153 63 155 255 183 75 186 255
35:3 102 139 199 255 100 137 196 255 84 114 164 255 100 137 196 255
35:4 189 181 26 255 187 178 26 255 156 149 22 255 187 178 26 255
35:5 57 189 45 255 56 186 44 255 47 156 37 255 56 186 44 255
35:6 211 132 145 255 209 130 143 255 174 109 120 255 209 130 143 255
35:7 65 67 63 255 64 66 62 255 54 55 52 255 64 66 62 255
35:8 154 166 156 255 152 163 154 255 127 137 128 255 152 163 154 255
35:9 38 117 141 255 37 115 139 255 31 96 116 255 37 115 139 255
35:10 126 54 184 255 124 53 181 255 104 44 151 255 124 53 181 255
35:11 38 51 144 255 37 50 143 255 31 42 119 255 37 50 143 255
35:12 83 51 26 255 82 50 26 255 69 42 22 255 82 50 26 255
35:13 54 77 22 255 54 76 22 255 45 63 19 255 54 76 22 255
35:14 159 45 38 255 157 44 38 255 131 37 32 255 157 44 38 255
35:15 26 23 22 255 26 23 21 255 22 19 18 255 26 23 21 255
37 73 108 60 254 61 90 50 254 51 75 42 254 61 90 50 254
38 84 139 187 254 70 116 155 254 59 97 130 254 70 116 155 254
39 184 144 0 254 153 119 0 254 128 100 0 254 153 119 0 254
@@ -25,9 +52,18 @@
41 247 255 239 255 244 251 236 255 204 210 197 255 244 251 236 255
42 249 249 249 255 207 207 207 255 173 173 173 255 207 207 207 255
43 122 112 99 255 101 93 82 255 85 78 69 255 101 93 82 255
43:0 122 112 99 255 101 93 82 255 85 78 69 255 101 93 82 255
43:1 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
43:2 109 80 60 255 91 67 50 255 76 56 41 255 91 67 50 255
43:3 118 112 96 255 98 93 80 255 82 78 67 255 98 93 80 255
44 122 112 99 254 101 93 82 254 85 78 69 254 101 93 82 254
44:0 122 112 99 254 101 93 82 254 85 78 69 254 101 93 82 254
44:1 192 178 110 255 160 148 92 255 134 124 77 255 160 148 92 255
44:2 109 80 60 255 91 67 50 255 76 56 41 255 91 67 50 255
44:3 118 112 96 255 98 93 80 255 82 78 67 255 98 93 80 255
45 230 103 73 255 192 86 61 255 160 71 50 255 192 86 61 255
46 255 79 30 255 231 72 27 255 193 60 22 255 231 72 27 255
47 125 91 38 192 100 72 30 192 62 45 19 192 50 36 15 192
48 96 108 70 255 80 90 58 255 67 75 49 255 80 90 58 255
49 83 67 83 255 69 56 69 255 58 47 58 255 69 56 69 255
50 255 203 58 200 255 203 58 200 212 169 48 200 255 203 58 200
@@ -48,11 +84,16 @@
65 144 128 99 32 120 106 82 32 100 89 69 32 120 106 82 32
66 113 109 102 180 94 91 85 180 79 76 71 180 94 91 85 180
67 115 107 93 255 96 89 78 255 80 75 65 255 96 89 78 255
68 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
69 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
70 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
71 255 255 255 255 229 229 229 255 191 191 191 255 229 229 229 255
72 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
73 174 107 107 255 145 89 89 255 121 75 75 255 145 89 89 255
74 174 107 107 255 145 89 89 255 121 75 75 255 145 89 89 255
75 255 140 61 254 217 119 52 254 181 99 43 254 217 119 52 254
76 255 0 0 254 255 0 0 254 212 0 0 254 255 0 0 254
77 120 120 120 255 96 96 96 255 60 60 60 255 48 48 48 255
78 237 248 255 254 237 248 255 254 198 207 212 254 237 248 255 254
79 166 222 255 55 166 222 255 55 139 185 212 55 166 222 255 55
80 237 248 255 255 237 248 255 255 198 207 212 255 237 248 255 255
@@ -60,4 +101,15 @@
82 234 240 255 255 216 221 235 255 180 185 196 255 216 221 235 255
83 136 167 74 255 114 139 62 255 95 116 52 255 114 139 62 255
84 116 97 80 255 97 81 67 255 81 68 55 255 97 81 67 255
85 115 99 63 255 96 82 52 255 80 69 44 255 96 82 52 255
85 115 99 63 255 96 82 52 255 80 69 44 255 96 82 52 255
86 255 115 0 200 204 92 0 200 126 57 0 200 102 46 0 200
87 166 89 89 255 141 80 62 255 135 15 15 255 96 6 6 255
88 133 109 94 255 121 97 82 255 90 70 57 255 79 59 46 255
89 249 212 156 255 255 188 94 255 192 143 70 255 122 91 44 255
90 140 0 196 128 120 0 196 128 140 0 196 128 120 0 196 128
91 255 115 0 255 204 92 0 255 126 57 0 255 102 46 0 255
92 234 234 234 255 210 210 210 255 203 203 203 255 190 190 190 255
93 159 127 80 255 72 56 25 0 181 140 64 255 144 112 51 0
94 159 127 80 255 102 0 0 0 255 0 0 255 204 0 0 0
95 125 91 38 255 100 72 30 255 62 45 19 255 50 36 15 255
96 111 91 54 255 88 72 43 255 55 45 27 255 44 36 21 255
+320 -105
View File
@@ -1,9 +1,79 @@
# All paths in this configuration file are relative to Dynmap's data-folder: minecraft_server/plugins/dynmap/
components:
- class: org.dynmap.ClientConfigurationComponent
- class: org.dynmap.InternalClientUpdateComponent
sendhealth: true
sendposition: true
allowwebchat: true
webchat-interval: 5
hidewebchatip: false
#- class: org.dynmap.JsonFileClientUpdateComponent
# writeinterval: 1
# sendhealth: true
# sendposition: true
# allowwebchat: false
# hidewebchatip: false
- class: org.dynmap.SimpleWebChatComponent
allowchat: true
#- class: org.dynmap.herochat.HeroWebChatComponent
# # Control which HeroChat channel messages from web are directed to
# herochatwebchannel: Global
# # Control which channels are monitored and reported to the web
# herochatchannels:
# - Global
# #- Trade
# #- Haggle
- class: org.dynmap.ClientComponent
type: chat
- class: org.dynmap.ClientComponent
type: chatballoon
focuschatballoons: false
- class: org.dynmap.ClientComponent
type: chatbox
showplayerfaces: true
messagettl: 5
- class: org.dynmap.ClientComponent
type: playermarkers
showplayerfaces: true
showplayerhealth: true
#- class: org.dynmap.ClientComponent
# type: digitalclock
- class: org.dynmap.ClientComponent
type: timeofdayclock
showdigitalclock: true
#showweather: true
#- class: org.dynmap.regions.RegionsComponent
# type: regions
# name: WorldGuard
# useworldpath: true
# filename: regions.yml
# basenode: regions
# use3dregions: true
# infowindow: '<div class="infowindow"><span style="font-size:120%;">%regionname% - %priority% (%parent%)</span><br /> Owners <span style="font-weight:bold;">%playerowners% %groupowners%</span><br />Members <span style="font-weight:bold;">%playermembers% %groupmembers%</span><br />Flags<br /><span style="font-weight:bold;">%flags%</span></div>'
# regionstyle:
# strokeColor: "#FF0000"
# strokeOpacity: 0.8
# strokeWeight: 3
# fillColor: "#FF0000"
# fillOpacity: 0.35
#- class: org.dynmap.TestComponent
# stuff: "This is some configuration-value"
# Treat hiddenplayers.txt as a whitelist for players to be shown on the map? (Default false)
display-whitelist: false
# How often a tile gets rendered (in seconds).
renderinterval: 1
# Tile hashing is used to minimize tile file updates when no changes have occurred - set to false to disable
enabletilehash: true
render-triggers:
# - chunkloaded
# - playermove
# - playerjoin
- blockplaced
@@ -24,116 +94,261 @@ webserver-port: 8123
# Disables Webserver portion of Dynmap (Advanced users only)
disable-webserver: false
# Writes JSON to file in the webpath
jsonfile: false
# Period between tile renders for fullrender, in seconds (non-zero to pace fullrenders, lessen CPU load)
timesliceinterval: 0.0
# How often the json file gets written to(in seconds)
jsonfile-interval: 1
# Interval the browser should poll for updates.
updaterate: 2000
showplayerfacesinmenu: true
# Set sidebaropened: true to pin menu sidebar opened
#sidebaropened: true
joinmessage: "%playername% joined"
quitmessage: "%playername% quit"
spammessage: "You may only chat once every %interval% seconds."
webprefix: "§2[WEB] "
websuffix: "§f"
defaultzoom: 0
defaultworld: world
# template world - this is used for worlds that exist but aren't defined in the worlds section.
# Also, it supplies the "maps" section for worlds lacking a maps section, and the "center"
# for worlds lacking a "center" section.
templates:
# Template for normal world
normal:
enabled: true
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.flat.FlatMap
name: flat
title: "Flat"
prefix: flat
colorscheme: default
# To render a world as a "night view", set shadowstrength and ambientlight
# shadowstrength: 1.0
# ambientlight: 4
# To render both night and day versions of tiles (when ambientlight is set), set true
# night-and-day: true
# Option to turn on transparency support (off by default) - slows render
# transparency: true
# Background color for map during the day
# backgroundday: "#153E7E"
# Background color for map during the night
# backgroundnight: "#000000"
# Backgrounc color for map (independent of night/day)
# background: "#000000"
- class: org.dynmap.kzedmap.KzedMap
renderers:
- class: org.dynmap.kzedmap.DefaultTileRenderer
name: surface
title: "Surface"
prefix: t
maximumheight: 127
colorscheme: default
# Add shadows to world (based on top-down shadows from chunk data)
# shadowstrength: 1.0
# To render a world as a "night view", set shadowstrength and ambientlight
# ambientlight: 4
# To render both night and day versions of tiles (when ambientlight is set), set true
# night-and-day: true
# Option to turn off transparency support (on by default) - speeds render
# transparency: false
# Background color for map during the day
# backgroundday: "#153E7E"
# Background color for map during the night
# backgroundnight: "#000000"
# Backgrounc color for map (independent of night/day)
# background: "#000000"
# Sets the icon to 'images/block_custom.png'
# icon: custom
#- class: org.dynmap.kzedmap.HighlightTileRenderer
# prefix: ht
# maximumheight: 127
# colorscheme: default
# highlight: # For highlighting multiple block-types.
# - 56 # Highlight diamond-ore
# - 66 # Highlight minecart track
# highlight: 56 # For highlighting a single block-type.
- class: org.dynmap.kzedmap.CaveTileRenderer
name: cave
title: "Cave"
prefix: ct
maximumheight: 127
# Nether world template
nether:
enabled: true
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.flat.FlatMap
name: flat
title: "Flat"
prefix: flat
colorscheme: default
# Map background color (day or night)
background: "#300806"
- class: org.dynmap.kzedmap.KzedMap
renderers:
- class: org.dynmap.kzedmap.DefaultTileRenderer
name: nether
title: "Surface"
prefix: nt
maximumheight: 127
colorscheme: default
# Map background color (day or night)
background: "#300806"
# Skylands world template
skylands:
enabled: true
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.flat.FlatMap
name: flat
title: "Flat"
prefix: flat
colorscheme: default
# Background color for map during the day
backgroundday: "#153E7E"
# Background color for map during the night
backgroundnight: "#000000"
- class: org.dynmap.kzedmap.KzedMap
renderers:
- class: org.dynmap.kzedmap.DefaultTileRenderer
name: skylands
title: "Surface"
prefix: st
maximumheight: 127
colorscheme: default
# Background color for map during the day
backgroundday: "#153E7E"
# Background color for map during the night
backgroundnight: "#000000"
night-and-day: true
shadowstrength: 1.0
ambientlight: 4
# The maptypes Dynmap will use to render.
worlds:
- name: world
maps:
- class: org.dynmap.flat.FlatMap
prefix: flat
colorscheme: default
- class: org.dynmap.kzedmap.KzedMap
renderers:
- class: org.dynmap.kzedmap.DefaultTileRenderer
prefix: t
maximumheight: 127
colorscheme: default
- class: org.dynmap.kzedmap.CaveTileRenderer
prefix: ct
maximumheight: 127
- name: nether
maps:
- class: org.dynmap.flat.FlatMap
prefix: flat
colorscheme: default
- class: org.dynmap.kzedmap.KzedMap
renderers:
- class: org.dynmap.kzedmap.DefaultTileRenderer
prefix: nt
maximumheight: 64
colorscheme: default
# Worlds can be handled by templates, based on world type
# You can override the properties of the template by specifying them in this section
# for example 'Title: "My Awesome World"'
#- name: world
# title: "World"
# Use 'enabled: false' to disable a certain world.
# enabled: false
# Use sendposition: false to prevent player positions from showing when on this world (if sendposition is globally enabled)
# sendposition: false
# Use sendhealth: false ot prevent player health from showing when on this world (if sendhealth is globally enabled)
# sendhealth: false
# # If world isn't contiguous chunks (due to teleporting, for example), fullrender needs to be given other locations to scan for tiles on each patch of chunks
# fullrenderlocations:
# - x: 10000
# y: 64
# z: 20000
# - x: -15000
# y: 64
# z: -5000
# Use 'template: mycustomtemplate' to use the properties specified in the template 'mycustomtemplate' to this world. Default it is set to the environment-name (normal or nether).
# template: mycustomtemplate
# Rest of comes from template - uncomment to tailor for world specifically
# center:
# x: 0
# y: 64
# z: 0
# maps:
# - class: org.dynmap.flat.FlatMap
# name: flat
# title: "Flat"
# prefix: flat
# colorscheme: default
# # To render a world as a "night view", set shadowstrength and ambientlight
# # shadowstrength: 1.0
# # ambientlight: 4
# # To render both night and day versions of tiles (when ambientlight is set), set true
# # night-and-day: true
# # Option to turn on transparency support (off by default) - slows render
# # transparency: true
# # Background color for map during the day
# # backgroundday: "#153E7E"
# # Background color for map during the night
# # backgroundnight: "#000000"
# # Backgrounc color for map (independent of night/day)
# # background: "#000000"
# - class: org.dynmap.kzedmap.KzedMap
# renderers:
# - class: org.dynmap.kzedmap.DefaultTileRenderer
# name: surface
# title: "Surface"
# prefix: t
# maximumheight: 127
# colorscheme: default
# # Add shadows to world (based on top-down shadows from chunk data)
# # shadowstrength: 1.0
# # To render a world as a "night view", set shadowstrength and ambientlight
# # ambientlight: 4
# # To render both night and day versions of tiles (when ambientlight is set), set true
# # night-and-day: true
# # Option to turn off transparency support (on by default) - speeds render
# # transparency: false
# # Background color for map during the day
# # backgroundday: "#153E7E"
# # Background color for map during the night
# # backgroundnight: "#000000"
# # Backgrounc color for map (independent of night/day)
# # background: "#000000"
# # Sets the icon to 'images/block_custom.png'
# # icon: custom
# #- class: org.dynmap.kzedmap.HighlightTileRenderer
# # prefix: ht
# # maximumheight: 127
# # colorscheme: default
# # highlight: # For highlighting multiple block-types.
# # - 56 # Highlight diamond-ore
# # - 66 # Highlight minecart track
# # highlight: 56 # For highlighting a single block-type.
# - class: org.dynmap.kzedmap.CaveTileRenderer
# name: cave
# title: "Cave"
# prefix: ct
# maximumheight: 127
#
# To just label world, and inherit rest from template, just provide name and title
#- name: world2
# title: "Second World"
#
#- name: nether
# title: "Nether"
# center:
# x: 0
# y: 64
# z: 0
# maps:
# - class: org.dynmap.flat.FlatMap
# name: flat
# title: "Flat"
# prefix: flat
# colorscheme: default
# - class: org.dynmap.kzedmap.KzedMap
# renderers:
# - class: org.dynmap.kzedmap.DefaultTileRenderer
# name: nether
# title: "Surface"
# prefix: nt
# maximumheight: 127
# colorscheme: default
web:
# Handles the clientside updates differently only enable if using jsonfile
jsonfile: false
# Interval the browser should poll for updates.
updaterate: 2000
showchatballoons: false
focuschatballoons: false
showchatwindow: true
allowwebchat: true
webchat-interval: 5
messagettl: 15
showplayerfacesonmap: true
showplayerfacesinmenu: true
joinmessage: "%playername% joined"
quitmessage: "%playername% quit"
spammessage: "You may only chat once every %interval% seconds."
components:
- type: chat
- type: chatballoon
focuschatballoons: false
- type: chatbox
showplayerfaces: true
messagettl: 5
- type: playermarkers
showplayerfaces: true
#- type: digitalclock
- type: timeofdayclock
showdigitalclock: true
defaultworld: world
worlds:
- title: World
name: world
maps:
- type: FlatMapType
title: Flat
name: flat
prefix: flat
- type: KzedMapType
title: Surface
name: surface
prefix: t
- type: KzedMapType
title: Cave
name: cave
prefix: ct
- title: Nether
name: nether
maps:
- type: FlatMapType
title: Flat
name: flat
prefix: flat
- type: KzedMapType
title: Surface
name: nether
prefix: nt
# Example:
#- title: Other World # With what name the world is displayed.
# name: world_other # The actual name of the world (equal to your directory-name).
# maps:
# - type: KzedMapType # The type (or perspective) of the map. At the moment, there are no others than KzedMapType.
# title: Surface # The name of the map that will be displayed.
# name: surface # The actual name of the map (should be unique for this world).
# prefix: t # The prefix of the tile-files that are generated.
# icon: images/block_other.png # Sets a custom icon for the map. (optional)
# - type: KzedMapType
# title: Cave
# name: cave
# prefix: ct
# Enables debugging.
#debuggers:
# - class: org.dynmap.debug.LogDebugger
+6
View File
@@ -0,0 +1,6 @@
dynmap.render # Render current chunk
dynmap.fullrender # Issue a full render
dynmap.hide.self # Hide self from map
dynmap.hide.others # Hide others from map
dynmap.show.self # Reveal self on map
dynmap.show.others # Reveal others on map
+1 -1
View File
@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.dynmap</groupId>
<artifactId>dynmap</artifactId>
<version>0.15</version>
<version>0.18.1</version>
<name>dynmap</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-1
View File
@@ -2,7 +2,6 @@
<id>bin</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>tar.bz2</format>
<format>zip</format>
</formats>
<fileSets>
+30
View File
@@ -0,0 +1,30 @@
package org.dynmap;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
public class Armor {
/**
* http://www.minecraftwiki.net/wiki/Item_Durability#Armor_durability
* We rely on getArmorContents() to return 4 armor pieces in the order
* of: boots, pants, chest, helmet
*/
private static final double armorPoints[] = {1.5, 3.0, 4.0, 1.5};
public static final int getArmorPoints(Player player) {
int currentDurability = 0;
int baseDurability = 0;
double baseArmorPoints = 0;
ItemStack inventory[] = player.getInventory().getArmorContents();
for(int i=0;i<inventory.length;i++) {
final short maxDurability = inventory[i].getType().getMaxDurability();
if(maxDurability < 0)
continue;
final short durability = inventory[i].getDurability();
baseDurability += maxDurability;
currentDurability += maxDurability - durability;
baseArmorPoints += armorPoints[i];
}
return (int)(2*baseArmorPoints*currentDurability/baseDurability);
}
}
@@ -4,12 +4,8 @@ import java.util.HashSet;
import java.util.LinkedList;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
public class AsynchronousQueue<T> {
protected static final Logger log = Logger.getLogger("Minecraft");
private Object lock = new Object();
private Thread thread;
private LinkedList<T> queue = new LinkedList<T>();
@@ -62,7 +58,7 @@ public class AsynchronousQueue<T> {
try {
thread.setPriority(Thread.MIN_PRIORITY);
} catch (SecurityException e) {
log.info("Failed to set minimum priority for worker thread!");
Log.info("Failed to set minimum priority for worker thread!");
}
}
}
@@ -74,13 +70,13 @@ public class AsynchronousQueue<T> {
Thread oldThread = thread;
thread = null;
log.info("Stopping map renderer...");
Log.info("Stopping map renderer...");
oldThread.interrupt();
try {
oldThread.join(1000);
} catch (InterruptedException e) {
log.info("Waiting for map renderer to stop is interrupted");
Log.info("Waiting for map renderer to stop is interrupted");
}
}
}
@@ -96,7 +92,7 @@ public class AsynchronousQueue<T> {
}
} catch (Exception ex) {
log.log(Level.SEVERE, "Exception on rendering-thread", ex);
Log.severe("Exception on rendering-thread", ex);
}
}
+12
View File
@@ -0,0 +1,12 @@
package org.dynmap;
public class ChatEvent {
public String source;
public String name;
public String message;
public ChatEvent(String source, String name, String message) {
this.source = source;
this.name = name;
this.message = message;
}
}
@@ -0,0 +1,46 @@
package org.dynmap;
/**
* Represents a static, thread-safe snapshot of chunk of blocks
* Purpose is to allow clean, efficient copy of a chunk data to be made, and then handed off for processing in another thread (e.g. map rendering)
*/
public interface ChunkSnapshot {
/**
* Get block type for block at corresponding coordinate in the chunk
*
* @param x 0-15
* @param y 0-127
* @param z 0-15
* @return 0-255
*/
public int getBlockTypeId(int x, int y, int z);
/**
* Get block data for block at corresponding coordinate in the chunk
*
* @param x 0-15
* @param y 0-127
* @param z 0-15
* @return 0-15
*/
public int getBlockData(int x, int y, int z);
/**
* Get sky light level for block at corresponding coordinate in the chunk
*
* @param x 0-15
* @param y 0-127
* @param z 0-15
* @return 0-15
*/
public int getBlockSkyLight(int x, int y, int z);
/**
* Get light level emitted by block at corresponding coordinate in the chunk
*
* @param x 0-15
* @param y 0-127
* @param z 0-15
* @return 0-15
*/
public int getBlockEmittedLight(int x, int y, int z);
public int getHighestBlockYAt(int x, int z);
}
+61 -41
View File
@@ -1,55 +1,65 @@
package org.dynmap;
import java.io.IOException;
import java.io.Writer;
import org.bukkit.ChatColor;
import org.json.simple.JSONAware;
import org.json.simple.JSONStreamAware;
public class Client {
public static class Update {
public long timestamp;
public long servertime;
public Player[] players;
public Object[] updates;
}
public static class Player {
public String type = "player";
public String name;
public String world;
public double x, y, z;
public Player(String name, String world, double x, double y, double z) {
this.name = name;
this.world = world;
this.x = x;
this.y = y;
this.z = z;
}
}
public static class Stamped {
public static class Update implements JSONAware, JSONStreamAware {
public long timestamp = System.currentTimeMillis();
@Override
public String toJSONString() {
return org.dynmap.web.Json.stringifyJson(this);
}
@Override
public void writeJSONString(Writer w) throws IOException {
// TODO: This isn't the best...
w.write(toJSONString());
}
}
public static class ChatMessage extends Stamped {
public static class ChatMessage extends Update {
public String type = "chat";
public String source;
public String playerName;
public String message;
public ChatMessage(String playerName, String message) {
this.playerName = playerName;
this.message = message;
}
}
public static class WebChatMessage extends Stamped {
public String type = "webchat";
public String playerName;
public String message;
public WebChatMessage(String playerName, String message) {
this.playerName = playerName;
this.message = message;
public String account;
public String channel;
public ChatMessage(String source, String channel, String playerName, String message, String playeraccount) {
this.source = source;
this.playerName = ChatColor.stripColor(playerName);
this.message = ChatColor.stripColor(message);
this.account = playeraccount;
this.channel = channel;
}
}
public static class Tile extends Stamped {
public static class PlayerJoinMessage extends Update {
public String type = "playerjoin";
public String playerName;
public String account;
public PlayerJoinMessage(String playerName, String playeraccount) {
this.playerName = ChatColor.stripColor(playerName);
this.account = playeraccount;
}
}
public static class PlayerQuitMessage extends Update {
public String type = "playerquit";
public String playerName;
public String account;
public PlayerQuitMessage(String playerName, String playeraccount) {
this.playerName = ChatColor.stripColor(playerName);
this.account = playeraccount;
}
}
public static class Tile extends Update {
public String type = "tile";
public String name;
@@ -57,4 +67,14 @@ public class Client {
this.name = name;
}
}
public static class DayNight extends Update {
public String type = "daynight";
public boolean isday;
public DayNight(boolean isday) {
this.isday = isday;
}
}
}
@@ -0,0 +1,59 @@
package org.dynmap;
import static org.dynmap.JSONUtils.a;
import static org.dynmap.JSONUtils.s;
import java.util.List;
import java.util.Map;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class ClientComponent extends Component {
public ClientComponent(final DynmapPlugin plugin, final ConfigurationNode configuration) {
super(plugin, configuration);
plugin.events.addListener("buildclientconfiguration", new Event.Listener<JSONObject>() {
@Override
public void triggered(JSONObject root) {
buildClientConfiguration(root);
}
});
}
protected void buildClientConfiguration(JSONObject root) {
JSONObject o = createClientConfiguration();
a(root, "components", o);
}
protected JSONObject createClientConfiguration() {
JSONObject o = convertMap(configuration);
o.remove("class");
return o;
}
protected static final JSONObject convertMap(Map<String, ?> m) {
JSONObject o = new JSONObject();
for(Map.Entry<String, ?> entry : m.entrySet()) {
s(o, entry.getKey(), convert(entry.getValue()));
}
return o;
}
protected static final JSONArray convertList(List<?> l) {
JSONArray o = new JSONArray();
for(Object entry : l) {
o.add(convert(entry));
}
return o;
}
protected static final Object convert(Object o) {
if (o instanceof Map<?, ?>) {
return convertMap((Map<String, ?>)o);
} else if (o instanceof List<?>) {
return convertList((List<?>)o);
}
return o;
}
}
@@ -0,0 +1,47 @@
package org.dynmap;
import static org.dynmap.JSONUtils.a;
import static org.dynmap.JSONUtils.l;
import static org.dynmap.JSONUtils.s;
import org.dynmap.Event.Listener;
import org.json.simple.JSONObject;
public class ClientConfigurationComponent extends Component {
public ClientConfigurationComponent(final DynmapPlugin plugin, ConfigurationNode configuration) {
super(plugin, configuration);
plugin.events.<JSONObject>addListener("buildclientconfiguration", new Listener<JSONObject>() {
@Override
public void triggered(JSONObject t) {
ConfigurationNode c = plugin.configuration;
s(t, "updaterate", c.getFloat("updaterate", 1.0f));
s(t, "showplayerfacesinmenu", c.getBoolean("showplayerfacesinmenu", true));
s(t, "joinmessage", c.getString("joinmessage", "%playername% joined"));
s(t, "quitmessage", c.getString("quitmessage", "%playername% quit"));
s(t, "spammessage", c.getString("spammessage", "You may only chat once every %interval% seconds."));
s(t, "webprefix", c.getString("webprefix", "[WEB] "));
s(t, "defaultzoom", c.getInteger("defaultzoom", 0));
s(t, "sidebaropened", c.getBoolean("sidebaropened", false));
DynmapWorld defaultWorld = null;
for(DynmapWorld world : plugin.mapManager.getWorlds()) {
if (defaultWorld == null) defaultWorld = world;
ConfigurationNode wn = world.configuration;
JSONObject wo = new JSONObject();
s(wo, "name", wn.getString("name"));
s(wo, "title", wn.getString("title"));
s(wo, "center/x", wn.getFloat("center/x", 0.0f));
s(wo, "center/y", wn.getFloat("center/y", 64.0f));
s(wo, "center/z", wn.getFloat("center/z", 0.0f));
a(t, "worlds", wo);
for(MapType mt : world.maps) {
mt.buildClientConfiguration(wo);
}
}
s(t, "defaultworld", c.getString("defaultworld", defaultWorld == null ? "world" : defaultWorld.world.getName()));
}
});
}
}
@@ -0,0 +1,75 @@
package org.dynmap;
import static org.dynmap.JSONUtils.a;
import static org.dynmap.JSONUtils.s;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class ClientUpdateComponent extends Component {
public ClientUpdateComponent(final DynmapPlugin plugin, ConfigurationNode configuration) {
super(plugin, configuration);
plugin.events.addListener("buildclientupdate", new Event.Listener<ClientUpdateEvent>() {
@Override
public void triggered(ClientUpdateEvent e) {
buildClientUpdate(e);
}
});
}
protected void buildClientUpdate(ClientUpdateEvent e) {
World world = e.world.world;
JSONObject u = e.update;
long since = e.timestamp;
String worldName = world.getName();
s(u, "servertime", world.getTime() % 24000);
s(u, "hasStorm", world.hasStorm());
s(u, "isThundering", world.isThundering());
s(u, "players", new JSONArray());
Player[] players = plugin.playerList.getVisiblePlayers();
for(int i=0;i<players.length;i++) {
Player p = players[i];
Location pl = p.getLocation();
JSONObject jp = new JSONObject();
s(jp, "type", "player");
s(jp, "name", ChatColor.stripColor(p.getDisplayName()));
s(jp, "account", p.getName());
/* Don't leak player location for world not visible on maps, or if sendposition disbaled */
DynmapWorld pworld = MapManager.mapman.worldsLookup.get(p.getWorld().getName());
if(configuration.getBoolean("sendpositon", true) && (pworld != null) && pworld.sendposition) {
s(jp, "world", p.getWorld().getName());
s(jp, "x", pl.getX());
s(jp, "y", pl.getY());
s(jp, "z", pl.getZ());
}
else {
s(jp, "world", "-some-other-bogus-world-");
s(jp, "x", 0.0);
s(jp, "y", 64.0);
s(jp, "z", 0.0);
}
/* Only send health if enabled AND we're on visible world */
if (configuration.getBoolean("sendhealth", false) && (pworld != null) && pworld.sendhealth) {
s(jp, "health", p.getHealth());
s(jp, "armor", Armor.getArmorPoints(p));
}
else {
s(jp, "health", 0);
s(jp, "armor", 0);
}
a(u, "players", jp);
}
s(u, "updates", new JSONArray());
for(Object update : plugin.mapManager.getWorldUpdates(worldName, since)) {
a(u, "updates", (Client.Update)update);
}
}
}
@@ -0,0 +1,15 @@
package org.dynmap;
import org.json.simple.JSONObject;
public class ClientUpdateEvent {
public long timestamp;
public DynmapWorld world;
public JSONObject update;
public ClientUpdateEvent(long timestamp, DynmapWorld world, JSONObject update) {
this.timestamp = timestamp;
this.world = world;
this.update = update;
}
}
+55
View File
@@ -0,0 +1,55 @@
package org.dynmap;
/**
* Simple replacement for java.awt.Color for dynmap - it's not an invariant, so we don't make millions
* of them during rendering
*/
public class Color {
/* ARGB value */
private int val;
public static final int TRANSPARENT = 0;
public Color(int red, int green, int blue, int alpha) {
setRGBA(red, green, blue, alpha);
}
public Color(int red, int green, int blue) {
setRGBA(red, green, blue, 0xFF);
}
public Color() {
setTransparent();
}
public final int getRed() {
return (val >> 16) & 0xFF;
}
public final int getGreen() {
return (val >> 8) & 0xFF;
}
public final int getBlue() {
return val & 0xFF;
}
public final int getAlpha() {
return ((val >> 24) & 0xFF);
}
public final boolean isTransparent() {
return (val == TRANSPARENT);
}
public final void setTransparent() {
val = TRANSPARENT;
}
public final void setColor(Color c) {
val = c.val;
}
public final void setRGBA(int red, int green, int blue, int alpha) {
val = ((alpha & 0xFF) << 24) | ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | (blue & 0xFF);
}
public final int getARGB() {
return val;
}
public final void setARGB(int c) {
val = c;
}
public final int getComponent(int idx) {
return 0xFF & (val >> ((3-idx)*8));
}
}
+52 -19
View File
@@ -1,33 +1,32 @@
package org.dynmap;
import java.awt.Color;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.dynmap.debug.Debug;
public class ColorScheme {
protected static final Logger log = Logger.getLogger("Minecraft");
private static final HashMap<String, ColorScheme> cache = new HashMap<String, ColorScheme>();
public String name;
public java.util.Map<Integer, Color[]> colors;
public ColorScheme(String name, java.util.Map<Integer, Color[]> colors) {
public String name;
/* Switch to arrays - faster than map */
public Color[][] colors; /* [blk-type][step] */
public Color[][][] datacolors; /* [bkt-type][blk-dat][step] */
public ColorScheme(String name, Color[][] colors, Color[][][] datacolors) {
this.name = name;
this.colors = colors;
this.datacolors = datacolors;
}
private static File getColorSchemeDirectory() {
return new File(DynmapPlugin.dataDirectory, "colorschemes");
}
public static ColorScheme getScheme(String name) {
if (name == null)
name = "default";
@@ -38,10 +37,11 @@ public class ColorScheme {
}
return scheme;
}
public static ColorScheme loadScheme(String name) {
File colorSchemeFile = new File(getColorSchemeDirectory(), name + ".txt");
java.util.Map<Integer, Color[]> colors = new HashMap<Integer, Color[]>();
Color[][] colors = new Color[256][];
Color[][][] datacolors = new Color[256][][];
InputStream stream;
try {
Debug.debug("Loading colors from '" + colorSchemeFile + "'...");
@@ -59,9 +59,16 @@ public class ColorScheme {
if (split.length < 17) {
continue;
}
Integer id = new Integer(split[0]);
Integer id;
Integer dat = null;
int idx = split[0].indexOf(':');
if(idx > 0) { /* ID:data - data color */
id = new Integer(split[0].substring(0, idx));
dat = new Integer(split[0].substring(idx+1));
}
else {
id = new Integer(split[0]);
}
Color[] c = new Color[4];
/* store colors by raycast sequence number */
@@ -70,16 +77,42 @@ public class ColorScheme {
c[1] = new Color(Integer.parseInt(split[9]), Integer.parseInt(split[10]), Integer.parseInt(split[11]), Integer.parseInt(split[12]));
c[2] = new Color(Integer.parseInt(split[13]), Integer.parseInt(split[14]), Integer.parseInt(split[15]), Integer.parseInt(split[16]));
colors.put(id, c);
if(dat != null) {
Color[][] dcolor = datacolors[id]; /* Existing list? */
if(dcolor == null) {
dcolor = new Color[16][]; /* Make 16 index long list */
datacolors[id] = dcolor;
}
if((dat >= 0) && (dat < 16)) { /* Add color to list */
dcolor[dat] = c;
}
if(dat == 0) { /* Index zero is base color too */
colors[id] = c;
}
}
else {
colors[id] = c;
}
nc += 1;
}
scanner.close();
/* Last, push base color into any open slots in data colors list */
for(int k = 0; k < 256; k++) {
Color[][] dc = datacolors[k]; /* see if data colors too */
if(dc != null) {
Color[] c = colors[k];
for(int i = 0; i < 16; i++) {
if(dc[i] == null)
dc[i] = c;
}
}
}
} catch (RuntimeException e) {
log.log(Level.SEVERE, "Could not load colors '" + name + "' ('" + colorSchemeFile + "').", e);
Log.severe("Could not load colors '" + name + "' ('" + colorSchemeFile + "').", e);
return null;
} catch (FileNotFoundException e) {
log.log(Level.SEVERE, "Could not load colors '" + name + "' ('" + colorSchemeFile + "'): File not found.", e);
Log.severe("Could not load colors '" + name + "' ('" + colorSchemeFile + "'): File not found.", e);
}
return new ColorScheme(name, colors);
return new ColorScheme(name, colors, datacolors);
}
}
+13
View File
@@ -0,0 +1,13 @@
package org.dynmap;
public abstract class Component {
protected DynmapPlugin plugin;
protected ConfigurationNode configuration;
public Component(DynmapPlugin plugin, ConfigurationNode configuration) {
this.plugin = plugin;
this.configuration = configuration;
}
public void dispose() {
}
}

Some files were not shown because too many files have changed in this diff Show More