|
7 | 7 | import org.spongepowered.asm.mixin.Mixin; |
8 | 8 | import org.spongepowered.asm.mixin.injection.At; |
9 | 9 | import org.spongepowered.asm.mixin.injection.Inject; |
10 | | -import org.spongepowered.asm.mixin.injection.Redirect; |
11 | 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; |
12 | 11 |
|
13 | 12 | import java.util.Optional; |
14 | 13 |
|
15 | | -@Mixin(value = Oxidizable.class, remap = false) |
| 14 | +@Mixin(value = Oxidizable.class) |
16 | 15 | public interface OxidizableMixin { |
17 | 16 |
|
18 | | - @Redirect( |
19 | | - method = "getIncreasedOxidationBlock(Lnet/minecraft/block/Block;)Ljava/util/Optional;", |
20 | | - at = @At( |
21 | | - value = "INVOKE", |
22 | | - target = "Ljava/util/Optional;ofNullable(Ljava/lang/Object;)Ljava/util/Optional;" |
23 | | - ), |
24 | | - remap = false |
| 17 | + @Inject( |
| 18 | + method = "getIncreasedOxidationBlock", |
| 19 | + at = @At("HEAD"), |
| 20 | + cancellable = true |
25 | 21 | ) |
26 | | - |
27 | | - private static Optional<Block> modifyGetIncreasedOxidationBlock(Object originalValue, Block block) { |
28 | | - return Optional.ofNullable((Block) ((BiMap) OxidizeMap.MOD_OXIDATION_LEVEL_INCREASES.get()).get(block)); |
| 22 | + private static void modifyGetIncreasedOxidationBlock(Block block, CallbackInfoReturnable<Optional<Block>> cir) { |
| 23 | + cir.setReturnValue(Optional.ofNullable((Block) ((BiMap) OxidizeMap.MOD_OXIDATION_LEVEL_INCREASES.get()).get(block))); |
| 24 | + cir.cancel(); |
29 | 25 | } |
30 | 26 |
|
31 | | - @Redirect( |
32 | | - method = "getDecreasedOxidationBlock(Lnet/minecraft/block/Block;)Ljava/util/Optional;", |
33 | | - at = @At( |
34 | | - value = "INVOKE", |
35 | | - target = "Ljava/util/Optional;ofNullable(Ljava/lang/Object;)Ljava/util/Optional;" |
36 | | - ), |
37 | | - remap = false |
| 27 | + @Inject( |
| 28 | + method = "getDecreasedOxidationBlock", |
| 29 | + at = @At("HEAD"), |
| 30 | + cancellable = true |
38 | 31 | ) |
39 | | - |
40 | | - private static Optional<Block> modifyGetDecreasedOxidationBlock(Object originalValue, Block block) { |
41 | | - return Optional.ofNullable((Block) ((BiMap) OxidizeMap.MOD_OXIDATION_LEVEL_DECREASES.get()).get(block)); |
| 32 | + private static void modifyGetDecreasedOxidationBlock(Block block, CallbackInfoReturnable<Optional<Block>> cir) { |
| 33 | + cir.setReturnValue(Optional.ofNullable((Block) ((BiMap) OxidizeMap.MOD_OXIDATION_LEVEL_DECREASES.get()).get(block))); |
| 34 | + cir.cancel(); |
42 | 35 | } |
43 | 36 |
|
44 | 37 | @Inject( |
|
0 commit comments