mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 02:20:01 +03:00
139 lines
5.3 KiB
Diff
139 lines
5.3 KiB
Diff
--- ../src-base/minecraft/net/minecraft/stats/StatList.java
|
|
+++ ../src-work/minecraft/net/minecraft/stats/StatList.java
|
|
@@ -162,7 +162,7 @@
|
|
}
|
|
}
|
|
|
|
- replaceAllSimilarBlocks(CRAFTS_STATS);
|
|
+ replaceAllSimilarBlocks(CRAFTS_STATS, true);
|
|
}
|
|
|
|
private static void initMiningStats()
|
|
@@ -184,7 +184,7 @@
|
|
}
|
|
}
|
|
|
|
- replaceAllSimilarBlocks(BLOCKS_STATS);
|
|
+ replaceAllSimilarBlocks(BLOCKS_STATS, false);
|
|
}
|
|
|
|
private static void initStats()
|
|
@@ -208,7 +208,7 @@
|
|
}
|
|
}
|
|
|
|
- replaceAllSimilarBlocks(OBJECT_USE_STATS);
|
|
+ replaceAllSimilarBlocks(OBJECT_USE_STATS, true);
|
|
}
|
|
|
|
private static void initItemDepleteStats()
|
|
@@ -227,7 +227,7 @@
|
|
}
|
|
}
|
|
|
|
- replaceAllSimilarBlocks(OBJECT_BREAK_STATS);
|
|
+ replaceAllSimilarBlocks(OBJECT_BREAK_STATS, true);
|
|
}
|
|
|
|
private static void initPickedUpAndDroppedStats()
|
|
@@ -247,7 +247,7 @@
|
|
}
|
|
}
|
|
|
|
- replaceAllSimilarBlocks(OBJECT_BREAK_STATS);
|
|
+ replaceAllSimilarBlocks(OBJECT_BREAK_STATS, true);
|
|
}
|
|
|
|
private static String getItemName(Item itemIn)
|
|
@@ -256,28 +256,35 @@
|
|
return resourcelocation != null ? resourcelocation.toString().replace(':', '.') : null;
|
|
}
|
|
|
|
- private static void replaceAllSimilarBlocks(StatBase[] stat)
|
|
+ private static void replaceAllSimilarBlocks(StatBase[] stat, boolean useItemIds)
|
|
{
|
|
- mergeStatBases(stat, Blocks.WATER, Blocks.FLOWING_WATER);
|
|
- mergeStatBases(stat, Blocks.LAVA, Blocks.FLOWING_LAVA);
|
|
- mergeStatBases(stat, Blocks.LIT_PUMPKIN, Blocks.PUMPKIN);
|
|
- mergeStatBases(stat, Blocks.LIT_FURNACE, Blocks.FURNACE);
|
|
- mergeStatBases(stat, Blocks.LIT_REDSTONE_ORE, Blocks.REDSTONE_ORE);
|
|
- mergeStatBases(stat, Blocks.POWERED_REPEATER, Blocks.UNPOWERED_REPEATER);
|
|
- mergeStatBases(stat, Blocks.POWERED_COMPARATOR, Blocks.UNPOWERED_COMPARATOR);
|
|
- mergeStatBases(stat, Blocks.REDSTONE_TORCH, Blocks.UNLIT_REDSTONE_TORCH);
|
|
- mergeStatBases(stat, Blocks.LIT_REDSTONE_LAMP, Blocks.REDSTONE_LAMP);
|
|
- mergeStatBases(stat, Blocks.DOUBLE_STONE_SLAB, Blocks.STONE_SLAB);
|
|
- mergeStatBases(stat, Blocks.DOUBLE_WOODEN_SLAB, Blocks.WOODEN_SLAB);
|
|
- mergeStatBases(stat, Blocks.DOUBLE_STONE_SLAB2, Blocks.STONE_SLAB2);
|
|
- mergeStatBases(stat, Blocks.GRASS, Blocks.DIRT);
|
|
- mergeStatBases(stat, Blocks.FARMLAND, Blocks.DIRT);
|
|
+ mergeStatBases(stat, Blocks.WATER, Blocks.FLOWING_WATER, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.LAVA, Blocks.FLOWING_LAVA, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.LIT_PUMPKIN, Blocks.PUMPKIN, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.LIT_FURNACE, Blocks.FURNACE, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.LIT_REDSTONE_ORE, Blocks.REDSTONE_ORE, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.POWERED_REPEATER, Blocks.UNPOWERED_REPEATER, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.POWERED_COMPARATOR, Blocks.UNPOWERED_COMPARATOR, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.REDSTONE_TORCH, Blocks.UNLIT_REDSTONE_TORCH, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.LIT_REDSTONE_LAMP, Blocks.REDSTONE_LAMP, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.DOUBLE_STONE_SLAB, Blocks.STONE_SLAB, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.DOUBLE_WOODEN_SLAB, Blocks.WOODEN_SLAB, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.DOUBLE_STONE_SLAB2, Blocks.STONE_SLAB2, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.GRASS, Blocks.DIRT, useItemIds);
|
|
+ mergeStatBases(stat, Blocks.FARMLAND, Blocks.DIRT, useItemIds);
|
|
}
|
|
|
|
- private static void mergeStatBases(StatBase[] statBaseIn, Block block1, Block block2)
|
|
+ private static void mergeStatBases(StatBase[] statBaseIn, Block block1, Block block2, boolean useItemIds)
|
|
{
|
|
- int i = Block.getIdFromBlock(block1);
|
|
- int j = Block.getIdFromBlock(block2);
|
|
+ int i;
|
|
+ int j;
|
|
+ if (useItemIds) {
|
|
+ i = Item.getIdFromItem(Item.getItemFromBlock(block1));
|
|
+ j = Item.getIdFromItem(Item.getItemFromBlock(block2));
|
|
+ } else {
|
|
+ i = Block.getIdFromBlock(block1);
|
|
+ j = Block.getIdFromBlock(block2);
|
|
+ }
|
|
|
|
if (statBaseIn[i] != null && statBaseIn[j] == null)
|
|
{
|
|
@@ -309,4 +316,36 @@
|
|
{
|
|
return ID_TO_STAT_MAP.get(statName);
|
|
}
|
|
+
|
|
+ @Deprecated //MODDER DO NOT CALL THIS ITS JUST A EVENT CALLBACK FOR FORGE
|
|
+ public static void reinit()
|
|
+ {
|
|
+ ID_TO_STAT_MAP.clear();
|
|
+ BASIC_STATS.clear();
|
|
+ USE_ITEM_STATS.clear();
|
|
+ MINE_BLOCK_STATS.clear();
|
|
+
|
|
+ for (StatBase[] sb : new StatBase[][]{BLOCKS_STATS, CRAFTS_STATS, OBJECT_USE_STATS, OBJECT_BREAK_STATS, OBJECTS_PICKED_UP_STATS, OBJECTS_DROPPED_STATS})
|
|
+ {
|
|
+ for (int x = 0; x < sb.length; x++)
|
|
+ {
|
|
+ if (sb[x] != null)
|
|
+ {
|
|
+ ALL_STATS.remove(sb[x]);
|
|
+ sb[x] = null;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ List<StatBase> unknown = Lists.newArrayList(ALL_STATS);
|
|
+ ALL_STATS.clear();
|
|
+
|
|
+ for (StatBase b : unknown)
|
|
+ b.registerStat();
|
|
+
|
|
+ initMiningStats();
|
|
+ initStats();
|
|
+ initItemDepleteStats();
|
|
+ initCraftableStats();
|
|
+ initPickedUpAndDroppedStats();
|
|
+ }
|
|
}
|