Commit Graph
100 Commits
Author SHA1 Message Date
Zach Brown b3cf37c102 Re-add dropped keep alive disconnect
Should fix the terminal spam
2019-05-13 23:17:05 -05:00
Zach Brown 1ea2c3b4be MC 1.14.1 2019-05-13 21:20:58 -05:00
Zach Brown d1310ddac5 Add comment to MC-151674 fix
[11:00 PM] kashike: <snip> missed // Paper - MC-151674 comment here
2019-05-12 23:06:28 -05:00
Zach Brown 1fa1246a1e More compile fixes
- Re-removes Bukkit#getServerName - This was (hopefully?) only added back
  for Timings v2. It should be kept in that scope.

- Intend to let PlayerViewDistance API slip. Given the scope of the
  changes in this area it seems best to let this slip past initial
  release. It can be re-added when there is additional time to focus on it
  and the changed systems it relies on. If it is fixed prior to release
  this is implemented as a single shim patch that can be dropped.
2019-05-06 03:20:16 -04:00
Zach Brown 10c24a8e61 More patches for 1.14
Chunk related stuff will need to be revisted later
2019-04-27 19:23:53 -04:00
Zach Brown 67ab8fefee Fix blocking JavaDoc errors 2019-04-14 07:22:38 -04:00
Zach Brown 84f63e360a Clear containers on cancelled place events
It is possible for a container to be brought into the world pre-filled
in place event (thanks NBT!). When the blockplacevent(s) are cancelled
their blockstate is updated in OBC. This triggers them to drop their
inventories.

Rather than screwing with the update method which is used elsewhere, we
can simply clear any inventories once we are told that a plugin intends
to cancel the interaction.

Fixes GH-1831
2019-04-06 00:31:19 -04:00
Zach Brown 04f3e0a28f Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit 0e1cea5a..f40143ef:
  > SPIGOT-4691: Fix custom world generator when placing tiles
2019-04-05 05:17:10 -04:00
Zach Brown b5e7b51be6 Default nether void damage to off and allow that 2019-04-05 01:27:37 -04:00
Zach Brown 2e6720ba2b Allow configurable nether void height damage
Fixes GH-1804
2019-04-05 00:52:02 -04:00
Zach Brown b6d953a85d Don't throw if a server unregisters the version cmd 2019-04-05 00:35:59 -04:00
Zach Brown ab1484de91 Prevent negative in lure times - Fixes GH-1583 2019-04-05 00:09:29 -04:00
Zach Brown 8f045357ae Fix javadocs take 2: electric boogaloo 2019-03-29 00:44:06 -04:00
Zach Brown 66ac2b2606 Restore lost player cooldown APIs
Accidentally removed in a7ba5db3de
2019-03-24 13:16:59 -04:00
Zach Brown 2b722719b3 Stop loading entity bounding boxes from NBT
This may be creating more issues than it's solving
cc GH-1806
2019-03-15 23:25:32 -04:00
Zach Brown a663d0d550 Update upstream B/CB
--- work/Bukkit
Submodule work/Bukkit 96e09e50..0b95b68f:
  > SPIGOT-4650: Charging API for Vex

--- work/CraftBukkit
Submodule work/CraftBukkit f102d882..77ca7ca0:
  > Rebuild patches
  > Improve damage handling of dead entities
  > SPIGOT-4646: Test + fix InventoryWrapper.getContents
  > SPIGOT-4650: Charging API for Vex
2019-03-06 00:46:21 -05:00
Zach Brown bf3ce069c8 [dev] Make init script use different author names
Lets us differentiate whats Vanilla and whats from CB at a glance in IJ.
2019-03-06 00:14:07 -05:00
Zach Brown 99c3cd2a02 Set Zombie lastTick at start of drowned conversion
Fixes GH-1887

Prior to this change, the lastTick value for zombies would be set to
their initial spawn tick. This caused the drowned conversion process to
immediately occur rather than observing the vanilla delay.

Easy fix, just make sure its set again when the process actually starts.

