MCPcopy Create free account
hub / github.com/DGVPSH/SlackOpen / updateMapData

Method updateMapData

src/main/java/net/minecraft/item/ItemMap.java:65–229  ·  view source on GitHub ↗
(World worldIn, Entity viewer, MapData data)

Source from the content-addressed store, hash-verified

63 }
64
65 public void updateMapData(World worldIn, Entity viewer, MapData data)
66 {
67 if (worldIn.provider.getDimensionId() == data.dimension && viewer instanceof EntityPlayer)
68 {
69 int i = 1 << data.scale;
70 int j = data.xCenter;
71 int k = data.zCenter;
72 int l = MathHelper.floor_double(viewer.posX - (double)j) / i + 64;
73 int i1 = MathHelper.floor_double(viewer.posZ - (double)k) / i + 64;
74 int j1 = 128 / i;
75
76 if (worldIn.provider.getHasNoSky())
77 {
78 j1 /= 2;
79 }
80
81 MapData.MapInfo mapdata$mapinfo = data.getMapInfo((EntityPlayer)viewer);
82 ++mapdata$mapinfo.field_82569_d;
83 boolean flag = false;
84
85 for (int k1 = l - j1 + 1; k1 < l + j1; ++k1)
86 {
87 if ((k1 & 15) == (mapdata$mapinfo.field_82569_d & 15) || flag)
88 {
89 flag = false;
90 double d0 = 0.0D;
91
92 for (int l1 = i1 - j1 - 1; l1 < i1 + j1; ++l1)
93 {
94 if (k1 >= 0 && l1 >= -1 && k1 < 128 && l1 < 128)
95 {
96 int i2 = k1 - l;
97 int j2 = l1 - i1;
98 boolean flag1 = i2 * i2 + j2 * j2 > (j1 - 2) * (j1 - 2);
99 int k2 = (j / i + k1 - 64) * i;
100 int l2 = (k / i + l1 - 64) * i;
101 Multiset<MapColor> multiset = HashMultiset.<MapColor>create();
102 Chunk chunk = worldIn.getChunkFromBlockCoords(new BlockPos(k2, 0, l2));
103
104 if (!chunk.isEmpty())
105 {
106 int i3 = k2 & 15;
107 int j3 = l2 & 15;
108 int k3 = 0;
109 double d1 = 0.0D;
110
111 if (worldIn.provider.getHasNoSky())
112 {
113 int l3 = k2 + l2 * 231871;
114 l3 = l3 * l3 * 31287121 + l3 * 11;
115
116 if ((l3 >> 20 & 1) == 0)
117 {
118 multiset.add(Blocks.dirt.getMapColor(Blocks.dirt.getDefaultState().withProperty(BlockDirt.VARIANT, BlockDirt.DirtType.DIRT)), 10);
119 }
120 else
121 {
122 multiset.add(Blocks.stone.getMapColor(Blocks.stone.getDefaultState().withProperty(BlockStone.VARIANT, BlockStone.EnumType.STONE)), 100);

Callers 1

onUpdateMethod · 0.95

Calls 15

floor_doubleMethod · 0.95
isEmptyMethod · 0.95
getHeightValueMethod · 0.95
getBlockStateMethod · 0.95
func_181079_cMethod · 0.95
getBlockMethod · 0.95
getMaterialMethod · 0.95
getBlockMethod · 0.95
getHasNoSkyMethod · 0.80
getMapInfoMethod · 0.80
getDefaultStateMethod · 0.80

Tested by

no test coverage detected