some restructuring

This commit is contained in:
GiantLuigi4 2023-11-11 00:06:56 -05:00
parent a4b4162fa9
commit 074cedc85c
78 changed files with 195 additions and 153 deletions

View File

@ -21,6 +21,11 @@ import net.montoyo.wd.core.JSServerRequest;
import net.montoyo.wd.data.GuiData;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.data.Rotation;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import javax.annotation.Nonnull;
import java.util.UUID;

View File

@ -51,7 +51,7 @@ import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.client_bound.S2CMessageServerInfo;
import net.montoyo.wd.utilities.DistSafety;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
import java.io.*;
import java.net.MalformedURLException;

View File

@ -27,8 +27,8 @@ import net.montoyo.wd.entity.KeyboardBlockEntity;
import net.montoyo.wd.item.ItemLinker;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.client_bound.S2CMessageCloseGui;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.math.Vector3i;
import org.jetbrains.annotations.NotNull;
import static net.montoyo.wd.block.KeyboardBlockLeft.KEYBOARD_AABBS;

View File

@ -35,6 +35,11 @@ import net.montoyo.wd.data.SetURLData;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.item.ItemLaserPointer;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3f;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.serialization.Util;
import org.jetbrains.annotations.NotNull;
public class ScreenBlock extends BaseEntityBlock {

View File

@ -75,6 +75,11 @@ import net.montoyo.wd.miniserv.client.Client;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.server_bound.C2SMessageMinepadUrl;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.data.Rotation;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import org.cef.CefSettings;
import org.cef.browser.CefBrowser;
import org.cef.browser.CefFrame;

View File

@ -8,7 +8,7 @@ import net.montoyo.wd.miniserv.Constants;
import net.montoyo.wd.miniserv.client.Client;
import net.montoyo.wd.miniserv.client.ClientTaskGetFile;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
import org.cef.callback.CefCallback;
import org.cef.handler.CefResourceHandler;
import org.cef.misc.IntRef;

View File

@ -20,10 +20,10 @@ import net.montoyo.wd.client.gui.loading.FillControl;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.server_bound.C2SMessageScreenCtrl;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.TypeData;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.TypeData;
import net.montoyo.wd.utilities.serialization.Util;
import org.lwjgl.glfw.GLFW;
import org.vivecraft.client_vr.gameplay.VRPlayer;
import org.vivecraft.client_vr.gameplay.screenhandlers.KeyboardHandler;

View File

@ -4,7 +4,6 @@
package net.montoyo.wd.client.gui;
import com.cinemamod.mcef.MCEF;
import com.cinemamod.mcef.MCEFBrowser;
import com.mojang.blaze3d.platform.InputConstants;
import com.mojang.blaze3d.systems.RenderSystem;
@ -16,8 +15,7 @@ import net.minecraft.network.chat.Component;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.client.ClientProxy;
import net.montoyo.wd.utilities.BlockSide;
import org.cef.browser.CefBrowserOsr;
import net.montoyo.wd.utilities.data.BlockSide;
import org.cef.misc.CefCursorType;
import org.lwjgl.glfw.GLFW;

View File

@ -7,16 +7,11 @@ package net.montoyo.wd.client.gui;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.client.ClientProxy;
import net.montoyo.wd.client.gui.controls.Button;
import net.montoyo.wd.client.gui.controls.TextField;
import net.montoyo.wd.client.gui.loading.FillControl;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.server_bound.C2SMessageRedstoneCtrl;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.math.Vector3i;
import javax.annotation.Nullable;

View File

@ -20,6 +20,10 @@ import net.montoyo.wd.item.WDItem;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.server_bound.C2SMessageScreenCtrl;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.data.Rotation;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import org.lwjgl.glfw.GLFW;
import javax.annotation.Nullable;

View File

@ -23,9 +23,11 @@ import net.montoyo.wd.miniserv.Constants;
import net.montoyo.wd.miniserv.client.*;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import net.montoyo.wd.utilities.serialization.Util;
import org.lwjgl.glfw.GLFW;
import org.lwjgl.opengl.GL;
import org.lwjgl.opengl.GL11;
import javax.annotation.Nullable;
import javax.swing.filechooser.FileSystemView;

View File

@ -20,9 +20,9 @@ import net.montoyo.wd.item.ItemMinePad2;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.server_bound.C2SMessageMinepadUrl;
import net.montoyo.wd.net.server_bound.C2SMessageScreenCtrl;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.serialization.Util;
import net.montoyo.wd.utilities.math.Vector3i;
import java.io.IOException;
import java.util.Map;

View File

@ -8,7 +8,6 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.screens.Screen;
@ -27,6 +26,10 @@ import net.montoyo.wd.client.gui.loading.JsonOWrapper;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.server_bound.C2SMessageACQuery;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.data.Bounds;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import javax.annotation.Nullable;
import java.io.IOException;

View File

@ -14,20 +14,18 @@ import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.renderer.GameRenderer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.ShaderInstance;
import net.minecraft.client.resources.language.I18n;
import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.montoyo.wd.client.gui.WDScreen;
import net.montoyo.wd.client.gui.loading.JsonOWrapper;
import net.montoyo.wd.utilities.Bounds;
import net.montoyo.wd.utilities.data.Bounds;
import org.joml.Matrix4f;
import java.util.Arrays;
import static com.mojang.math.Axis.XP;
import static org.lwjgl.opengl.GL11.*;
@OnlyIn(Dist.CLIENT)
public abstract class Control {

View File

@ -7,18 +7,14 @@ package net.montoyo.wd.client.gui.controls;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexFormat;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.montoyo.wd.client.gui.loading.JsonOWrapper;
import net.montoyo.wd.utilities.Bounds;
import org.lwjgl.opengl.GL11;
import net.montoyo.wd.utilities.data.Bounds;
import java.util.Arrays;
import static org.lwjgl.opengl.GL11.*;
public class ControlGroup extends Container {
private int width;

View File

@ -6,7 +6,7 @@ package net.montoyo.wd.client.gui.controls;
import net.minecraft.network.chat.Component;
import net.montoyo.wd.client.gui.loading.JsonOWrapper;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
import net.montoyo.wd.utilities.VideoType;
import java.net.MalformedURLException;

View File

@ -19,9 +19,9 @@ import net.minecraft.world.level.BlockAndTintGetter;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.client.model.data.ModelData;
import net.minecraftforge.client.model.data.ModelProperty;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.Vector3f;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.math.Vector3f;
import net.montoyo.wd.utilities.math.Vector3i;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

View File

@ -12,8 +12,8 @@ import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.Vector3f;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.math.Vector3f;
import net.montoyo.wd.utilities.math.Vector3i;
import org.jetbrains.annotations.NotNull;
import static com.mojang.math.Axis.*;

View File

@ -9,7 +9,7 @@ import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.network.NetworkEvent;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import java.util.Objects;
import java.util.function.Function;

View File

@ -9,7 +9,7 @@ import net.minecraftforge.fml.loading.FMLEnvironment;
import net.minecraftforge.network.NetworkEvent;
import net.montoyo.wd.controls.builtin.*;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.Log;
import java.lang.reflect.Method;

View File

@ -10,7 +10,7 @@ import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import java.util.function.Function;

View File

@ -9,8 +9,8 @@ import net.minecraftforge.network.NetworkEvent;
import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.Vector2i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.math.Vector2i;
import java.util.function.Function;

View File

@ -11,7 +11,7 @@ import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.JSServerRequest;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import java.util.function.Function;

View File

@ -10,7 +10,7 @@ import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import java.util.function.Function;

View File

@ -10,8 +10,8 @@ import net.minecraftforge.network.NetworkEvent;
import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.Vector2i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.math.Vector2i;
import java.util.function.Function;

View File

@ -12,7 +12,7 @@ import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import java.util.function.Function;

View File

@ -11,8 +11,8 @@ import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.NameUUIDPair;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import java.util.function.Function;

View File

@ -9,8 +9,8 @@ import net.minecraftforge.network.NetworkEvent;
import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.NameUUIDPair;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import java.util.function.Function;

View File

@ -10,9 +10,9 @@ import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.Rotation;
import net.montoyo.wd.utilities.Vector2i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.data.Rotation;
import net.montoyo.wd.utilities.math.Vector2i;
import java.util.function.Function;

View File

@ -10,8 +10,8 @@ import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.math.Vector3i;
import java.util.function.Function;

View File

@ -10,7 +10,7 @@ import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.controls.ScreenControl;
import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import java.util.function.Function;

View File

@ -7,8 +7,8 @@ package net.montoyo.wd.core;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.math.Vector3i;
public interface IPeripheral {
boolean connect(Level world, BlockPos blockPos, BlockState blockState, Vector3i screenPos, BlockSide screenSide);

View File

@ -6,7 +6,7 @@
//
//import net.montoyo.mcef.api.IJSQueryCallback;
//import net.montoyo.wd.entity.TileEntityScreen;
//import net.montoyo.wd.utilities.BlockSide;
//import net.montoyo.wd.utilities.orientation.BlockSide;
//
//import javax.annotation.Nonnull;
//

View File

@ -7,7 +7,7 @@ package net.montoyo.wd.core;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

View File

@ -5,7 +5,7 @@
package net.montoyo.wd.core;
import net.minecraft.network.FriendlyByteBuf;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
public enum JSServerRequest {
CLEAR_REDSTONE,

View File

@ -13,9 +13,9 @@ import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.montoyo.wd.client.gui.GuiKeyboard;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.math.Vector3i;
public class KeyboardData extends GuiData {
public Vector3i pos;

View File

@ -13,7 +13,7 @@ import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.montoyo.wd.client.gui.GuiRedstoneCtrl;
import net.montoyo.wd.net.BufferUtils;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.math.Vector3i;
public class RedstoneCtrlData extends GuiData {
public ResourceLocation dimension;

View File

@ -17,10 +17,10 @@ import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.net.BufferUtils;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.client_bound.S2CMessageOpenGui;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.NameUUIDPair;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import net.montoyo.wd.utilities.math.Vector3i;
public class ScreenConfigData extends GuiData {
public boolean onlyUpdate;

View File

@ -12,8 +12,8 @@ import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.montoyo.wd.client.gui.GuiServer;
import net.montoyo.wd.net.BufferUtils;
import net.montoyo.wd.utilities.NameUUIDPair;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import net.montoyo.wd.utilities.math.Vector3i;
public class ServerData extends GuiData {
public Vector3i pos;

View File

@ -14,9 +14,9 @@ import net.minecraftforge.api.distmarker.OnlyIn;
import net.montoyo.wd.client.gui.GuiSetURL2;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.net.BufferUtils;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.math.Vector3i;
public class SetURLData extends GuiData {
public Vector3i pos;

View File

@ -13,7 +13,11 @@ import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.core.IComputerArgs;
import net.montoyo.wd.core.IUpgrade;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.data.Rotation;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import net.montoyo.wd.utilities.serialization.TypeData;
import net.montoyo.wd.utilities.serialization.Util;
import java.io.IOException;
import java.lang.annotation.ElementType;

View File

@ -16,9 +16,9 @@ import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.chunk.LevelChunk;
import net.montoyo.wd.core.IPeripheral;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.math.Vector3i;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

View File

@ -16,7 +16,7 @@ import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.data.KeyboardData;
import net.montoyo.wd.registry.TileRegistry;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
public class KeyboardBlockEntity extends AbstractPeripheralBlockEntity {
private static final String RANDOM_CHARS = "AZERTYUIOPQSDFGHJKLMWXCVBNazertyuiopqsdfghjklmwxcvbn0123456789"; //Yes I have an AZERTY keyboard, u care?

View File

@ -15,7 +15,7 @@ import net.minecraft.world.level.block.state.BlockState;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.data.RedstoneCtrlData;
import net.montoyo.wd.registry.TileRegistry;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
import java.io.IOException;

View File

@ -13,7 +13,7 @@ import net.minecraft.world.level.block.state.BlockState;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.data.SetURLData;
import net.montoyo.wd.registry.TileRegistry;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
public class RemoteControlBlockEntity extends AbstractPeripheralBlockEntity {
public RemoteControlBlockEntity(BlockPos arg2, BlockState arg3) {

View File

@ -41,6 +41,14 @@ import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.client_bound.S2CMessageAddScreen;
import net.montoyo.wd.net.client_bound.S2CMessageScreenUpdate;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.MutableAABB;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3f;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.data.Rotation;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import net.montoyo.wd.utilities.serialization.TypeData;
import org.cef.browser.CefBrowser;
import javax.annotation.Nonnull;
@ -196,6 +204,7 @@ public class ScreenBlockEntity extends BlockEntity {
final Direction facing = VALUES[side.reverse().ordinal()];
final ScreenIterator it = new ScreenIterator(start, side, size);
// TODO: cache chunk
while (it.hasNext()) {
int idx = it.getIndex();
redstoneStatus.set(idx, world.getSignal(it.next(), facing));
@ -246,6 +255,7 @@ public class ScreenBlockEntity extends BlockEntity {
if (scr != null) {
ScreenIterator it = new ScreenIterator(getBlockPos(), side, scr.size);
// TODO: cache chunk
while (it.hasNext())
func.accept(it.next());
}

View File

@ -13,8 +13,8 @@ import net.minecraft.world.level.block.state.BlockState;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.data.ServerData;
import net.montoyo.wd.registry.TileRegistry;
import net.montoyo.wd.utilities.NameUUIDPair;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import net.montoyo.wd.utilities.serialization.Util;
public class ServerBlockEntity extends BlockEntity {
private NameUUIDPair owner;

View File

@ -20,10 +20,10 @@ import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.registry.BlockRegistry;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.server_bound.C2SMessageScreenCtrl;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.Multiblock;
import net.montoyo.wd.utilities.Vector2i;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3i;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

View File

@ -18,10 +18,10 @@ import net.montoyo.wd.block.ScreenBlock;
import net.montoyo.wd.core.IPeripheral;
import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.Multiblock;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.serialization.Util;
import net.montoyo.wd.utilities.math.Vector3i;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

View File

@ -16,6 +16,9 @@ import net.montoyo.wd.block.ScreenBlock;
import net.montoyo.wd.config.CommonConfig;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.serialization.Util;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nonnull;

View File

@ -13,10 +13,10 @@ import net.minecraft.world.level.block.entity.BlockEntity;
import net.montoyo.wd.block.ScreenBlock;
import net.montoyo.wd.data.ScreenConfigData;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.Multiblock;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.serialization.Util;
import net.montoyo.wd.utilities.math.Vector3i;
import org.jetbrains.annotations.NotNull;
public class ItemScreenConfigurator extends Item implements WDItem {

View File

@ -10,7 +10,7 @@ import net.minecraft.world.item.ItemStack;
import net.montoyo.wd.core.DefaultUpgrade;
import net.montoyo.wd.core.IUpgrade;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nonnull;

View File

@ -9,7 +9,7 @@ import net.minecraft.world.entity.player.Player;
import net.montoyo.wd.miniserv.*;
import net.montoyo.wd.net.server_bound.C2SMessageMiniservConnect;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
import javax.crypto.*;
import javax.crypto.spec.SecretKeySpec;

View File

@ -8,7 +8,7 @@ import net.montoyo.wd.miniserv.Constants;
import net.montoyo.wd.miniserv.OutgoingPacket;
import net.montoyo.wd.miniserv.PacketID;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
import java.io.File;
import java.io.FileInputStream;

View File

@ -6,7 +6,7 @@ package net.montoyo.wd.miniserv.server;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
import java.io.File;
import java.io.IOException;

View File

@ -6,7 +6,7 @@ package net.montoyo.wd.miniserv.server;
import net.montoyo.wd.miniserv.*;
import net.montoyo.wd.utilities.Log;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.serialization.Util;
import java.io.*;
import java.nio.channels.ClosedChannelException;

View File

@ -1,7 +1,7 @@
package net.montoyo.wd.net;
import net.minecraft.network.FriendlyByteBuf;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.math.Vector3i;
import java.util.Arrays;
import java.util.function.Consumer;

View File

@ -8,7 +8,7 @@ import net.minecraft.network.FriendlyByteBuf;
import net.minecraftforge.network.NetworkEvent;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.net.Packet;
import net.montoyo.wd.utilities.NameUUIDPair;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
public class S2CMessageACResult extends Packet {
private static NameUUIDPair[] result;

View File

@ -13,6 +13,11 @@ import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.net.Packet;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.data.Rotation;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import java.io.IOException;
import java.util.ArrayList;

View File

@ -9,7 +9,7 @@ import net.minecraft.network.FriendlyByteBuf;
import net.minecraftforge.network.NetworkEvent;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.net.Packet;
import net.montoyo.wd.utilities.BlockSide;
import net.montoyo.wd.utilities.data.BlockSide;
import java.util.Arrays;

View File

@ -17,7 +17,11 @@ import net.montoyo.wd.controls.builtin.*;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.net.BufferUtils;
import net.montoyo.wd.net.Packet;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.data.Rotation;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
// TODO: use registry based approach
public class S2CMessageScreenUpdate extends Packet {

View File

@ -13,7 +13,7 @@ import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.net.Packet;
import net.montoyo.wd.net.WDNetworkRegistry;
import net.montoyo.wd.net.client_bound.S2CMessageACResult;
import net.montoyo.wd.utilities.NameUUIDPair;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
import java.util.Arrays;

View File

@ -15,8 +15,8 @@ import net.montoyo.wd.core.ScreenRights;
import net.montoyo.wd.entity.RedstoneControlBlockEntity;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.net.Packet;
import net.montoyo.wd.utilities.Util;
import net.montoyo.wd.utilities.Vector3i;
import net.montoyo.wd.utilities.serialization.Util;
import net.montoyo.wd.utilities.math.Vector3i;
public class C2SMessageRedstoneCtrl extends Packet implements Runnable {
private Player player;

View File

@ -20,7 +20,11 @@ import net.montoyo.wd.core.MissingPermissionException;
import net.montoyo.wd.entity.ScreenBlockEntity;
import net.montoyo.wd.net.BufferUtils;
import net.montoyo.wd.net.Packet;
import net.montoyo.wd.utilities.*;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import net.montoyo.wd.utilities.data.Rotation;
import net.montoyo.wd.utilities.serialization.NameUUIDPair;
// TODO: this is a mess; a registry based approach would likely be more readable
public class C2SMessageScreenCtrl extends Packet {

View File

@ -7,9 +7,11 @@ package net.montoyo.wd.utilities;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelAccessor;
import net.montoyo.wd.registry.BlockRegistry;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
public abstract class Multiblock {
public enum OverrideAction {
NONE,
SIMULATE,
@ -26,9 +28,9 @@ public abstract class Multiblock {
}
public boolean apply(Vector3i bp, boolean originalResult) {
if(action == OverrideAction.NONE || !bp.equals(pos))
if (action == OverrideAction.NONE || !bp.equals(pos))
return originalResult;
else if(action == OverrideAction.SIMULATE)
else if (action == OverrideAction.SIMULATE)
return true;
else //action == OverrideAction.IGNORE
return false;
@ -39,9 +41,8 @@ public abstract class Multiblock {
public static final BlockOverride NULL_OVERRIDE = new BlockOverride(null, OverrideAction.NONE);
//Modifies pos
public static void findOrigin(LevelAccessor world, Vector3i pos, BlockSide side, BlockOverride override)
{
if(override == null)
public static void findOrigin(LevelAccessor world, Vector3i pos, BlockSide side, BlockOverride override) {
if (override == null)
override = NULL_OVERRIDE;
BlockPos.MutableBlockPos bp = new BlockPos.MutableBlockPos();
@ -50,7 +51,7 @@ public abstract class Multiblock {
do {
pos.add(side.left);
pos.toBlock(bp);
} while(override.apply(pos, world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get()));
} while (override.apply(pos, world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get()));
pos.add(side.right);
@ -58,14 +59,13 @@ public abstract class Multiblock {
do {
pos.add(side.down);
pos.toBlock(bp);
} while(override.apply(pos, world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get()));
} while (override.apply(pos, world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get()));
pos.add(side.up);
}
//Origin stays constant
public static Vector2i measure(LevelAccessor world, Vector3i origin, BlockSide side)
{
public static Vector2i measure(LevelAccessor world, Vector3i origin, BlockSide side) {
Vector2i ret = new Vector2i();
Vector3i pos = origin.clone();
@ -77,7 +77,7 @@ public abstract class Multiblock {
pos.add(side.up);
pos.toBlock(bp);
ret.y++;
} while(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get());
} while (world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get());
pos.add(side.down);
@ -86,33 +86,32 @@ public abstract class Multiblock {
pos.add(side.right);
pos.toBlock(bp);
ret.x++;
} while(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get());
} while (world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get());
return ret;
}
//Origin and size stays constant.
//Returns null if structure is okay, otherwise the erroring block pos.
public static Vector3i check(LevelAccessor world, Vector3i origin, Vector2i size, BlockSide side)
{
public static Vector3i check(LevelAccessor world, Vector3i origin, Vector2i size, BlockSide side) {
Vector3i pos = origin.clone();
BlockPos.MutableBlockPos bp = new BlockPos.MutableBlockPos();
//Check inner
for(int y = 0; y < size.y; y++) {
for(int x = 0; x < size.x; x++) {
for (int y = 0; y < size.y; y++) {
for (int x = 0; x < size.x; x++) {
pos.toBlock(bp);
if(!(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get()))
if (!(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get()))
return pos; //Hole
pos.add(side.forward);
pos.toBlock(bp);
if(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
if (world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
return pos; //Back should be empty
pos.addMul(side.backward, 2);
pos.toBlock(bp);
if(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
if (world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
return pos; //Front should be empty
pos.add(side.forward);
@ -127,9 +126,9 @@ public abstract class Multiblock {
pos.set(origin);
pos.add(side.left);
for(int y = 0; y < size.y; y++) {
for (int y = 0; y < size.y; y++) {
pos.toBlock(bp);
if(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
if (world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
return pos; //Left edge should be empty
pos.add(side.up);
@ -139,9 +138,9 @@ public abstract class Multiblock {
pos.set(origin);
pos.addMul(side.right, size.x);
for(int y = 0; y < size.y; y++) {
for (int y = 0; y < size.y; y++) {
pos.toBlock(bp);
if(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
if (world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
return pos; //Left edge should be empty
pos.add(side.up);
@ -151,9 +150,9 @@ public abstract class Multiblock {
pos.set(origin);
pos.add(side.down);
for(int x = 0; x < size.x; x++) {
for (int x = 0; x < size.x; x++) {
pos.toBlock(bp);
if(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
if (world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
return pos; //Left edge should be empty
pos.add(side.right);
@ -163,9 +162,9 @@ public abstract class Multiblock {
pos.set(origin);
pos.addMul(side.up, size.y);
for(int x = 0; x < size.x; x++) {
for (int x = 0; x < size.x; x++) {
pos.toBlock(bp);
if(world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
if (world.getBlockState(bp).getBlock() == BlockRegistry.SCREEN_BLOCk.get())
return pos; //Left edge should be empty
pos.add(side.right);
@ -174,5 +173,4 @@ public abstract class Multiblock {
//All good.
return null;
}
}

View File

@ -18,14 +18,14 @@ public final class NibbleArray {
data = d;
}
public final int get(int idx) {
public int get(int idx) {
if ((idx & 1) == 0)
return (data[idx >> 1] >> 4) & 0x0F; //MSB
else
return data[idx >> 1] & 0x0F; //LSB
}
public final void set(int idx, int val) {
public void set(int idx, int val) {
val &= 0x0F;
if ((idx & 1) == 0) {

View File

@ -5,12 +5,14 @@
package net.montoyo.wd.utilities;
import net.minecraft.core.BlockPos;
import net.montoyo.wd.utilities.math.Vector2i;
import net.montoyo.wd.utilities.math.Vector3i;
import net.montoyo.wd.utilities.data.BlockSide;
import java.util.Iterator;
public final class ScreenIterator implements Iterator<BlockPos> {
private final Vector3i vec1;
private final Vector3i vec2;
private final Vector3i from, to;
private final BlockSide side;
private final Vector2i size;
private final BlockPos.MutableBlockPos blockPos;
@ -19,31 +21,31 @@ public final class ScreenIterator implements Iterator<BlockPos> {
private boolean hasNext = true;
public ScreenIterator(BlockPos pos, BlockSide side, Vector2i size) {
vec1 = new Vector3i(pos);
vec2 = vec1.clone();
from = new Vector3i(pos);
to = from.clone();
this.side = side;
this.size = size;
blockPos = new BlockPos.MutableBlockPos();
}
@Override
public final boolean hasNext() {
public boolean hasNext() {
return hasNext;
}
@Override
public final BlockPos next() {
vec2.toBlock(blockPos);
public BlockPos next() {
to.toBlock(blockPos);
if (++x >= size.x) {
if (++y >= size.y)
hasNext = false;
else {
x = 0;
vec2.set(vec1.add(side.up));
to.set(from.add(side.up));
}
} else
vec2.add(side.right);
to.add(side.right);
return blockPos;
}

View File

@ -2,7 +2,9 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.data;
import net.montoyo.wd.utilities.math.Vector3i;
public enum BlockSide {
BOTTOM(new Vector3i(0, 0, -1), new Vector3i(1, 0, 0), new Vector3i(0, -1, 0)),

View File

@ -2,7 +2,7 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.data;
public final class Bounds {
public final int minX;

View File

@ -2,7 +2,7 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.data;
public enum Rotation {
ROT_0(0.0f, false),

View File

@ -2,7 +2,7 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.math;
import net.minecraft.world.phys.AABB;

View File

@ -2,7 +2,7 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.math;
import io.netty.buffer.ByteBuf;

View File

@ -2,7 +2,7 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.math;
public final class Vector3f {
public float x;

View File

@ -2,7 +2,7 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.math;
import io.netty.buffer.ByteBuf;
import net.minecraft.core.BlockPos;

View File

@ -2,7 +2,7 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.serialization;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;

View File

@ -2,10 +2,9 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.serialization;
import com.mojang.authlib.GameProfile;
import io.netty.buffer.ByteBuf;
import net.minecraft.network.FriendlyByteBuf;
import java.util.UUID;

View File

@ -2,7 +2,7 @@
* Copyright (C) 2019 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.serialization;
import com.google.gson.annotations.SerializedName;

View File

@ -2,7 +2,7 @@
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.utilities;
package net.montoyo.wd.utilities.serialization;
import net.minecraft.ChatFormatting;
import net.minecraft.nbt.CompoundTag;