And no, this change has absolutely nothing to do with the other thing.
That's been fixed and remains fixed.
2019-03-04 02:25:22 -05:00
Zach Brown 46a38257b0 Fire PlayerArmorChangeEvent for more cases 2019-03-03 15:21:51 -05:00
Zach Brown f464c99d4a Remove unnecessary set init I missed in last 2019-02-28 20:04:14 -05:00
Zach Brown ba6cf29d6a Fix CanDestroy CanPlaceOn on untagged items 2019-02-28 19:52:12 -05:00
Zach Brown 80620a2861 Update upstream B/CB/S
Also fixes build as a result of an upstream force push

--- work/Bukkit
Submodule work/Bukkit 217dc08d..d13fdf8c:
  > SPIGOT-4637: Add source block to BlockPhysicsEvent.

--- work/CraftBukkit
Submodule work/CraftBukkit acbba8ba..cb98c6ea:
  > Fix line endings in CraftDefaultPermissions
  > SPIGOT-4637: Add source block to BlockPhysicsEvent.

--- work/Spigot
Submodule work/Spigot 75ee78a0c...4165cd8f4 (commits not present)
  > (Manually Added) - Appears to be a result of an upstream force push
  > (Manually Added) - Changed: SPIGOT-4636: Add creative mode NBT permissions
2019-02-25 04:39:24 -05:00
Zach Brown 5ecd627ddf Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit a2dd0e303..51c118b1d:
  > SPIGOT-4619: Incorrect packet order for villager inventories
  > Fix EntityPickupItemEvent getRemaining / PlayerInventory#canHold
2019-02-13 09:07:12 -05:00
Zach Brown a0048bb425 Always run server tests 2019-02-07 00:48:17 -05:00
Zach Brown df424d7a65 Only enforce CraftPlayer#remove exception on instances of EntityPlayer
Should be more friendly to plugins that dabble in inheriting NMS
entities.
2019-02-05 07:44:36 -05:00
Zach Brown d08d908d6d Block Entity#remove from being called on Players
This doesn't result in the same behavior as other entities and causes
several problems. Anyone ever complain about the "Cannot send chat
message" thing? That's one of the issues this causes, among others.

If a plugin developer can come up with a valid reason to call this on a
Player we will look at limiting the scope of this change. It appears to
be unintentional in the few cases we've seen so far.
2019-02-04 23:43:28 -05:00
Zach Brown b5fc3623a2 Fire BlockPistonRetractEvent for all empty pistons
There is an explicit check in the handling code for empty pistons that
prevents sticky pistons from firing the event. However when we look back
at the history we see that this check was originally added so that ONLY
sticky pistons would fire the retract event. I'm not sure why.
https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/commits/1092acbddf07edfa4100bc6824504ac75088e913

Over the course of several updates, the meaning of that field appears to
have changed from "is NOT sticky" to "is sticky". So now its having the
opposite effect. Only normal pistons fire the retraction event. And like
all things in CB, it's just been carried around since.

If we are to believe the history, the correct fix for this issue is to
flip it so it only fires for sticky pistons, but that puts us in a
bind. It's already firing for non-sticky pistons, changing it now would
likely result in breakage. Furthermore, there is little documentation as
to WHY that was ever intended to be the case.

Instead we opt to remove the check entirely so that the event fires for
all piston types.

Fixes GH-1829
2019-01-31 16:45:43 -05:00
Zach Brown 0cb06a0c97 Make anti-xray chunk edge mode LOAD the default
Fixes GH-1749

Setting the new default to load chunk edge neighbors may have unintended
side-effects so feedback will be important. Specifically, if you're not
using the asynchronous chunk loader, you should probably switch to mode
2 (WAIT)

Old users will be migrated automatically if: You're using engine mode 1
(HIDE) and you're using chunk-edge-mode 1 (DEFAULT). Other users will
not be migrated.

Thanks @stonar96
2019-01-12 18:06:26 -05:00
Zach Brown 211797d5f2 Add vehicle tracking workaround from 1.12.2 branch 2019-01-07 15:02:11 -06:00
Zach Brown 514a60dd73 Add APIs to replace OfflinePlayer#getLastPlayed
Currently OfflinePlayer#getLastPlayed could more accurately be described
as "OfflinePlayer#getLastTimeTheirDataWasSaved".

The API doc says it should return the last time the server "witnessed"
the player, whilst also saying it should return the last time they
logged in. The current implementation does neither.

