|
1 | 1 | package com.adccadc.rust; |
2 | 2 |
|
3 | 3 | import com.adccadc.rust.block.Modblocks; |
| 4 | +import com.google.common.base.Suppliers; |
| 5 | +import com.google.common.collect.BiMap; |
| 6 | +import com.google.common.collect.ImmutableBiMap; |
4 | 7 | import net.minecraft.block.Block; |
5 | 8 | import net.minecraft.block.Blocks; |
6 | 9 |
|
7 | 10 | import java.util.HashMap; |
8 | 11 | import java.util.Map; |
| 12 | +import java.util.function.Supplier; |
9 | 13 |
|
10 | 14 | public class OxidizeMap { |
| 15 | + |
| 16 | + public static Supplier<BiMap<Block, Block>> MOD_OXIDATION_LEVEL_INCREASES = Suppliers.memoize(() -> ImmutableBiMap.<Block, Block>builder() |
| 17 | + .put(Blocks.COPPER_BLOCK, Blocks.EXPOSED_COPPER).put(Blocks.EXPOSED_COPPER, Blocks.WEATHERED_COPPER).put(Blocks.WEATHERED_COPPER, Blocks.OXIDIZED_COPPER) |
| 18 | + .put(Blocks.CUT_COPPER, Blocks.EXPOSED_CUT_COPPER).put(Blocks.EXPOSED_CUT_COPPER, Blocks.WEATHERED_CUT_COPPER).put(Blocks.WEATHERED_CUT_COPPER, Blocks.OXIDIZED_CUT_COPPER) |
| 19 | + .put(Blocks.CHISELED_COPPER, Blocks.EXPOSED_CHISELED_COPPER).put(Blocks.EXPOSED_CHISELED_COPPER, Blocks.WEATHERED_CHISELED_COPPER).put(Blocks.WEATHERED_CHISELED_COPPER, Blocks.OXIDIZED_CHISELED_COPPER) |
| 20 | + .put(Blocks.CUT_COPPER_SLAB, Blocks.EXPOSED_CUT_COPPER_SLAB).put(Blocks.EXPOSED_CUT_COPPER_SLAB, Blocks.WEATHERED_CUT_COPPER_SLAB).put(Blocks.WEATHERED_CUT_COPPER_SLAB, Blocks.OXIDIZED_CUT_COPPER_SLAB) |
| 21 | + .put(Blocks.CUT_COPPER_STAIRS, Blocks.EXPOSED_CUT_COPPER_STAIRS).put(Blocks.EXPOSED_CUT_COPPER_STAIRS, Blocks.WEATHERED_CUT_COPPER_STAIRS).put(Blocks.WEATHERED_CUT_COPPER_STAIRS, Blocks.OXIDIZED_CUT_COPPER_STAIRS) |
| 22 | + .put(Blocks.COPPER_DOOR, Blocks.EXPOSED_COPPER_DOOR).put(Blocks.EXPOSED_COPPER_DOOR, Blocks.WEATHERED_COPPER_DOOR).put(Blocks.WEATHERED_COPPER_DOOR, Blocks.OXIDIZED_COPPER_DOOR) |
| 23 | + .put(Blocks.COPPER_TRAPDOOR, Blocks.EXPOSED_COPPER_TRAPDOOR).put(Blocks.EXPOSED_COPPER_TRAPDOOR, Blocks.WEATHERED_COPPER_TRAPDOOR).put(Blocks.WEATHERED_COPPER_TRAPDOOR, Blocks.OXIDIZED_COPPER_TRAPDOOR) |
| 24 | + .put(Blocks.COPPER_GRATE, Blocks.EXPOSED_COPPER_GRATE).put(Blocks.EXPOSED_COPPER_GRATE, Blocks.WEATHERED_COPPER_GRATE).put(Blocks.WEATHERED_COPPER_GRATE, Blocks.OXIDIZED_COPPER_GRATE) |
| 25 | + .put(Blocks.COPPER_BULB, Blocks.EXPOSED_COPPER_BULB).put(Blocks.EXPOSED_COPPER_BULB, Blocks.WEATHERED_COPPER_BULB).put(Blocks.WEATHERED_COPPER_BULB, Blocks.OXIDIZED_COPPER_BULB) |
| 26 | + .put(Blocks.IRON_BLOCK, Modblocks.EXPOSED_IRON_BLOCK).put(Modblocks.EXPOSED_IRON_BLOCK, Modblocks.WEATHERED_IRON_BLOCK).put(Modblocks.WEATHERED_IRON_BLOCK, Modblocks.OXIDIZED_IRON_BLOCK) |
| 27 | + .put(Blocks.IRON_BARS, Modblocks.EXPOSED_IRON_BARS).put(Modblocks.EXPOSED_IRON_BARS, Modblocks.WEATHERED_IRON_BARS).put(Modblocks.WEATHERED_IRON_BARS, Modblocks.OXIDIZED_IRON_BARS) |
| 28 | + .put(Blocks.IRON_TRAPDOOR, Modblocks.EXPOSED_IRON_TRAPDOOR).put(Modblocks.EXPOSED_IRON_TRAPDOOR, Modblocks.WEATHERED_IRON_TRAPDOOR).put(Modblocks.WEATHERED_IRON_TRAPDOOR, Modblocks.OXIDIZED_IRON_TRAPDOOR) |
| 29 | + .put(Blocks.IRON_DOOR, Modblocks.EXPOSED_IRON_DOOR).put(Modblocks.EXPOSED_IRON_DOOR, Modblocks.WEATHERED_IRON_DOOR).put(Modblocks.WEATHERED_IRON_DOOR, Modblocks.OXIDIZED_IRON_DOOR) |
| 30 | + .put(Blocks.CHAIN, Modblocks.EXPOSED_IRON_CHAIN).put(Modblocks.EXPOSED_IRON_CHAIN, Modblocks.WEATHERED_IRON_CHAIN).put(Modblocks.WEATHERED_IRON_CHAIN, Modblocks.OXIDIZED_IRON_CHAIN) |
| 31 | + .put(Blocks.HEAVY_WEIGHTED_PRESSURE_PLATE, Modblocks.EXPOSED_HEAVY_WEIGHTED_PRESSURE_PLATE).put(Modblocks.EXPOSED_HEAVY_WEIGHTED_PRESSURE_PLATE, Modblocks.WEATHERED_HEAVY_WEIGHTED_PRESSURE_PLATE).put(Modblocks.WEATHERED_HEAVY_WEIGHTED_PRESSURE_PLATE, Modblocks.OXIDIZED_HEAVY_WEIGHTED_PRESSURE_PLATE) |
| 32 | + .put(Blocks.LANTERN, Modblocks.EXPOSED_LANTERN).put(Modblocks.EXPOSED_LANTERN, Modblocks.WEATHERED_LANTERN).put(Modblocks.WEATHERED_LANTERN, Modblocks.OXIDIZED_LANTERN) |
| 33 | + .put(Blocks.SOUL_LANTERN, Modblocks.EXPOSED_SOUL_LANTERN).put(Modblocks.EXPOSED_SOUL_LANTERN, Modblocks.WEATHERED_SOUL_LANTERN).put(Modblocks.WEATHERED_SOUL_LANTERN, Modblocks.OXIDIZED_SOUL_LANTERN) |
| 34 | + .build()); |
| 35 | + |
| 36 | + public static Supplier<BiMap<Block, Block>> MOD_OXIDATION_LEVEL_DECREASES = Suppliers.memoize(() -> ((BiMap)MOD_OXIDATION_LEVEL_INCREASES.get()).inverse()); |
| 37 | + |
11 | 38 | // 铁质方块氧化映射 |
| 39 | + @Deprecated |
12 | 40 | public static final Map<Block, Block> IRONBLOCK_OXIDATION_MAP = new HashMap<>(); |
13 | 41 | static { |
14 | 42 | IRONBLOCK_OXIDATION_MAP.put(Blocks.IRON_BLOCK, Modblocks.EXPOSED_IRON_BLOCK); |
15 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_BLOCK, Modblocks.WEATHERED_IRON_BLOCK); |
16 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_BLOCK, Modblocks.OXIDIZED_IRON_BLOCK); |
| 43 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_BLOCK, Modblocks.WEATHERED_IRON_BLOCK); |
| 44 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_BLOCK, Modblocks.OXIDIZED_IRON_BLOCK); |
17 | 45 |
|
18 | 46 | IRONBLOCK_OXIDATION_MAP.put(Blocks.IRON_BARS, Modblocks.EXPOSED_IRON_BARS); |
19 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_BARS, Modblocks.WEATHERED_IRON_BARS); |
20 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_BARS, Modblocks.OXIDIZED_IRON_BARS); |
| 47 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_BARS, Modblocks.WEATHERED_IRON_BARS); |
| 48 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_BARS, Modblocks.OXIDIZED_IRON_BARS); |
21 | 49 |
|
22 | 50 | IRONBLOCK_OXIDATION_MAP.put(Blocks.IRON_TRAPDOOR, Modblocks.EXPOSED_IRON_TRAPDOOR); |
23 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_TRAPDOOR, Modblocks.WEATHERED_IRON_TRAPDOOR); |
24 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_TRAPDOOR, Modblocks.OXIDIZED_IRON_TRAPDOOR); |
| 51 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_TRAPDOOR, Modblocks.WEATHERED_IRON_TRAPDOOR); |
| 52 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_TRAPDOOR, Modblocks.OXIDIZED_IRON_TRAPDOOR); |
25 | 53 |
|
26 | 54 | IRONBLOCK_OXIDATION_MAP.put(Blocks.CHAIN, Modblocks.EXPOSED_IRON_CHAIN); |
27 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_CHAIN, Modblocks.WEATHERED_IRON_CHAIN); |
28 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_CHAIN, Modblocks.OXIDIZED_IRON_CHAIN); |
| 55 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_CHAIN, Modblocks.WEATHERED_IRON_CHAIN); |
| 56 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_CHAIN, Modblocks.OXIDIZED_IRON_CHAIN); |
29 | 57 |
|
30 | 58 | IRONBLOCK_OXIDATION_MAP.put(Blocks.IRON_DOOR, Modblocks.EXPOSED_IRON_DOOR); |
31 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_DOOR, Modblocks.WEATHERED_IRON_DOOR); |
32 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_DOOR, Modblocks.OXIDIZED_IRON_DOOR); |
| 59 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_IRON_DOOR, Modblocks.WEATHERED_IRON_DOOR); |
| 60 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_IRON_DOOR, Modblocks.OXIDIZED_IRON_DOOR); |
33 | 61 |
|
34 | 62 | IRONBLOCK_OXIDATION_MAP.put(Blocks.HEAVY_WEIGHTED_PRESSURE_PLATE, Modblocks.EXPOSED_HEAVY_WEIGHTED_PRESSURE_PLATE); |
35 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_HEAVY_WEIGHTED_PRESSURE_PLATE, Modblocks.WEATHERED_HEAVY_WEIGHTED_PRESSURE_PLATE); |
36 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_HEAVY_WEIGHTED_PRESSURE_PLATE, Modblocks.OXIDIZED_HEAVY_WEIGHTED_PRESSURE_PLATE); |
| 63 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_HEAVY_WEIGHTED_PRESSURE_PLATE, Modblocks.WEATHERED_HEAVY_WEIGHTED_PRESSURE_PLATE); |
| 64 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_HEAVY_WEIGHTED_PRESSURE_PLATE, Modblocks.OXIDIZED_HEAVY_WEIGHTED_PRESSURE_PLATE); |
37 | 65 |
|
38 | 66 | /*IRONBLOCK_OXIDATION_MAP.put(Blocks.CAULDRON, Modblocks.EXPOSED_CAULDRON); |
39 | 67 | IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_CAULDRON, Modblocks.WEATHERED_CAULDRON); |
40 | 68 | IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_CAULDRON, Modblocks.OXIDIZED_CAULDRON);*/ |
41 | 69 |
|
42 | 70 | IRONBLOCK_OXIDATION_MAP.put(Blocks.LANTERN, Modblocks.EXPOSED_LANTERN); |
43 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_LANTERN, Modblocks.WEATHERED_LANTERN); |
44 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_LANTERN, Modblocks.OXIDIZED_LANTERN); |
| 71 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_LANTERN, Modblocks.WEATHERED_LANTERN); |
| 72 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_LANTERN, Modblocks.OXIDIZED_LANTERN); |
45 | 73 |
|
46 | 74 | IRONBLOCK_OXIDATION_MAP.put(Blocks.SOUL_LANTERN, Modblocks.EXPOSED_SOUL_LANTERN); |
47 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_SOUL_LANTERN, Modblocks.WEATHERED_SOUL_LANTERN); |
48 | | - IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_SOUL_LANTERN, Modblocks.OXIDIZED_SOUL_LANTERN); |
| 75 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.EXPOSED_SOUL_LANTERN, Modblocks.WEATHERED_SOUL_LANTERN); |
| 76 | + //IRONBLOCK_OXIDATION_MAP.put(Modblocks.WEATHERED_SOUL_LANTERN, Modblocks.OXIDIZED_SOUL_LANTERN); |
49 | 77 | } |
50 | 78 | // 铁质方块除锈映射 |
51 | 79 | public static final Map<Block, Block> IRONBLOCK_DEOXIDATION_MAP = new HashMap<>(); |
|
0 commit comments