mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 08:00:02 +03:00
35 lines
1.7 KiB
Diff
35 lines
1.7 KiB
Diff
--- ../src-base/minecraft/net/minecraft/item/ItemEmptyMap.java
|
|
+++ ../src-work/minecraft/net/minecraft/item/ItemEmptyMap.java
|
|
@@ -8,6 +8,7 @@
|
|
import net.minecraft.util.EnumActionResult;
|
|
import net.minecraft.util.EnumHand;
|
|
import net.minecraft.world.World;
|
|
+import net.minecraft.world.WorldServer;
|
|
import net.minecraft.world.storage.MapData;
|
|
|
|
public class ItemEmptyMap extends ItemMapBase
|
|
@@ -19,17 +20,20 @@
|
|
|
|
public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn, EnumHand hand)
|
|
{
|
|
- ItemStack itemstack = new ItemStack(Items.FILLED_MAP, 1, worldIn.getUniqueDataId("map"));
|
|
+ World worldMain = worldIn.getServer().getServer().worlds.get(0); // CraftBukkit - store reference to primary world
|
|
+ ItemStack itemstack = new ItemStack(Items.FILLED_MAP, 1, worldMain.getUniqueDataId("map")); // CraftBukkit - use primary world for maps
|
|
String s = "map_" + itemstack.getMetadata();
|
|
MapData mapdata = new MapData(s);
|
|
- worldIn.setItemData(s, mapdata);
|
|
+ worldMain.setItemData(s, mapdata); // CraftBukkit
|
|
mapdata.scale = 0;
|
|
mapdata.calculateMapCenter(playerIn.posX, playerIn.posZ, mapdata.scale);
|
|
- mapdata.dimension = worldIn.provider.getDimension();
|
|
+ mapdata.dimension = (byte) ((WorldServer) worldIn).dimension; // CraftBukkit - use bukkit dimension
|
|
mapdata.trackingPosition = true;
|
|
mapdata.markDirty();
|
|
--itemStackIn.stackSize;
|
|
|
|
+ org.bukkit.craftbukkit.event.CraftEventFactory.callEvent(new org.bukkit.event.server.MapInitializeEvent(mapdata.mapView)); // CraftBukkit
|
|
+
|
|
if (itemStackIn.stackSize <= 0)
|
|
{
|
|
return new ActionResult(EnumActionResult.SUCCESS, itemstack);
|