GithubHelp home page GithubHelp logo

glowstonemc / glowstone Goto Github PK

View Code? Open in Web Editor NEW
1.9K 87.0 273.0 15.92 MB

A fast, customizable and compatible open source server for Minecraft: Java Edition

Home Page: https://glowstone.net

License: Other

Shell 0.04% Java 99.95% C 0.01%
java bukkit minecraft minecraft-server glowstone spigot-api bukkit-api spigot glowstone-server

glowstone's Issues

Implement tile tick format

At the moment, pulse requests are stored within the GlowWorld, and if the server shuts down while something is waiting for an update, then it will forget this. So if water is spreading or the pulse request is used for something else later (e.g. redstone) then if the server shuts down or the world unloads, when it reloads it will freeze in place and wont update until a player manually updates it.

This isn't a super high priority issue, but (as far as I can see), this can be fixed in 2 ways:

  1. When the world unloads, save all of the active pulse requests in the world save.

  2. When a chunk is loaded, force pulse request every block that would accept pulse requests. (Although, this wouldn't perfectly replicate vanilla behavior as floating water doesn't update itself when chunks load, and it might be a little in-efficient)

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Huge memory leaks

There are two huge memory leaks in Glowstone++ right now.

I don't know what causes them yet, but the objects/classes created are:

  • io.netty.util.Recycler$WeakOrderQueue
  • io.netty.util.Recycler$WeakOrderQueue$Link
  • java.lang.ref.Finalizer

Glowstone does have the java.lang.ref.Finalizer leak. I should mention that this leak does not grow nearly as fast as the netty leak.

Information on memory leaks with Finalizer.

I haven't been able to find much about the netty stuff, but here's the class file.

This is not a problem directly caused by Glowstone++. We could be using a library in a wrong manner.

The memory usage climbs fairly linearly. I've seen the eden space grow to 1GB sometimes, from around 7MB.

It only happens while a player is on the server.

Glowstone++ versioned release

I was thinking to mark progress and stability, we should feature a build by versioning it.

This will be great to server owners because they don't know which build is good for their server, and instead have to risk stability and the server being in flux by updating every dev build.

Dev builds will not be versioned. Versioning will just be a way of featuring/marking a build as recommended.

For our first version (0.0.1), I was thinking we should release it once liquid physics and redstone are redone/more complete, we add the new world manager, and add a config for the library manager so people can set to have more libraries download.

Populate chunks during initial spawn preload

If persist-spawn in serverconfig is true, instead of just loading and anchoring spawn chunks, chunks should also be populated. This reduces join wait time for players, at the sacrifice of increased server load time, which I think is a reasonable trade off, as server load time is not very important, since admins can and will wait, while players may not want to wait.

Glowstone++ Official Servers

I can start working on the official Glowstone++ servers with my hosting company, and I will just post when they are ready, I can then send owner login info to @deathcap and another login to @mastercoms (deathcap can choose what level of access he wants mastercoms to have to the servers). I will post progress on the servers as well. Deathcap and Mastercoms can comment features they would like to have for the servers and i will see how much I can do :) (I can probably do all of the suggestions)

Minecraft 1.9

You think it's a gonna be a lot of trouble on our part when 1.9 is released? It should change a lot shouldn't it?

Merge open Glowstone Pull Requests

  • #189 Switch to Netty ReadTimeoutHandler
  • #358 Double chests
  • #431 Random blocks tick
  • #432 Bonemeal
  • #444 Noteblocks and Jukeboxes
  • #445 Dynamic Recipes
  • #459 Scoreboards
  • #473 Fix race conditions
  • #477 Flower pots
  • #484 Window click logic fix
  • #501 Generate glowstone.yml defaults from the actual defaults
  • #514 Item Frames
  • #521 Fix player joining when they should be kicked
  • #529 Titles API
  • #533 Whitelist fixes
  • #540 Fix wrong drops
  • #541 Material attributes
  • #553 Potion ItemMeta
  • #564 Structures and structure saving
  • #570 Basic LilyPad Support
  • #572 Biome Decorators
  • #591 Enchantments
  • #597 biomegrid
  • #599 Entities
  • #607 Overworld worldgen
  • #613 Configurable world height
  • #618 Action message support
  • #619 Bed interaction & sleeping
  • #621 Fix getDrops() and breakNaturally()
  • #623 Item attributes
  • #631 Cauldrons
  • #632 Block Suffocation
  • #636 Water/lava physics
  • #637 Lightning damage and ignites