Given this interesting contradiction in the API documentation and the
current defacto implementation, I've elected to deprecate (with no
intent to remove) and replace it with two new methods, clearly named and
documented as to their purpose.
2019-01-02 01:04:11 -06:00
Zach Brown 84c81146c1 Make scan-for-legacy-ender-dragon config work again
Portion of diff was dropped in the mappings update commit.

Also remove the option to remove invalid statistics. The server will
automatically do this now as of... 1.13?, our option wasn't even doing anything.
2018-12-14 20:17:27 -05:00
Zach Brown de644b9b87 Lazy init world storage in CraftOfflinePlayer
Allows access to some offline player properties even when there
are no worlds loaded. This is typically a rare occurrence but
probably one that should be covered as best we can.

Fixes GH-1701
2018-12-11 22:32:39 -05:00
Zach Brown 1c4b67eab2 Update upstream BD/B/CB/S
Note to other developers: This commit may require you to wipe your
workspace as a result of the changes to BD.

--- work/BuildData
Submodule work/BuildData f527a8ff..d56672db:
  > Mappings Update

--- work/Bukkit
Submodule work/Bukkit 0c1d258bb..db06c80d7:
  > Add list of entities to EntityTransformEvent
  > SPIGOT-4347: Add API to allow storing arbitrary values on ItemStacks

---work/CraftBukkit
Submodule work/CraftBukkit 6a398ac44..068dab5be:
  > Enable optional source JAR shading via profile shadeSourcesJar
  > Use ImmutableList rather than AbstractList for CraftMetaBook
  > Fix setRecipes(List) not setting Knowledge Book recipes.
  > Mappings Update
  > Add list of entities to EntityTransformEvent & move die calls
  > SPIGOT-4347: Add API to allow storing arbitrary values on ItemStacks
  > Add Vanilla help to default permissions

--- work/Spigot
Submodule work/Spigot a1f2566f6..e769fe4d9:
  > Mappings Update
  > Rebuild patches
2018-12-08 05:09:55 -05:00
Zach Brown 9bfaa301aa Upstate upstream B/CB
--- work/Bukkit
Submodule work/Bukkit 9a793cce8..0c1d258bb:
  > Make PigZapEvent extend EntityTransformEvent

--- work/CraftBukkit
Submodule work/CraftBukkit ee6684bba..6a398ac44:
  > SPIGOT-4511: Trident doesn't lose durability
  > Tweak outdated windows
2018-12-02 18:31:09 -05:00
Zach Brown a55f2b6d0c Ensure stopRiding override follows all super calls
Fixes GH-1702
2018-11-27 23:18:34 -05:00
Zach Brown efeb4bbba1 Persist ArmorStand canTick API value across restarts 2018-11-27 18:14:57 -05:00
Zach Brown 73e3be2277 Fix vanilla scoreboard team color support for black
Fixes GH-1703
2018-11-25 12:16:01 -05:00
Zach Brown f799b545b7 Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit 8cd538e66..97b0057ad:
  > SPIGOT-4500: callSyncMethod broken
2018-11-24 11:34:17 -05:00
Zach Brown 392a76f00c Fix thunder sounds not playing properly 2018-11-23 02:23:50 -05:00
Zach Brown 86f283f9ab No generics in javadocs, what are you doin 2018-11-21 22:25:30 -05:00
Zach Brown fc0ac36500 Redo API for vanilla CanPlace and CanDestroy NBT
Now properly serializes and deserializes, is factored into hashcodes and
equality checks, etc

Deprecates the old Material based system and replaces it with a new one
based around NamespacedKeys and NamespacedTags. This allows the API to
extend beyond vanilla and Material enum based properties to datapack
based tags and elements.

Fixes GH-1635
2018-11-11 03:30:57 -05:00
Zach Brown e7d1a1f2ba Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit e4183e70..f489f0f7:
  > SPIGOT-4494: Remove fix for SPIGOT-3864, better handled by SPIGOT-3879 fix
2018-11-21 21:49:47 -05:00
Zach Brown 56392fd43d Update upstream B/CB/S
--- work/Bukkit
Submodule work/Bukkit 3aee9dbd0..0828ce366:
  > Add SpawnReason.SHEARING
  > SPIGOT-4339: Add EntityTransformEvent

