Fix Casting Table Bug
This commit is contained in:
parent
acf08c7fa6
commit
3b91e3daf8
@ -1,5 +1,8 @@
|
||||
# Changelog
|
||||
|
||||
**1.2.5**
|
||||
* Fix Casting Table Bug
|
||||
|
||||
**1.2.4**
|
||||
* Optimize Packets
|
||||
* Allow Command Blocks to use ```/spell``` Command
|
||||
|
@ -10,7 +10,7 @@ org.gradle.jvmargs = -Xmx1G
|
||||
fabric_loader_version = 0.7.8+build.189
|
||||
|
||||
# Mod Properties
|
||||
mod_version = 1.2.4
|
||||
mod_version = 1.2.5
|
||||
maven_group = com.thebrokenrail
|
||||
archives_base_name = sorcerycraft
|
||||
|
||||
|
@ -5,8 +5,12 @@ import com.thebrokenrail.sorcerycraft.SorceryCraft;
|
||||
import io.github.prospector.modmenu.api.ConfigScreenFactory;
|
||||
import io.github.prospector.modmenu.api.ModMenuApi;
|
||||
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class ModMenu implements ModMenuApi {
|
||||
@Override
|
||||
public String getModId() {
|
||||
|
@ -11,6 +11,8 @@ import me.sargunvohra.mcmods.autoconfig1u.gui.registry.GuiRegistry;
|
||||
import me.sargunvohra.mcmods.autoconfig1u.util.Utils;
|
||||
import me.shedaniel.clothconfig2.api.ConfigEntryBuilder;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry;
|
||||
import net.fabricmc.fabric.api.client.screen.ScreenProviderRegistry;
|
||||
import net.fabricmc.fabric.impl.networking.ClientSidePacketRegistryImpl;
|
||||
@ -21,6 +23,8 @@ import net.minecraft.util.math.MathHelper;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class SorceryCraftClient implements ClientModInitializer {
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.thebrokenrail.sorcerycraft.mixin;
|
||||
|
||||
import com.thebrokenrail.sorcerycraft.gui.CastingTableScreenHandler;
|
||||
import com.thebrokenrail.sorcerycraft.spell.util.SpellHelper;
|
||||
import com.thebrokenrail.sorcerycraft.spell.util.SpellPlayerEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
@ -35,6 +36,10 @@ public class MixinPlayerEntity implements SpellPlayerEntity {
|
||||
@Override
|
||||
public void setDiscoveredSpells(Map<Identifier, Integer> spells) {
|
||||
this.sorceryCraftDiscoveredSpells = spells;
|
||||
if (currentScreenHandler instanceof CastingTableScreenHandler) {
|
||||
//noinspection ConstantConditions
|
||||
((CastingTableScreenHandler) currentScreenHandler).setSpells((PlayerEntity) (Object) this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -30,8 +30,10 @@ public abstract class MixinServerPlayerEntity extends MixinPlayerEntity implemen
|
||||
@Override
|
||||
public void setDiscoveredSpells(Map<Identifier, Integer> spells) {
|
||||
super.setDiscoveredSpells(spells);
|
||||
if (currentScreenHandler instanceof CastingTableScreenHandler) {
|
||||
sync();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sync() {
|
||||
@ -39,10 +41,5 @@ public abstract class MixinServerPlayerEntity extends MixinPlayerEntity implemen
|
||||
tag.put(SpellHelper.SPELL_TAG, SpellHelper.createSpellsTag(getDiscoveredSpells()));
|
||||
//noinspection ConstantConditions
|
||||
UpdateKnownSpellsS2CPacket.send((ServerPlayerEntity) (Object) this, tag);
|
||||
|
||||
if (currentScreenHandler instanceof CastingTableScreenHandler) {
|
||||
//noinspection ConstantConditions
|
||||
((CastingTableScreenHandler) currentScreenHandler).setSpells((PlayerEntity) (Object) this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
package com.thebrokenrail.sorcerycraft.packet;
|
||||
|
||||
import com.thebrokenrail.sorcerycraft.SorceryCraft;
|
||||
import com.thebrokenrail.sorcerycraft.gui.CastingTableScreenHandler;
|
||||
import com.thebrokenrail.sorcerycraft.spell.util.SpellPlayerEntity;
|
||||
import com.thebrokenrail.sorcerycraft.spell.util.SpellHelper;
|
||||
import io.netty.buffer.Unpooled;
|
||||
@ -18,9 +17,6 @@ public class UpdateKnownSpellsS2CPacket {
|
||||
if (context.getPlayer() != null) {
|
||||
SpellPlayerEntity spellPlayer = (SpellPlayerEntity) context.getPlayer();
|
||||
spellPlayer.setDiscoveredSpells(SpellHelper.getSpells(tag));
|
||||
if (context.getPlayer().currentScreenHandler instanceof CastingTableScreenHandler) {
|
||||
((CastingTableScreenHandler) context.getPlayer().currentScreenHandler).setSpells(context.getPlayer());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user