This commit is contained in:
parent
4d0e4b6411
commit
0664de5de5
@ -22,7 +22,6 @@ public class MixinClientPlayNetworkHandler {
|
|||||||
@Shadow
|
@Shadow
|
||||||
private ClientWorld world;
|
private ClientWorld world;
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
|
||||||
@Inject(method = "onEntitySpawn", at = @At(value = "TAIL"))
|
@Inject(method = "onEntitySpawn", at = @At(value = "TAIL"))
|
||||||
public void onEntitySpawn(EntitySpawnS2CPacket packet, CallbackInfo info) {
|
public void onEntitySpawn(EntitySpawnS2CPacket packet, CallbackInfo info) {
|
||||||
EntityType<?> entityType = packet.getEntityTypeId();
|
EntityType<?> entityType = packet.getEntityTypeId();
|
||||||
|
@ -16,7 +16,9 @@ import java.util.Map;
|
|||||||
@Mixin(ClientPlayerEntity.class)
|
@Mixin(ClientPlayerEntity.class)
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public class MixinClientPlayerEntity extends MixinPlayerEntity {
|
public class MixinClientPlayerEntity extends MixinPlayerEntity {
|
||||||
@Shadow @Final protected MinecraftClient client;
|
@Shadow
|
||||||
|
@Final
|
||||||
|
protected MinecraftClient client;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setDiscoveredSpells(Map<Identifier, Integer> spells) {
|
public void setDiscoveredSpells(Map<Identifier, Integer> spells) {
|
||||||
|
@ -9,6 +9,7 @@ import net.minecraft.screen.ScreenHandler;
|
|||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
@ -19,23 +20,24 @@ import java.util.Map;
|
|||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
@Mixin(PlayerEntity.class)
|
@Mixin(PlayerEntity.class)
|
||||||
public class MixinPlayerEntity implements SpellPlayerEntity {
|
public class MixinPlayerEntity implements SpellPlayerEntity {
|
||||||
@Shadow public ScreenHandler currentScreenHandler;
|
@Shadow
|
||||||
// Namespace Fields
|
public ScreenHandler currentScreenHandler;
|
||||||
private Map<Identifier, Integer> sorceryCraftDiscoveredSpells = new HashMap<>();
|
@Unique
|
||||||
|
private Map<Identifier, Integer> discoveredSpells = new HashMap<>();
|
||||||
|
|
||||||
@Inject(at = @At("HEAD"), method = "readCustomDataFromTag")
|
@Inject(at = @At("HEAD"), method = "readCustomDataFromTag")
|
||||||
public void readCustomDataFromTag(CompoundTag tag, CallbackInfo info) {
|
public void readCustomDataFromTag(CompoundTag tag, CallbackInfo info) {
|
||||||
sorceryCraftDiscoveredSpells = SpellHelper.getSpells(tag);
|
discoveredSpells = SpellHelper.getSpells(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(at = @At("HEAD"), method = "writeCustomDataToTag")
|
@Inject(at = @At("HEAD"), method = "writeCustomDataToTag")
|
||||||
public void writeCustomDataToTag(CompoundTag tag, CallbackInfo info) {
|
public void writeCustomDataToTag(CompoundTag tag, CallbackInfo info) {
|
||||||
tag.put(SpellHelper.SPELL_TAG, SpellHelper.createSpellsTag(sorceryCraftDiscoveredSpells));
|
tag.put(SpellHelper.SPELL_TAG, SpellHelper.createSpellsTag(discoveredSpells));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setDiscoveredSpells(Map<Identifier, Integer> spells) {
|
public void setDiscoveredSpells(Map<Identifier, Integer> spells) {
|
||||||
this.sorceryCraftDiscoveredSpells = spells;
|
discoveredSpells = spells;
|
||||||
if (currentScreenHandler instanceof CastingTableScreenHandler) {
|
if (currentScreenHandler instanceof CastingTableScreenHandler) {
|
||||||
//noinspection ConstantConditions
|
//noinspection ConstantConditions
|
||||||
((CastingTableScreenHandler) currentScreenHandler).setSpells((PlayerEntity) (Object) this);
|
((CastingTableScreenHandler) currentScreenHandler).setSpells((PlayerEntity) (Object) this);
|
||||||
@ -44,6 +46,6 @@ public class MixinPlayerEntity implements SpellPlayerEntity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Identifier, Integer> getDiscoveredSpells() {
|
public Map<Identifier, Integer> getDiscoveredSpells() {
|
||||||
return sorceryCraftDiscoveredSpells;
|
return discoveredSpells;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user