--- work/CraftBukkit
Submodule work/CraftBukkit 17ff1e046..c2035aa1d:
  > Add some missing CreatureSpawnEvent.SpawnReason calls
  > SPIGOT-4339: Add EntityTransformEvent

--- work/Spigot
Submodule work/Spigot 947a8e7fd..5696c83c1:
  > Rebuild patches
2018-11-13 23:21:32 -05:00
Zach Brown 8ed499f71b Update upstream B/CB/S
--- work/Bukkit
Submodule work/Bukkit 1627782b..67e91ef7:
  > Fix some incorrectly handled JavaDoc
  > SPIGOT-4478: Update PlayerLoginEvent docs
  > Add API to manipulate boss bar of entities and those created by commands

--- work/CraftBukkit
Submodule work/CraftBukkit ca22de36..3a911828:
  > SPIGOT-4477: Arrows only firing direction of boat
  > SPIGOT-4478: NPE during PlayerLoginEvent recipe manipulation
  > Add API to manipulate boss bar of entities and those created by commands

--- work/Spigot
Submodule work/Spigot 2474d93d..947a8e7f:
  > Rebuild patches
2018-11-11 00:37:15 -05:00
Zach Brown 91162812ea [CI-SKIP] merge profile fill fix into base patch 2018-11-08 18:50:17 -05:00
Zach Brown deda4d5f07 Fix typo in last commit
Woops. fe79c944c7
2018-11-07 23:23:53 -05:00
Zach Brown fe79c944c7 Update armorstand pose and equipment w/ no tick option
This change allows ArmorStands with ticking disabled to visually update
their equipment and pose properly.

Given the wide range of usage of ArmorStands, I have not changed
their tick loop when their tick is enabled as usual. Doing so may
likely gains in the future, though additional testing would be
needed to ensure nothing breaks.

Fixes GH-1593
2018-11-07 20:48:22 -05:00
Zach Brown 824f341a14 Update upstream B/CB 2018-11-06 20:20:11 -05:00
Zach Brown 285a69dbe1 Use empty itemstack, not null in PlayerInteractManager
Introduced in 93e5439f96
Fixes GH-1642
2018-11-03 04:50:42 -04:00
Zach Brown c61e564f33 Log system info and remove paperclip java 9 warn
Removes the paperclip Java 9+ warning and replaces it with general
JVM and Host OS information that will be more useful in finding issues
for end users and ourselves.

Also removes the "for development only" 1.13 warning that everyone has
been ignoring completely anyway.
2018-10-28 21:03:06 -04:00
Zach Brown 45593fc5eb Update upstream B/CB/S 2018-10-28 18:08:08 -04:00
Zach Brown f29440f891 Update upstream B/CB/S 2018-10-27 00:02:22 -04:00
Zach Brown 090b025ed3 [CI-SKIP] Stop trying to standardize commit hashes
This appears to be creating more problems than its actually solving.
Oh and put my echo back in here just because I want it there.
2018-10-26 23:58:58 -04:00
Zach Brown 276f49855f [CI-SKIP] Have travis ensure openjdk11 builds run 2018-10-24 16:26:47 -04:00
Zach Brown a865840c0a \u0020 2018-10-24 15:05:39 -04:00
Zach Brown fd3300bb52 Add version to watchdog early warning system
BECAUSE VERSIONING INFO
2018-10-24 15:01:17 -04:00
Zach Brown 87070e5cae Always write dimension NBT, even if we ignore it
DataPacks can use the dimension field for various things, so we should
still write this field to NBT, even if we ignore reading it ourselves.
2018-10-24 14:41:04 -04:00
Zach Brown 4bc185d0d7 Try and make zsh complain less
My turn to make "this cant possibly break" changes to the scripts.
2018-10-24 12:35:42 -04:00
Zach Brown 0e5039cd83 Strip private area unicode characters from signs
It is not immediately clear how these characters ended up on signs in
previous versions. It is clear, however, that they now render as empty
unicode boxes in 1.13, whereas previously they rendered as invisible
characters.

When these signs are loaded in versions after this commit, these
characters from the private use area of the Unicode block will be
stripped. The sign will then be marked to ensure this conversion only
runs once.

There is a flag -DPaper.keepInvalidUnicode=true that can be used if you
do not want us to strip these characters from your signs, though I can
think of no reason to use it.

