some restructuring
This commit is contained in:
parent
a4b4162fa9
commit
074cedc85c
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
//
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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?
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)),
|
||||
|
|
@ -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;
|
||||
|
|
@ -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),
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
@ -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;
|
||||
Loading…
Reference in New Issue
Block a user