Skip to content

Commit

Permalink
Merge pull request #3 from AV306/FastBreak-DEV
Browse files Browse the repository at this point in the history
not fastbreak anymore
  • Loading branch information
AV306 committed May 12, 2022
2 parents 5a5ccc1 + 313ff1c commit d980ebd
Show file tree
Hide file tree
Showing 28 changed files with 295 additions and 117 deletions.
1 change: 1 addition & 0 deletions src/main/java/me/av306/xenon/Xenon.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ public void initialise()
new ConfigMenu();
//new Debugger();
new TimerFeature();
new ProximityRadarFeature();
}


Expand Down
4 changes: 3 additions & 1 deletion src/main/java/me/av306/xenon/config/FeatureConfigGroup.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import me.av306.xenon.config.feature.*;
import me.lortseam.completeconfig.api.*;
import net.minecraft.client.render.entity.feature.TridentRiptideFeatureRenderer;

@ConfigEntries
public class FeatureConfigGroup implements XenonConfigGroup
Expand All @@ -21,4 +20,7 @@ public class FeatureConfigGroup implements XenonConfigGroup

@Transitive
private final TimerGroup timer = new TimerGroup();

@Transitive
private final ProximityRadarGroup proximityRadarGroup = new ProximityRadarGroup();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package me.av306.xenon.config.feature;

import me.av306.xenon.config.XenonConfigGroup;
import me.lortseam.completeconfig.api.ConfigEntries;
import me.lortseam.completeconfig.api.ConfigEntry;