Fixes GH-1571
2018-10-23 20:59:08 -04:00
Zach Brown 4a6e5b036f Fix equals case in lightning sounds 2018-10-16 21:40:32 -04:00
Zach Brown 39d7c99598 [CI-SKIP] Remove debug echo statements from last 2018-10-16 20:41:07 -04:00
Zach Brown 963393ce85 Fix decompile script json regex
When Mojang added 1.13.2-pre2 to their manifest page it exposed a flaw
in the way the script's regex was getting the version json manifest.

I've tweaked the regex such that it will always first get the version
entry and then use that entry to get the json url, rather than trying to
do the whole thing in one shot.

Fixes GH-1582
2018-10-16 20:38:05 -04:00
Zach Brown 3fc93a9cda Hook into CB's plugin rewriting system
Primarily to update plugins for our fastutil relocation. Can also be
used to do things like debug plugins accessing versioned NMS packages in
an IDE pre-relocate step.
2018-10-05 00:21:08 -04:00
Zach Brown 8f9f852bb3 Revert "Dont strip explicit leading color codes in chat components (#1512)"
This reverts commit cd4848b2e6.

Fixes GH-1525
Reintroduces GH-1484
2018-10-03 18:15:22 -04:00
Zach Brown ecde88a5f5 Do not allow null in CanPlaceDestroy NBT API
Fixes GH-1523
2018-10-02 22:53:27 -04:00
Zach Brown 10d1ebb3ab Fix slime pathfinding when loaded from NBT
GH-1507

The canWander property is initialized to true by default, however when
loaded from NBT, if the key doesn't exist the property will be set to
false. The correct solution is to ensure the key exists before setting
the property.
2018-09-29 16:00:55 -04:00
Zach Brown 5561f5dfdf Add support for Java 11 to deprecated Timings API
In Java 11 the internal reflection method used to determine the calling
class in the legacy and deprecated Timings API, that no one should be
using anymore, was removed.

This means plugins that try and use it will all fail to enable and we
can't compile the server with JDK 11.

The solution to the removal of this internal reflection class is
to just use reflection to call it if its available and fall back to
the unnamed handler system if it isnt.

Update to the newer API if you use Timings already...
2018-09-29 14:05:24 -04:00
Zach Brown 9d830d36ce Allow zero revive health when it matches maxHealth
Apparently a zero max health attribute is perfectly fine in vanilla and
our own revive handling code appears to handle the case fine, even when
EntityDeathEvent is cancelled. So we should allow it to avoid issues
when these mobs are killed.
2018-09-24 20:48:21 -04:00
Zach Brown 1f324dd35b Make bad custom name resolution more specific
Avoids interfering with other places in vanilla where these issues
are tolerated and expected.
2018-09-23 20:10:24 -04:00
Zach Brown 241aecab11 Return null if we get a ParseException in IChatBaseComponent
Fixes GH-1471, GH-1474

As a result, data that no longer parses correctly will not crash the server
instead just logging the exception and continuing (and in most cases should
fix the data)

Player data is fixed pretty much immediately but some block data (like
Shulkers) may need to be modified in-game in order for it to re-save
properly

No more crashing though.
2018-09-22 15:58:13 -04:00
Zach Brown 5cfcc66b4f Fix up maven stuff hopefully 2018-09-22 12:58:09 -04:00
Zach Brown 9ff95e76f7 Update branch name for GitHub version checking 2018-09-13 12:17:01 -04:00
Zach Brown da68155e24 [CI-SKIP] Add note on 1.12.2 status to CONTRIBUTING.md 2018-09-11 18:11:28 -04:00
Zach Brown f9d11c8af7 Merge branch 'master' into pre/1.13 2018-09-11 17:48:17 -04:00
Zach Brown 463e6dac06 Ensure entity is always dying before Death Event
Prior to this it was possible for plugins to put the server into a never
ending recursive loop until it eventually killed itself.

Fixes GH-1432
2018-09-11 17:38:57 -04:00
Zach Brown 366d300450 Stop using transaction id in tab completions
Fixes GH-1417, GH-1424 (probably).

