1
0
mirror of https://github.com/kami-blue/client synced 2025-03-25 04:38:05 +00:00

Huge optimizations to Baritone in preparation for queuing goals

This commit is contained in:
Dominika 2020-05-20 09:53:30 -04:00
parent dfe73aabc9
commit d924f5af1a
No known key found for this signature in database
GPG Key ID: B4A5A6DCA70F861F
3 changed files with 57 additions and 17 deletions

View File

@ -4,6 +4,7 @@ import me.zeroeightsix.kami.KamiMod;
import me.zeroeightsix.kami.command.Command;
import me.zeroeightsix.kami.command.commands.PeekCommand;
import me.zeroeightsix.kami.event.events.DisplaySizeChangedEvent;
import me.zeroeightsix.kami.event.events.LocalPlayerUpdateEvent;
import me.zeroeightsix.kami.gui.UIRenderer;
import me.zeroeightsix.kami.gui.kami.KamiGUI;
import me.zeroeightsix.kami.gui.rgui.component.container.use.Frame;
@ -30,6 +31,7 @@ import net.minecraft.util.FoodStats;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.GuiIngameForge;
import net.minecraftforge.client.event.*;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.event.entity.living.LivingDamageEvent;
import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent;
@ -37,6 +39,7 @@ import net.minecraftforge.event.entity.living.LivingEvent;
import net.minecraftforge.event.entity.player.AttackEntityEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.ChunkEvent;
import net.minecraftforge.fml.common.eventhandler.Event;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.InputEvent;
@ -46,6 +49,8 @@ import org.lwjgl.opengl.GL11;
import static me.zeroeightsix.kami.KamiMod.MODULE_MANAGER;
import static me.zeroeightsix.kami.util.MessageSendHelper.sendChatMessage;
import static me.zeroeightsix.kami.util.Wrapper.getPlayer;
import static me.zeroeightsix.kami.util.Wrapper.getWorld;
/**
* Created by 086 on 11/11/2017.
@ -65,8 +70,13 @@ public class ForgeEventProcessor {
@SubscribeEvent
public void onUpdate(LivingEvent.LivingUpdateEvent event) {
if (getWorld() != null && event.getEntity().getEntityWorld().isRemote && event.getEntityLiving().equals(getPlayer())) {
Event localPlayerUpdateEvent = new LocalPlayerUpdateEvent(event.getEntityLiving());
MinecraftForge.EVENT_BUS.post(localPlayerUpdateEvent);
event.setCanceled(localPlayerUpdateEvent.isCanceled());
}
if (event.isCanceled()) return;
// KamiMod.EVENT_BUS.post(new UpdateEvent());
if (Minecraft.getMinecraft().displayWidth != displayWidth || Minecraft.getMinecraft().displayHeight != displayHeight) {
KamiMod.EVENT_BUS.post(new DisplaySizeChangedEvent());

View File

@ -0,0 +1,10 @@
package me.zeroeightsix.kami.event.events;
import net.minecraft.entity.EntityLivingBase;
import net.minecraftforge.event.entity.living.LivingEvent;
public class LocalPlayerUpdateEvent extends LivingEvent {
public LocalPlayerUpdateEvent(EntityLivingBase entityLivingBase) {
super(entityLivingBase);
}
}

View File

@ -1,10 +1,12 @@
package me.zeroeightsix.kami.module.modules.client
import baritone.api.BaritoneAPI
import me.zeroeightsix.kami.event.events.LocalPlayerUpdateEvent
import me.zeroeightsix.kami.module.Module
import me.zeroeightsix.kami.setting.Setting
import me.zeroeightsix.kami.setting.Setting.SettingListeners
import me.zeroeightsix.kami.setting.Settings
import me.zeroeightsix.kami.util.MessageSendHelper
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
/**
* Created by Dewy on the 21st of April, 2020
@ -27,24 +29,42 @@ class Baritone : Module() {
private var avoidPortals = register(Settings.b("Avoid Portals", false))
private var mapArtMode = register(Settings.b("Map Art Mode", false))
private var renderGoal = register(Settings.b("Render Goals", true))
private var hasRun = register(Settings.booleanBuilder("hasRun").withValue(false).withVisibility { false }.build())
init {
allowBreak.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().allowBreak.value = allowBreak.value } }
allowSprint.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().allowSprint.value = allowSprint.value } }
allowPlace.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().allowPlace.value = allowPlace.value } }
allowInventory.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().allowInventory.value = allowInventory.value } }
freeLook.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().freeLook.value = freeLook.value } }
allowDownwardTunneling.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().allowDownward.value = allowDownwardTunneling.value } }
allowParkour.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().allowParkour.value = allowParkour.value } }
allowParkourPlace.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().allowParkourPlace.value = allowParkourPlace.value } }
avoidPortals.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().enterPortal.value = !avoidPortals.value } }
mapArtMode.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().mapArtMode.value = mapArtMode.value } }
renderGoal.settingListener = SettingListeners { mc.player?.let { BaritoneAPI.getSettings().renderGoal.value = renderGoal.value } }
}
@SubscribeEvent // this is done because on first init the settings won't change if null
fun onLocalPlayerUpdate(event: LocalPlayerUpdateEvent?) {
if (!hasRun.value) { // you can use a setting for this and only run it once because then it'll be updated in game, we're only worried about default settings
BaritoneAPI.getSettings().allowBreak.value = allowBreak.value
BaritoneAPI.getSettings().allowSprint.value = allowSprint.value
BaritoneAPI.getSettings().allowPlace.value = allowPlace.value
BaritoneAPI.getSettings().allowInventory.value = allowInventory.value
BaritoneAPI.getSettings().freeLook.value = freeLook.value
BaritoneAPI.getSettings().allowDownward.value = allowDownwardTunneling.value
BaritoneAPI.getSettings().allowParkour.value = allowParkour.value
BaritoneAPI.getSettings().allowParkourPlace.value = allowParkourPlace.value
BaritoneAPI.getSettings().enterPortal.value = !avoidPortals.value
BaritoneAPI.getSettings().mapArtMode.value = mapArtMode.value
BaritoneAPI.getSettings().renderGoal.value = renderGoal.value
hasRun.value = true
}
}
public override fun onDisable() {
MessageSendHelper.sendErrorMessage("Error: The Baritone module is for configuring Baritone integration, not toggling it.")
enable()
}
// ._.
override fun onUpdate() {
BaritoneAPI.getSettings().allowBreak.value = allowBreak.value
BaritoneAPI.getSettings().allowSprint.value = allowSprint.value
BaritoneAPI.getSettings().allowPlace.value = allowPlace.value
BaritoneAPI.getSettings().allowInventory.value = allowInventory.value
BaritoneAPI.getSettings().freeLook.value = freeLook.value
BaritoneAPI.getSettings().allowDownward.value = allowDownwardTunneling.value
BaritoneAPI.getSettings().allowParkour.value = allowParkour.value
BaritoneAPI.getSettings().allowParkourPlace.value = allowParkourPlace.value
BaritoneAPI.getSettings().enterPortal.value = !avoidPortals.value
BaritoneAPI.getSettings().mapArtMode.value = mapArtMode.value
BaritoneAPI.getSettings().renderGoal.value = renderGoal.value
}
}