@ConfigEntries
public class ProximityRadarGroup implements XenonConfigGroup
{
@ConfigEntry.BoundedInteger( min = 1, max = 100 )
public static int range = 3;

@ConfigEntry.BoundedInteger( min = 1, max = 100 )
@ConfigEntry.Slider
public static int interval = 5;
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
package me.av306.xenon.event.callback;
package me.av306.xenon.event;

import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.ActionResult;

public interface RenderTickCounterBeginRenderTickCallback
public interface BeginRenderTickEvent
{
Event<RenderTickCounterBeginRenderTickCallback> EVENT = EventFactory.createArrayBacked(
RenderTickCounterBeginRenderTickCallback.class,
Event<BeginRenderTickEvent> EVENT = EventFactory.createArrayBacked(
BeginRenderTickEvent.class,
(listeners) -> (timeMillis) ->
{
for ( RenderTickCounterBeginRenderTickCallback listener : listeners )
for ( BeginRenderTickEvent listener : listeners )
{
ActionResult result = listener.interact( timeMillis );

Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package me.av306.xenon.event.callback;
package me.av306.xenon.event;

import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.text.Text;
import net.minecraft.util.ActionResult;

public interface ChatHudAddMessageCallback
public interface ChatHudAddMessageEvent
{
Event<ChatHudAddMessageCallback> EVENT = EventFactory.createArrayBacked(
ChatHudAddMessageCallback.class,
Event<ChatHudAddMessageEvent> EVENT = EventFactory.createArrayBacked(
ChatHudAddMessageEvent.class,
(listeners) -> (message) ->
{
for ( ChatHudAddMessageCallback listener : listeners )
for ( ChatHudAddMessageEvent listener : listeners )
{
ActionResult result = listener.interact( message );

Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
package me.av306.xenon.event.callback;
package me.av306.xenon.event;

import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.ActionResult;

public interface KeyboardKeyCallback
public interface KeyEvent
{
Event<KeyboardKeyCallback> EVENT = EventFactory.createArrayBacked(
KeyboardKeyCallback.class,
Event<KeyEvent> EVENT = EventFactory.createArrayBacked(
KeyEvent.class,
(listeners) -> (window, key, scancode, action, modifiers) ->
{
for ( KeyboardKeyCallback listener : listeners )
for ( KeyEvent listener : listeners )
{
ActionResult result = listener.interact( window, key, scancode, action, modifiers );

Expand Down
27 changes: 27 additions & 0 deletions src/main/java/me/av306/xenon/event/PlayerDamageBlockEvent.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package me.av306.xenon.event;

import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.util.ActionResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;

public interface PlayerDamageBlockEvent
{
Event<PlayerDamageBlockEvent> EVENT = EventFactory.createArrayBacked(
PlayerDamageBlockEvent.class,
(listeners) -> (pos, direction) ->
{
for ( PlayerDamageBlockEvent listener : listeners )
{
ActionResult result = listener.interact( pos, direction );

if ( result != ActionResult.PASS ) return result;
}

return ActionResult.PASS;
}
);

ActionResult interact( BlockPos pos, Direction direction );
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package me.av306.xenon.event.callback;
package me.av306.xenon.event;

import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
Expand All @@ -16,14 +16,14 @@
* default to SUCCESS when there are no other listeners.
* - FAIL: Cancel the event.
*/
public interface InGameOverlayRendererRenderFireOverlayCallback
public interface RenderFireOverlayEvent
{
Event<InGameOverlayRendererRenderFireOverlayCallback> EVENT = EventFactory.createArrayBacked(
InGameOverlayRendererRenderFireOverlayCallback.class,
Event<RenderFireOverlayEvent> EVENT = EventFactory.createArrayBacked(
RenderFireOverlayEvent.class,
(listeners) -> (client, matrices) ->
{
// iterate over each listener
for ( InGameOverlayRendererRenderFireOverlayCallback listener : listeners )
for ( RenderFireOverlayEvent listener : listeners )
{
// let the listener interact with the event
ActionResult result = listener.interact( client, matrices );
Expand Down
41 changes: 41 additions & 0 deletions src/main/java/me/av306/xenon/event/RenderInGameHudEvent.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package me.av306.xenon.event;

import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.ActionResult;

public interface RenderInGameHudEvent
{
Event<RenderInGameHudEvent> HEAD = EventFactory.createArrayBacked(
RenderInGameHudEvent.class,
(listeners) -> (matrices, tickDelta) ->
{
for ( RenderInGameHudEvent listener : listeners )
{
ActionResult result = listener.interact( matrices, tickDelta );

if ( result != ActionResult.PASS ) return result;
}

return ActionResult.PASS;
}
);

Event<RenderInGameHudEvent> AFTER_VIGNETTE = EventFactory.createArrayBacked(
RenderInGameHudEvent.class,
(listeners) -> (matrices, tickDelta) ->
{
for ( RenderInGameHudEvent listener : listeners )
{
ActionResult result = listener.interact( matrices, tickDelta );

if ( result != ActionResult.PASS ) return result;
}

return ActionResult.PASS;
}
);

ActionResult interact( MatrixStack matrices, float tickDelta );
}

This file was deleted.

5 changes: 1 addition & 4 deletions src/main/java/me/av306/xenon/feature/IFeature.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
package me.av306.xenon.feature;

import me.av306.xenon.Xenon;
import me.av306.xenon.event.callback.KeyboardKeyCallback;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.util.InputUtil;
import net.minecraft.util.ActionResult;
import org.lwjgl.glfw.GLFW;

import java.util.Objects;
Expand Down Expand Up @@ -44,7 +41,7 @@ protected IFeature( String name, int key )
"category.xenon.features"
); // don't construct statically because name might not have been set

//KeyboardKeyCallback.EVENT.register( this::onKeyboardKey );
//KeyEvent.AFTER_VIGNETTE.register( this::onKeyboardKey );

// register our keybind
KeyBindingHelper.registerKeyBinding( this.keyBinding );
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*package me.av306.xenon.features;
import me.av306.xenon.event.callback.ChatHudAddMessageCallback;
import me.av306.xenon.event.ChatHudAddMessageEvent;
import me.av306.xenon.feature.IToggleableFeature;
import net.minecraft.text.Text;
import net.minecraft.util.ActionResult;
Expand All @@ -10,7 +10,7 @@ public class CommandProcessorFeature extends IToggleableFeature
public CommandProcessorFeature()
{
super( "CommandProcessor" );
ChatHudAddMessageCallback.EVENT.register( this::onChatHudAddMessage );
ChatHudAddMessageEvent.AFTER_VIGNETTE.register( this::onChatHudAddMessage );
}
private ActionResult onChatHudAddMessage( Text message )
Expand Down
8 changes: 1 addition & 7 deletions src/main/java/me/av306/xenon/features/ConfigMenu.java
Original file line number Diff line number Diff line change
@@ -1,26 +1,20 @@
package me.av306.xenon.features;

import me.av306.xenon.Xenon;
import me.av306.xenon.event.callback.KeyboardKeyCallback;
import me.av306.xenon.feature.IFeature;
import me.lortseam.completeconfig.data.Config;
import me.lortseam.completeconfig.gui.ConfigScreenBuilder;
import me.lortseam.completeconfig.gui.cloth.ClothConfigScreenBuilder;
import me.shedaniel.clothconfig2.api.ConfigBuilder;
import net.fabricmc.fabric.mixin.screen.ScreenAccessor;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.util.ActionResult;
import org.lwjgl.glfw.GLFW;

import java.util.function.Consumer;

public class ConfigMenu extends IFeature
{
public ConfigMenu()
{
super( "ConfigMenu" );

//KeyboardKeyCallback.EVENT.register( this::onKey );
//KeyEvent.AFTER_VIGNETTE.register( this::onKey );
}

protected ActionResult onKey( long window, int key, int scanCode, int action, int modifiers )
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/me/av306/xenon/features/DataHudFeature.java
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
package me.av306.xenon.features;

import me.av306.xenon.Xenon;
import me.av306.xenon.event.callback.InGameHudRenderCallback;
import me.av306.xenon.event.RenderInGameHudEvent;
import me.av306.xenon.feature.IToggleableFeature;
import me.av306.xenon.util.ScreenPosition;
import me.av306.xenon.util.color.ColorUtil;
import me.av306.xenon.util.text.TextUtil;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.LiteralText;
import net.minecraft.util.ActionResult;
import org.lwjgl.opengl.GL11;

public class DataHudFeature extends IToggleableFeature
{
public DataHudFeature()
{
super( "DataHUD" );

InGameHudRenderCallback.EVENT.register( this::onInGameHudRender );
RenderInGameHudEvent.AFTER_VIGNETTE.register( this::onInGameHudRender );
}

private ActionResult onInGameHudRender( MatrixStack matrixStack, float tickDelta )
Expand Down
7 changes: 1 addition & 6 deletions src/main/java/me/av306/xenon/features/Debugger.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
package me.av306.xenon.features;

import me.av306.xenon.Xenon;
import me.av306.xenon.event.callback.KeyboardKeyCallback;
import me.av306.xenon.feature.IFeature;
import net.minecraft.text.LiteralText;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.ActionResult;
import org.lwjgl.glfw.GLFW;

public class Debugger extends IFeature
Expand All @@ -14,7 +9,7 @@ public Debugger()
{

super( "Debugger", GLFW.GLFW_KEY_BACKSLASH );
//KeyboardKeyCallback.EVENT.register( this::onKeyboardKey );
//KeyEvent.AFTER_VIGNETTE.register( this::onKeyboardKey );
}

@Override
Expand Down
45 changes: 45 additions & 0 deletions src/main/java/me/av306/xenon/features/FastBreakFeature.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package me.av306.xenon.features;

import me.av306.xenon.Xenon;
import me.av306.xenon.feature.IToggleableFeature;
import me.av306.xenon.mixin.ClientPlayerInteractionManagerAccessor;
import net.minecraft.client.network.ClientPlayerInteractionManager;
import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket;
import net.minecraft.util.ActionResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;

// FIXME: too complex, won;t work
public class FastBreakFeature extends IToggleableFeature
{
protected FastBreakFeature()
{
super( "FastBreak" );
}

private ActionResult onUpdateBlockBreakingProgress( BlockPos pos, Direction dir )
{
// TODO: Add CPIM onDamageBlock event, hook to that, and set the cooldown to 0 and send the following packer
ClientPlayerInteractionManager im = Xenon.INSTANCE.client.interactionManager;

if( ((ClientPlayerInteractionManagerAccessor) im).getCurrentBreakingProgress() >= 1 )
return ActionResult.PASS;

PlayerActionC2SPacket.Action action = PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK;
BlockPos blockPos = pos;
Direction direction = dir;
//im.sendPlayerActionC2SPacket(action, blockPos, direction);
return ActionResult.PASS;
}

@Override
protected void onEnable()
{
}

@Override
protected void onDisable()
{

}
}
Loading

0 comments on commit d980ebd

Please sign in to comment.