There are other issues in this area, including just how much a mess it
is but we will get to those when we get to those.
2018-09-09 17:51:25 -04:00
Zach Brown 09ca94cb13 Merge branch 'master' into pre/1.13 2018-09-08 19:12:58 -04:00
Zach Brown 2d541bf948 Update again so the dumb bot stops breaking things 2018-09-07 23:51:16 -04:00
Zach Brown 3d0c4bd860 MC-2025 - Save entity AABB to prevent fp wobble
This work is largely a result of the analysis done on the Mojang issue
tracker. See patch header for additional information.
2018-09-04 19:18:06 -04:00
Zach Brown 8eef3b43f3 Ensure Creeper fuseTicks are still incremented
Fixes GH-1389

Because we are no longer enabling creepers to rapidly change status
every tick, in order to prevent event spam, their datawatcher value
ends up negative.

This datawatcher value is used to increment the fuseTicks within the
creeper tick. Because the value is negative, it is constantly zero'd
and therefore never incremented, instead acting the same as creepers
that aren't ignited.

We can just as easily increment this ourselves when the creeper is
ignited, so that's what we'll do.
2018-08-29 22:55:21 -04:00
Zach Brown 34033480d7 Add Inventory#removeItemAnySlot
Closes GH-1360

This behaves identically to Inventory#removeItem, except it
searches all slots rather than just the storage contents.
2018-08-29 21:41:39 -04:00
Zach Brown 4cc2b3eea5 Update upstream CB 2018-08-27 11:07:22 -04:00
Zach Brown 00b551913b Rebuild and simplify map call 2018-08-25 22:48:24 -04:00
Zach Brown 438e10fb48 Merge branch 'master' into pre/1.13 2018-08-24 11:57:11 -04:00
Zach Brown fdef57b439 Allow ProtoChunks to be loaded
Reverts 62d26bf1d2
Fixes GH-1348
2018-08-23 15:40:00 -04:00
Zach Brown ce5d16d58d Merge branch 'master' into pre/1.13 2018-08-18 03:59:57 -05:00
Zach Brown 9920287a0f Don't iterate twice - Fixes GH-1346 2018-08-18 03:58:53 -05:00
Zach Brown 9369909fba Merge branch 'master' into pre/1.13 2018-08-08 16:03:09 -05:00
Zach Brown d691bec84f Use correct update flag and blockdata for portals
Fixes GH-1286
2018-08-03 03:26:10 -05:00
Zach Brown 631614f5bd Update upstream B/CB 2018-08-02 18:29:34 -05:00
Zach Brown 506745daf8 Update upstream B/CB 2018-08-02 18:12:29 -05:00
Zach Brown 5d5faf3cc6 Make portal teleportation adjustment math more accurate
Fixes GH-1295

Non-standard sized portals exacerbate a flaw in the vanilla
portal teleportation adjustment logic.
As a result, an entity can end up slightly inside of the surrounding
portal blocks. In vanilla, this issue is minor and you are adjusted out
as if it never happened. In CraftBukkit and derivatives, the
anti-suffocation behavior activates and players end up teleported on top
of their portals.

This improves the offset so as to keep the issue from ever occurring in
the first place.

Special thanks to CarpetMod who appears to have had this fixed for some
time, and has licensed their code such that we can use it as needed.
2018-07-31 20:13:40 -05:00
Zach Brown fdb8141a2b Add decompile fix for ChunkSection 2018-07-31 16:55:57 -05:00
Zach Brown 34186ac1a2 Update upstream CB 2018-07-31 16:45:04 -05:00
Zach Brown f17ce0acb2 Merge branch 'master' into pre/1.13 2018-07-31 16:44:46 -05:00
Zach Brown 8930ecd00e [CI-SKIP] Add paper comment to last patch edit 2018-07-31 16:41:33 -05:00
Zach Brown cc597bfd1d Ensure players are not marked to be removed after re-add 2018-07-31 16:39:15 -05:00
Zach Brown 1e737abf13 Re-add GH-1286 fix for portals
Accidentally removed in 897d804c62

Also added to End Portals
2018-07-31 15:16:12 -05:00
Zach Brown 452f012665 Update upstream B/CB 2018-07-30 20:19:41 -05:00
Zach Brown 5368b241ab Fix i18n String API
In 1.13 the method previously used now returns translatable keys.
`block.minecraft.cobblestone` instead of `Cobblestone`

We just need to make sure we're translating those keys.
2018-07-30 16:07:36 -05:00