|
5 | 5 | import com.llamalad7.mixinextras.injector.wrapoperation.Operation; |
6 | 6 | import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; |
7 | 7 | import io.github.notstirred.dasm.api.annotations.Dasm; |
| 8 | +import io.github.notstirred.dasm.api.annotations.redirect.redirects.AddMethodToSets; |
8 | 9 | import io.github.notstirred.dasm.api.annotations.redirect.redirects.AddTransformToSets; |
9 | 10 | import io.github.notstirred.dasm.api.annotations.selector.MethodSig; |
| 11 | +import io.github.notstirred.dasm.api.annotations.selector.Ref; |
10 | 12 | import io.github.notstirred.dasm.api.annotations.transform.TransformFromMethod; |
11 | 13 | import io.github.opencubicchunks.cc_core.annotation.UsedFromASM; |
| 14 | +import io.github.opencubicchunks.cc_core.api.CubePos; |
12 | 15 | import io.github.opencubicchunks.cc_core.world.level.CloPos; |
13 | 16 | import io.github.opencubicchunks.cubicchunks.MarkableAsCubic; |
14 | 17 | import io.github.opencubicchunks.cubicchunks.mixin.dasmsets.ChunkToCloSet; |
| 18 | +import io.github.opencubicchunks.cubicchunks.mixin.dasmsets.ChunkToCubeSet; |
15 | 19 | import io.github.opencubicchunks.cubicchunks.mixin.dasmsets.GlobalSet; |
16 | 20 | import io.github.opencubicchunks.cubicchunks.server.level.CubicDistanceManager; |
17 | 21 | import io.github.opencubicchunks.cubicchunks.server.level.CubicTicketType; |
@@ -72,38 +76,81 @@ public void cc_setCubic() { |
72 | 76 |
|
73 | 77 | @Override |
74 | 78 | @UsedFromASM |
75 | | - @AddTransformToSets(GlobalSet.class) @TransformFromMethod(@MethodSig("addTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
| 79 | + @AddTransformToSets(ChunkToCloSet.class) @TransformFromMethod(@MethodSig("addTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
76 | 80 | public abstract <T> void cc_addTicket(TicketType<T> type, CloPos pos, int level, T value); |
77 | 81 |
|
78 | 82 | @Override |
79 | 83 | @UsedFromASM |
80 | | - @AddTransformToSets(GlobalSet.class) @TransformFromMethod(@MethodSig("removeTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
| 84 | + @AddTransformToSets(ChunkToCloSet.class) @TransformFromMethod(@MethodSig("removeTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
81 | 85 | public abstract <T> void cc_removeTicket(TicketType<T> type, CloPos pos, int level, T value); |
82 | 86 |
|
83 | 87 | @Override |
84 | 88 | @UsedFromASM |
85 | | - @AddTransformToSets(GlobalSet.class) @TransformFromMethod(@MethodSig("addRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
| 89 | + @AddTransformToSets(ChunkToCloSet.class) @TransformFromMethod(@MethodSig("addRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
86 | 90 | public abstract <T> void cc_addRegionTicket(TicketType<T> type, CloPos pos, int distance, T value); |
87 | 91 |
|
88 | 92 | @Override |
89 | 93 | @UsedFromASM |
90 | | - @AddTransformToSets(GlobalSet.class) @TransformFromMethod(@MethodSig("addRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;Z)V")) |
| 94 | + @AddTransformToSets(ChunkToCloSet.class) @TransformFromMethod(@MethodSig("addRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;Z)V")) |
91 | 95 | public abstract <T> void cc_addRegionTicket(TicketType<T> type, CloPos pos, int distance, T value, boolean forceTicks); |
92 | 96 |
|
93 | 97 | @Override |
94 | 98 | @UsedFromASM |
95 | | - @AddTransformToSets(GlobalSet.class) @TransformFromMethod(@MethodSig("removeRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
| 99 | + @AddTransformToSets(ChunkToCloSet.class) @TransformFromMethod(@MethodSig("removeRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
96 | 100 | public abstract <T> void cc_removeRegionTicket(TicketType<T> type, CloPos pos, int distance, T value); |
97 | 101 |
|
98 | 102 | @Override |
99 | 103 | @UsedFromASM |
100 | | - @AddTransformToSets(GlobalSet.class) @TransformFromMethod(@MethodSig("removeRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;Z)V")) |
| 104 | + @AddTransformToSets(ChunkToCloSet.class) @TransformFromMethod(@MethodSig("removeRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;Z)V")) |
101 | 105 | public abstract <T> void cc_removeRegionTicket(TicketType<T> type, CloPos pos, int distance, T value, boolean forceTicks); |
102 | 106 |
|
103 | 107 | @UsedFromASM |
104 | | - @AddTransformToSets(GlobalSet.class) @TransformFromMethod(@MethodSig("updateChunkForced(Lnet/minecraft/world/level/ChunkPos;Z)V")) |
| 108 | + @AddTransformToSets(ChunkToCloSet.class) @TransformFromMethod(@MethodSig("updateChunkForced(Lnet/minecraft/world/level/ChunkPos;Z)V")) |
105 | 109 | public abstract void cc_updateCubeForced(CloPos pos, boolean add); |
106 | 110 |
|
| 111 | + // CubePos equivalents that delegate to their corresponding CloPos method |
| 112 | + @UsedFromASM |
| 113 | + @AddMethodToSets(sets = ChunkToCubeSet.class, owner = @Ref(DistanceManager.class), method = @MethodSig("addTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
| 114 | + public <T> void cc_addTicket(TicketType<T> type, CubePos pos, int level, T value) { |
| 115 | + cc_addTicket(type, CloPos.cube(pos), level, value); |
| 116 | + } |
| 117 | + |
| 118 | + @UsedFromASM |
| 119 | + @AddMethodToSets(sets = ChunkToCubeSet.class, owner = @Ref(DistanceManager.class), method = @MethodSig("removeTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
| 120 | + public <T> void cc_removeTicket(TicketType<T> type, CubePos pos, int level, T value) { |
| 121 | + cc_removeTicket(type, CloPos.cube(pos), level, value); |
| 122 | + } |
| 123 | + |
| 124 | + @UsedFromASM |
| 125 | + @AddMethodToSets(sets = ChunkToCubeSet.class, owner = @Ref(DistanceManager.class), method = @MethodSig("addRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
| 126 | + public <T> void cc_addRegionTicket(TicketType<T> type, CubePos pos, int distance, T value) { |
| 127 | + cc_addRegionTicket(type, CloPos.cube(pos), distance, value); |
| 128 | + } |
| 129 | + |
| 130 | + @UsedFromASM |
| 131 | + @AddMethodToSets(sets = ChunkToCubeSet.class, owner = @Ref(DistanceManager.class), method = @MethodSig("addRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;Z)V")) |
| 132 | + public <T> void cc_addRegionTicket(TicketType<T> type, CubePos pos, int distance, T value, boolean forceTicks) { |
| 133 | + cc_addRegionTicket(type, CloPos.cube(pos), distance, value, forceTicks); |
| 134 | + } |
| 135 | + |
| 136 | + @UsedFromASM |
| 137 | + @AddMethodToSets(sets = ChunkToCubeSet.class, owner = @Ref(DistanceManager.class), method = @MethodSig("removeRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;)V")) |
| 138 | + public <T> void cc_removeRegionTicket(TicketType<T> type, CubePos pos, int distance, T value) { |
| 139 | + cc_removeRegionTicket(type, CloPos.cube(pos), distance, value); |
| 140 | + } |
| 141 | + |
| 142 | + @UsedFromASM |
| 143 | + @AddMethodToSets(sets = ChunkToCubeSet.class, owner = @Ref(DistanceManager.class), method = @MethodSig("removeRegionTicket(Lnet/minecraft/server/level/TicketType;Lnet/minecraft/world/level/ChunkPos;ILjava/lang/Object;Z)V")) |
| 144 | + public <T> void cc_removeRegionTicket(TicketType<T> type, CubePos pos, int distance, T value, boolean forceTicks) { |
| 145 | + cc_removeRegionTicket(type, CloPos.cube(pos), distance, value, forceTicks); |
| 146 | + } |
| 147 | + |
| 148 | + @UsedFromASM |
| 149 | + @AddMethodToSets(sets = ChunkToCubeSet.class, owner = @Ref(DistanceManager.class), method = @MethodSig("updateChunkForced(Lnet/minecraft/world/level/ChunkPos;Z)V")) |
| 150 | + public void cc_updateCubeForced(CubePos pos, boolean add) { |
| 151 | + cc_updateCubeForced(CloPos.cube(pos), add); |
| 152 | + } |
| 153 | + |
107 | 154 | /** |
108 | 155 | * This function replaces a TicketType with a CubicTicketType. |
109 | 156 | */ |
|
0 commit comments