And some closed PRs that may be useful

  • (moved to #55 -deathcap)

Server transfer

So, I'm going to be moving the test server from the dedicated server to a new VPS server. Performance may go down by a tiny bit, and there will be some downtime. This transfer will occur Friday, 1PM EDT.

Lava and Water is not flowing automatically.

I noticed lava is not flowing automatically in the nether: trigerring manually an adjacent block update updates physics but I forgot to ask for physic updates in the LavaDecorator class.

The same goes for overworld: needs to fix FlowingLiquidsDecorator class.

Will try to do a related PR soon.

Creative inventory actions broken in build 45

/gamemode 1, open inventory, click an item to pick it up then drop in the player inventory, close inventory = item disappears. Same results if shift-click to pickup a stack. At least shift-clicking between inventories now works =). Creative inventory worked in builds before 45. Fallout from:

https://circleci.com/gh/deathcap/GlowstonePlusPlus/45
merge commit: d0b16cf
original PR (not isolated - might be a bad merge on my end):
#484 Fixed window click logic

Review Pore's patches to Bukkit API

The Pore project (an implementation of Spigot's 1.8.3 update to the Bukkit API) has a handful of its own patches to the API, some might make sense to pull into Glowstone++'s:

https://github.com/LapisBlue/Pore/tree/master/patches

  • 0001-Disable-Spigot-version-check.patch
  • 0002-Remove-final-from-event-getters.patch
  • 0003-Add-HandlerList-adapters.patch
  • 0004-Make-events-properly-initialisable.patch
  • 0005-Add-method-to-get-EntityType-from-Class.patch
  • 0006-Disable-reload-command.patch
  • 0007-Remove-plugin-prefixes-and-use-normal-logger-instead.patch
  • 0008-Add-validity-check-supermethod-to-top-Event-class.patch

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Parallel world loading/saving

Would it be possible for us to create a WorldLoad and WorldSave thread for each world when they need to be saved/loaded?

I'll make a relevant PR soon.

TrueCraft

TrueCraft is a complete open source implementation of 1.7.3 beta.
http://truecraft.io/

It could help us in determining how to implement certain Minecraft features properly, such as fluids.

How can I help?

Is there a checklist of things that is needed to be done?

I would love to help on this project.

Liquid sets double plants to a single plant

When liquid flows, it sets the adjacent block if applicable. However, there is not a handler for double plants for this physics action, and the double plant sets itself to a single plant, but over the water because the breaking was performed on the bottom block in the double plant block group.

Double plants should be set to air completely on a physics interaction by a liquid.

single plant above liquid

Gson or JSON Simple?

I'm looking to clean up the Glowstone++ code. What library should I use for JSON, gson or json simple?

Sunflower

So there was a discussion on how to implement new APIs with Glowstone. I suggested having Glowstone being able to load multiple APIs and translate these methods to an internal API, but the collaborators of Glowstone decided that they were going to only use Bukkit until Glowstone was stable, so I decided to work on a new implementation which I never got around to.

Sunflower.

Sunflower was planned to create a universal wrapper for a server using mappings that would translate methods to that server's internal API. In this case, Bukkit.

Unfortunately, I am extremely busy and couldn't work on anything besides some pseudo code and planning.

So, I was wondering if GlowstonePlusPlus could be the Sunflower server, Helios. Just like Craftbukkit++ transformed into Spigot, Glowstone++ can transform into Helios. Of course, I'm completely fine if @deathcap is not ok with it, and I guess I'll delete Sunflower because I won't have a chance to work on it, and I will work on Glowstone++ instead.

The Nether is flat

The Nether look is quite boring...
If you agree I should be able to make a relevant PR soon.

Question about the future of Glowstone++

So is there plans for Glowstone++ to be a major thing or is this only for fun because I really want to help out if you have plans to make Glowstone++ a big thing. Things that could help with the success
Of Glowstone++ could be a website, irc chat, official test servers, Github organization so that who's on the Glowstone++ team will be easily defined and you can do a lot more with permissions on repos if a github organization is created. Just wondering :P

By default, rain is on

Every world's downfall is true when it is created. This causes for rain to always be enabled by default.

Cannot Remove Items from Inventory in Creative Mode

You can't remove items from your inventory. The previous item will come back when you close the inventory.

I think we should add that client side line back in when we did the creative mode inventory pull, but still also keep the server side line.

Merge closed Glowstone pull requests

split off from #6:

  • Already added #191 Difficulty setting in glowstone.yml
  • Already added by entities-ecs, to be merged #196 Gravity for entities
  • #211 Chest sounds and animations
  • #225 SIGTERM handling
    Note: Changes are needed to quickly handle the SIGTERM, instead of doing the normal shutdown process.
  • #226 Damage
  • Functionality already added #237 Inventory windows for all inventory blocks
  • #242 Variable block sounds
  • #272 Prevent illegal placement
  • Not valid #274 getItemInHand()
  • Functionality already added #286 Ore generation
  • Already added by entities-ecs, to be merged #282 Entities
  • Functionality #373 Player.isOnline()
  • Functionality already added #381 Redstone
    Note: the main redstone PR has features the subsequent split ones do not. It would be preferable to add stuff in this PR that are not in the future PRs.
  • Not valid #386 Chat color
  • #391 Network unit tests
  • Functionality already added #436 Basic Redstone support
  • Functionality already added #439 Redstone buttons and levers
  • #483 Configurable messages
  • Not valid #515 Space between > and command
  • Functionality already added #518 Fixes errors on join on a whitelist or ban
  • Not valid #587 Fix console check in headless environments
  • #624 IO utils can load a world without a server

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Attachable Blocks are weird with tall grass

redstone torch on redstone torch

I managed to get this beauty by placing one torch on tall grass, while pointing to tall grass behind it, and it replaced the tall grass like you would expect, but then it went on the tall grass behind it. So then, I replaced the tall grass with another torch placement and it placed itself on the face of the redstone torch that was already there.

SpongeAPI implementation in Glowstone++ vs Bukkit2Sponge?

Both https://github.com/deathcap/GlowstonePlusPlus (in net.glowstone.shiny based on https://github.com/GlowstoneMC/ShinySponge) and https://github.com/deathcap/Bukkit2Sponge (based on Glowstone++) implement SpongeAPI, what to do about this duplication?

The downside of this duplication is of course extra work in maintaining two separate copies (#45), but it may also be causing conflicts: GlowstoneMC/Bukkit2Sponge#1

I'm thinking about removing the SpongeAPI in Glowstone++ in favor of Bukkit2Sponge, but a benefit of having it in Glowstone++ is that it's an all-in-one package, easier for server admins instead of having to download a separate plugin to load SpongeAPI plugins, plus the auto-detection of Bukkit/Sponge plugin types (Glowstone++ recognizes both types in the usual plugins/ directory, Bukkit2Sponge currently only loads from its own plugins/Bukkit2Sponge/plugins/ folder).

Maybe keep the plugin type detection in Glowstone++ (and enhance for other plugin types, e.g. #46), but defer to Bukkit2Sponge for loading the SpongeAPI plugins (possibly even embedding Bukkit2Sponge within Glowstone++? git subproject etc.)

There's also the possibility to consider as the projects advance that implementing SpongeAPI on top of the Bukkit API becomes less practical, than implementing it directly in the server implementation (to be determined).

Add drone.io again

Drone.io provided downloads without logging in, and we removed it because we shaded sponge, which made glowstone++.jar go over the 10MB limit for drone.io.

Now, we have decided to include plugin suppport in plugins instead of the actual server, so the jar size is less than 10MB again.

Test server(s) for Glowstone++ server

Would be cool to have a test server (or more than one) for helping develop and test Glowstone++. Some discussion about this in #8 with @TekkitCommando and @mastercoms. My thoughts, more servers the better, but some ideas:

  • Bleeding-edge server automatically updated with the latest builds from CI (could add a post-build action to circle.yml to copy the build to the server. then somehow have it shutdown and restart with the new build). This could help catch new bugs from the latest commits. Players who want to help out with the project could join this server and mess around, exercise features, report bugs, but it wouldn't be suitable for longer-term play. No guarantee of no data loss, anything goes. Frequent world resets possible (each build? maybe overkill)
  • A more stable server, manually managed and maintained, for longer-term gameplay testing. This could be considered a "real" server in that players would be able to expect the world to stay intact, not resetting unless necessary, so they would be free to build and explore. Although survival mode is lacking, may want to wait until it is fleshed out further before deploying this kind of server. But once its viable it could be advertised to the larger community, with the caveat that it is built on experimental server software, to gain interest in real-world testing of Glowstone++. Obviously such a server would require more administrative overhead, maintenance, moderators, etc., from volunteers (not it). The bleeding-edge server (smoke test? canary?) on the other hand would, if fully automated, have less overhead and still provide many useful development/testing benefits.

Add missing Minecraft commands

Bukkit added server commands up to 1.7, but Spigot's Bukkit update for 1.8 removed all commands from the API because they instead pass through to the official Minecraft server. Glowstone can't do this obviously, so it relies on the commands in the API project, but they aren't updated for any new 1.8 features. Glowkit may have already added some; need to check. Full command list:

http://minecraft.gamepedia.com/Commands

  • /achievement
  • /ban
  • /ban-ip
  • /banlist
  • /blockdata
  • /clear
  • /clone
  • /debug
  • /defaultgamemode
  • /deop
  • /difficulty
  • /effect
  • /enchant
  • /entitydata
  • /execute
  • /fill
  • /gamemode
  • /gamerule
  • /give
  • /help
  • /kick
  • /kill
  • /list
  • /me
  • /op
  • /pardon
  • /particle
  • /playsound
  • /publish
  • /replaceitem
  • /save-all
  • /save-off
  • /save-on
  • /say
  • /scoreboard
  • /seed
  • /setblock
  • /setidletimeout
  • /setworldspawn
  • /spawnpoint
  • /spreadplayers
  • /stats
  • /stop
  • /summon
  • /tell
  • /tellraw
  • /testfor
  • /testforblock
  • /testforblocks
  • /time
  • /title
  • /toggledownfall
  • /tp
  • /trigger
  • /weather
  • /whitelist
  • /worldborder
  • /xp

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

No structures will spawn

Just quickly have checked how my PRs gets merged and I noticed (but didn't tested anything) the structures can't spawn as the code has diverged at some point.

You clearly don't longer need the SurfaceGenerator (superseded by OverworldGenerator) and to see the structures spawn you need to instantiate the StructurePopulator in the OverworldGenerator constructor.

Crafting is weird

Hi there, this is a cool fork of Glowstone and our code switched to your code and we gave you credits in our read me.
I found out some problems:

  • Crafting is weird(just like original Glowstone xD)
  • Item dumplication when crafting(this is kinda serious)

I really hope you can fix those problems, I tried my best but I can't find where the problem is. Thanks so much. ;D

CanaryMod API

I'm sorry if this is a stupid question but would it be possible to add support for the CanaryMod API? I'm not sure if there would be much purpose to it though but then again you're trying to add support for things right?

Investigate supporting Spigot API additions (Bukkit-Patches)

Glowstone++ integrates the updates to the Bukkit API from the Spigot team (i.e., from https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/browse/README.md) but they also have an additional set of patches on top of the Bukkit API:

https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/browse/Bukkit-Patches

might be worth also supporting some of these APIs, although by their nature they are more experimental, and not all are necessarily applicable.

  • 0001-POM-Changes.patch
  • 0002-Spigot-Timings.patch
  • 0003-Add-PlayerItemDamageEvent.patch
  • 0004-BungeeCord-Support.patch
  • 0005-Add-Arrow-API.patch
  • 0006-Add-Particle-API.patch
  • 0007-Define-EntitySpawnEvent-and-SpawnerSpawnEvent.patch
  • 0008-Entity-Mount-and-Dismount-Events.patch
  • 0009-InventoryClickEvent-getClickedInventory.patch
  • 0010-Added-getAllSessionData-to-the-Conversation-API.patch
  • 0011-Catch-Conversation-API-Errors.patch
  • 0012-Player-Collision-API.patch
  • 0013-Expand-Boolean-Prompt-Values.patch
  • 0014-Add-Getter-for-Entity-Invulnerability.patch
  • 0015-Add-respawn-API.patch
  • 0016-Fix-Plugin-Message-API-Disconnects.patch
  • 0017-Fix-Tab-Completion-for-Some-Commands.patch
  • 0018-Implement-Locale-Getter-for-Players.patch
  • 0019-Add-support-for-fetching-hidden-players.patch
  • 0020-Silenceable-Lightning-API.patch
  • 0021-Remove-deprecation-on-some-player-lookup-methods.patch
  • 0022-Expand-team-API-to-allow-arbitrary-strings.patch
  • 0023-Add-Score.isScoreSet-Z-API.patch
  • 0024-Add-PlayerSpawnLocationEvent.patch
  • 0025-Ease-ClassLoader-Deadlocks-Where-Possible.patch
  • 0026-Fix-slow-tab-complete-for-some-commands.patch
  • 0027-Undeprecate-Player-updateInventory-V.patch
  • 0028-Added-isUnbreakable-and-setUnbreakable-to-ItemMeta.patch
  • 0029-BungeeCord-Chat-API.patch

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

SpongeAPI event implementations

API: https://github.com/SpongePowered/SpongeAPI

Useful references:
Forge implementation: https://github.com/SpongePowered/Sponge
Vanilla Minecraft implementation: https://github.com/SpongePowered/SpongeVanilla
Shared code: https://github.com/SpongePowered/SpongeCommon
Discussion on multi-API coexistence (Bukkit+Sponge): #498

  • org.spongepowered.api.event.AbstractEvent
  • org.spongepowered.api.event.attribute.AttributeBaseChangedEvent
  • org.spongepowered.api.event.attribute.AttributeEvent
  • org.spongepowered.api.event.attribute.AttributeModifierAddedEvent
  • org.spongepowered.api.event.attribute.AttributeModifierRemovedEvent
  • org.spongepowered.api.event.ban.IpBanEvent
  • org.spongepowered.api.event.ban.IpPardonEvent
  • org.spongepowered.api.event.ban.PlayerBanEvent
  • org.spongepowered.api.event.ban.PlayerPardonEvent
  • org.spongepowered.api.event.ban.UserBanEvent
  • org.spongepowered.api.event.ban.UserPardonEvent
  • org.spongepowered.api.event.block.BlockBreakEvent
  • org.spongepowered.api.event.block.BlockBurnEvent
  • org.spongepowered.api.event.block.BlockChangeEvent
  • org.spongepowered.api.event.block.BlockDispenseEvent
  • org.spongepowered.api.event.block.BlockEvent
  • org.spongepowered.api.event.block.BlockHarvestEvent
  • org.spongepowered.api.event.block.BlockIgniteEvent
  • org.spongepowered.api.event.block.BlockInteractEvent
  • org.spongepowered.api.event.block.BlockMoveEvent
  • org.spongepowered.api.event.block.BlockPlaceEvent
  • org.spongepowered.api.event.block.BlockRandomTickEvent
  • org.spongepowered.api.event.block.BlockRedstoneUpdateEvent
  • org.spongepowered.api.event.block.BlockUpdateEvent
  • org.spongepowered.api.event.block.BulkBlockEvent
  • org.spongepowered.api.event.block.FloraGrowEvent
  • org.spongepowered.api.event.block.FluidSpreadEvent
  • org.spongepowered.api.event.block.LeafDecayEvent
  • org.spongepowered.api.event.block.tile.BrewingStandBrewEvent
  • org.spongepowered.api.event.block.tile.BrewingStandEvent
  • org.spongepowered.api.event.block.tile.FurnaceConsumeFuelEvent
  • org.spongepowered.api.event.block.tile.FurnaceEvent
  • org.spongepowered.api.event.block.tile.FurnaceSmeltItemEvent
  • org.spongepowered.api.event.block.tile.SignChangeEvent
  • org.spongepowered.api.event.block.tile.SignEvent
  • org.spongepowered.api.event.block.tile.TileEntityEvent
  • org.spongepowered.api.event.entity.BulkEntityEvent
  • org.spongepowered.api.event.entity.EntityAboutToConstructEvent
  • org.spongepowered.api.event.entity.EntityBreakBlockEvent
  • org.spongepowered.api.event.entity.EntityBreedEvent
  • org.spongepowered.api.event.entity.EntityChangeBlockEvent
  • org.spongepowered.api.event.entity.EntityChangeHealthEvent
  • org.spongepowered.api.event.entity.EntityCollisionEvent
  • org.spongepowered.api.event.entity.EntityCollisionWithBlockEvent
  • org.spongepowered.api.event.entity.EntityCollisionWithEntityEvent
  • org.spongepowered.api.event.entity.EntityConstructingEvent
  • org.spongepowered.api.event.entity.EntityDeathEvent
  • org.spongepowered.api.event.entity.EntityDismountEvent
  • org.spongepowered.api.event.entity.EntityDisplaceEvent
  • org.spongepowered.api.event.entity.EntityDropItemEvent
  • org.spongepowered.api.event.entity.EntityEnterPortalEvent
  • org.spongepowered.api.event.entity.EntityEquipmentChangeEvent
  • org.spongepowered.api.event.entity.EntityEvent
  • org.spongepowered.api.event.entity.EntityExitPortalEvent
  • org.spongepowered.api.event.entity.EntityExpireEvent
  • org.spongepowered.api.event.entity.EntityExplosionEvent
  • org.spongepowered.api.event.entity.EntityHarvestBlockEvent
  • org.spongepowered.api.event.entity.EntityIgniteEvent
  • org.spongepowered.api.event.entity.EntityInteractBlockEvent
  • org.spongepowered.api.event.entity.EntityInteractEntityEvent
  • org.spongepowered.api.event.entity.EntityInteractEvent
  • org.spongepowered.api.event.entity.EntityItemConsumeEvent
  • org.spongepowered.api.event.entity.EntityLeashEvent
  • org.spongepowered.api.event.entity.EntityMountEvent
  • org.spongepowered.api.event.entity.EntityMoveEvent
  • org.spongepowered.api.event.entity.EntityPickUpItemEvent
  • org.spongepowered.api.event.entity.EntityPlaceBlockEvent
  • org.spongepowered.api.event.entity.EntityPotionEffectChangeEvent
  • org.spongepowered.api.event.entity.EntitySpawnEvent
  • org.spongepowered.api.event.entity.EntityTameEvent
  • org.spongepowered.api.event.entity.EntityTargetEntityEvent
  • org.spongepowered.api.event.entity.EntityTeleportEvent
  • org.spongepowered.api.event.entity.EntityUnleashEvent
  • org.spongepowered.api.event.entity.EntityUpdateEvent
  • org.spongepowered.api.event.entity.ExplosionPrimeEvent
  • org.spongepowered.api.event.entity.living.human.fishing.HumanCastFishingLineEvent
  • org.spongepowered.api.event.entity.living.human.fishing.HumanFishEvent
  • org.spongepowered.api.event.entity.living.human.fishing.HumanHookedEntityEvent
  • org.spongepowered.api.event.entity.living.human.fishing.HumanRetractFishingLineEvent
  • org.spongepowered.api.event.entity.living.human.HumanBreakBlockEvent
  • org.spongepowered.api.event.entity.living.human.HumanChangeBlockEvent
  • org.spongepowered.api.event.entity.living.human.HumanChangeGameModeEvent
  • org.spongepowered.api.event.entity.living.human.HumanChangeHealthEvent
  • org.spongepowered.api.event.entity.living.human.HumanDeathEvent
  • org.spongepowered.api.event.entity.living.human.HumanDropItemEvent
  • org.spongepowered.api.event.entity.living.human.HumanEnterBedEvent
  • org.spongepowered.api.event.entity.living.human.HumanEquipmentChangeEvent
  • org.spongepowered.api.event.entity.living.human.HumanEvent
  • org.spongepowered.api.event.entity.living.human.HumanExpChangeEvent
  • org.spongepowered.api.event.entity.living.human.HumanHarvestBlockEvent
  • org.spongepowered.api.event.entity.living.human.HumanInteractBlockEvent
  • org.spongepowered.api.event.entity.living.human.HumanInteractEntityEvent
  • org.spongepowered.api.event.entity.living.human.HumanInteractEvent
  • org.spongepowered.api.event.entity.living.human.HumanItemConsumeEvent
  • org.spongepowered.api.event.entity.living.human.HumanLeaveBedEvent
  • org.spongepowered.api.event.entity.living.human.HumanLevelChangeEvent
  • org.spongepowered.api.event.entity.living.human.HumanMoveEvent
  • org.spongepowered.api.event.entity.living.human.HumanPickUpItemEvent
  • org.spongepowered.api.event.entity.living.human.HumanPlaceBlockEvent
  • org.spongepowered.api.event.entity.living.human.HumanSleepEvent
  • org.spongepowered.api.event.entity.living.human.HumanUpdateEvent
  • org.spongepowered.api.event.entity.living.LivingAddPotionEffectEvent
  • org.spongepowered.api.event.entity.living.LivingBreakBlockEvent
  • org.spongepowered.api.event.entity.living.LivingChangeBlockEvent
  • org.spongepowered.api.event.entity.living.LivingChangeHealthEvent
  • org.spongepowered.api.event.entity.living.LivingDeathEvent
  • org.spongepowered.api.event.entity.living.LivingDropItemEvent
  • org.spongepowered.api.event.entity.living.LivingEquipmentChangeEvent
  • org.spongepowered.api.event.entity.living.LivingEvent
  • org.spongepowered.api.event.entity.living.LivingExpirePotionEffectEvent
  • org.spongepowered.api.event.entity.living.LivingHarvestBlockEvent
  • org.spongepowered.api.event.entity.living.LivingInteractBlockEvent
  • org.spongepowered.api.event.entity.living.LivingInteractEntityEvent
  • org.spongepowered.api.event.entity.living.LivingInteractEvent
  • org.spongepowered.api.event.entity.living.LivingItemConsumeEvent
  • org.spongepowered.api.event.entity.living.LivingMoveEvent
  • org.spongepowered.api.event.entity.living.LivingPickUpItemEvent
  • org.spongepowered.api.event.entity.living.LivingPlaceBlockEvent
  • org.spongepowered.api.event.entity.living.LivingPotionEffectEvent
  • org.spongepowered.api.event.entity.living.LivingRemovePotionEffectEvent
  • org.spongepowered.api.event.entity.living.LivingUpdateEvent
  • org.spongepowered.api.event.entity.living.player.PlayerResourcePackStatusEvent
  • org.spongepowered.api.event.entity.minecart.MinecartEvent
  • org.spongepowered.api.event.entity.player.fishing.PlayerCastFishingLineEvent
  • org.spongepowered.api.event.entity.player.fishing.PlayerFishEvent
  • org.spongepowered.api.event.entity.player.fishing.PlayerHookedEntityEvent
  • org.spongepowered.api.event.entity.player.fishing.PlayerRetractFishingLineEvent
  • org.spongepowered.api.event.entity.player.PlayerBreakBlockEvent
  • org.spongepowered.api.event.entity.player.PlayerChangeBlockEvent
  • org.spongepowered.api.event.entity.player.PlayerChangeGameModeEvent
  • org.spongepowered.api.event.entity.player.PlayerChangeHealthEvent
  • org.spongepowered.api.event.entity.player.PlayerChangeWorldEvent
  • org.spongepowered.api.event.entity.player.PlayerChatEvent
  • org.spongepowered.api.event.entity.player.PlayerDeathEvent
  • org.spongepowered.api.event.entity.player.PlayerDropItemEvent
  • org.spongepowered.api.event.entity.player.PlayerEnterBedEvent
  • org.spongepowered.api.event.entity.player.PlayerEquipmentChangeEvent
  • org.spongepowered.api.event.entity.player.PlayerEvent
  • org.spongepowered.api.event.entity.player.PlayerExpChangeEvent
  • org.spongepowered.api.event.entity.player.PlayerHarvestBlockEvent
  • org.spongepowered.api.event.entity.player.PlayerInteractBlockEvent
  • org.spongepowered.api.event.entity.player.PlayerInteractEntityEvent
  • org.spongepowered.api.event.entity.player.PlayerInteractEvent
  • org.spongepowered.api.event.entity.player.PlayerItemConsumeEvent
  • org.spongepowered.api.event.entity.player.PlayerJoinEvent
  • org.spongepowered.api.event.entity.player.PlayerKickEvent
  • org.spongepowered.api.event.entity.player.PlayerLeaveBedEvent
  • org.spongepowered.api.event.entity.player.PlayerLevelChangeEvent
  • org.spongepowered.api.event.entity.player.PlayerMoveEvent
  • org.spongepowered.api.event.entity.player.PlayerPickUpItemEvent
  • org.spongepowered.api.event.entity.player.PlayerPlaceBlockEvent
  • org.spongepowered.api.event.entity.player.PlayerQuitEvent
  • org.spongepowered.api.event.entity.player.PlayerRespawnEvent
  • org.spongepowered.api.event.entity.player.PlayerSleepEvent
  • org.spongepowered.api.event.entity.player.PlayerUpdateEvent
  • org.spongepowered.api.event.entity.player.UserEvent
  • org.spongepowered.api.event.entity.ProjectileLaunchEvent
  • org.spongepowered.api.event.Event
  • org.spongepowered.api.event.ExperienceEvent
  • org.spongepowered.api.event.GameEvent
  • org.spongepowered.api.event.inventory.BlockInventoryEvent
  • org.spongepowered.api.event.inventory.BrewEvent
  • org.spongepowered.api.event.inventory.BulkItemResultEvent
  • org.spongepowered.api.event.inventory.ContainerEvent
  • org.spongepowered.api.event.inventory.ContainerOpenEvent
  • org.spongepowered.api.event.inventory.CraftItemEvent
  • org.spongepowered.api.event.inventory.InventoryClickEvent
  • org.spongepowered.api.event.inventory.InventoryCloseEvent
  • org.spongepowered.api.event.inventory.InventoryEvent
  • org.spongepowered.api.event.inventory.ItemDropEvent
  • org.spongepowered.api.event.inventory.ItemEvent
  • org.spongepowered.api.event.inventory.ItemExpireEvent
  • org.spongepowered.api.event.inventory.ItemMergeEvent
  • org.spongepowered.api.event.inventory.ItemResultEvent
  • org.spongepowered.api.event.inventory.ViewerEvent
  • org.spongepowered.api.event.message.CommandEvent
  • org.spongepowered.api.event.message.MessageEvent
  • org.spongepowered.api.event.net.PlayerConnectionEvent
  • org.spongepowered.api.event.net.PlayerConnectionRegisterChannelEvent
  • org.spongepowered.api.event.net.PlayerConnectionUnregisterChannelEvent
  • org.spongepowered.api.event.rcon.RconCommandEvent
  • org.spongepowered.api.event.rcon.RconEvent
  • org.spongepowered.api.event.rcon.RconLoginEvent
  • org.spongepowered.api.event.server.query.BasicQueryEvent
  • org.spongepowered.api.event.server.query.FullQueryEvent
  • org.spongepowered.api.event.server.query.QueryEvent
  • org.spongepowered.api.event.server.StatusPingEvent
  • org.spongepowered.api.event.SpongeEventFactory
  • org.spongepowered.api.event.state.ConstructionEvent
  • org.spongepowered.api.event.state.InitializationEvent
  • org.spongepowered.api.event.state.LoadCompleteEvent
  • org.spongepowered.api.event.state.PostInitializationEvent
  • org.spongepowered.api.event.state.PreInitializationEvent
  • org.spongepowered.api.event.state.ServerAboutToStartEvent
  • org.spongepowered.api.event.state.ServerStartedEvent
  • org.spongepowered.api.event.state.ServerStartingEvent
  • org.spongepowered.api.event.state.ServerStoppedEvent
  • org.spongepowered.api.event.state.ServerStoppingEvent
  • org.spongepowered.api.event.state.StateEvent
  • org.spongepowered.api.event.stats.AchievementEvent
  • org.spongepowered.api.event.stats.StatisticChangeEvent
  • org.spongepowered.api.event.weather.LightningStrikeEvent
  • org.spongepowered.api.event.weather.WeatherChangeEvent
  • org.spongepowered.api.event.weather.WeatherEvent
  • org.spongepowered.api.event.world.ChunkEvent
  • org.spongepowered.api.event.world.ChunkForcedEvent
  • org.spongepowered.api.event.world.ChunkLoadEvent
  • org.spongepowered.api.event.world.ChunkPostGenerateEvent
  • org.spongepowered.api.event.world.ChunkPostPopulateEvent
  • org.spongepowered.api.event.world.ChunkPreGenerateEvent
  • org.spongepowered.api.event.world.ChunkPrePopulateEvent
  • org.spongepowered.api.event.world.ChunkUnforcedEvent
  • org.spongepowered.api.event.world.ChunkUnloadEvent
  • org.spongepowered.api.event.world.GameRuleChangeEvent
  • org.spongepowered.api.event.world.WorldCreateEvent
  • org.spongepowered.api.event.world.WorldEvent
  • org.spongepowered.api.event.world.WorldLoadEvent
  • org.spongepowered.api.event.world.WorldUnloadEvent

repo.glowstone.net is down

This prevents people from downloading libraries necessary for plugin compatibility.

I'll set up a new repo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.