Skip to content

Commit

Permalink
Networking and misc fixes - it compiles and loads!
Browse files Browse the repository at this point in the history
  • Loading branch information
Direwolf20-MC committed Feb 15, 2024
1 parent 595795a commit ade826f
Show file tree
Hide file tree
Showing 55 changed files with 1,041 additions and 807 deletions.
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ neo_version_range=[20.4,)
# The loader version range can only use the major version of FML as bounds
loader_version_range=[2,)
#Mod Info
mod_id=laserio
mod_name=LaserIO
mod_id=mininggadgets
mod_name=Mining Gadgets
mod_version=1.16.0
mod_license=MIT
mod_authors=direwolf20
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

import com.direwolf20.mininggadgets.common.containers.FilterContainer;
import com.direwolf20.mininggadgets.common.containers.GhostSlot;
import com.direwolf20.mininggadgets.common.network.PacketHandler;
import com.direwolf20.mininggadgets.common.network.packets.PacketGhostSlot;
import com.direwolf20.mininggadgets.common.network.data.GhostSlotPayload;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.item.ItemStack;
import net.neoforged.neoforge.network.PacketDistributor;

/**
* Complete props and thanks to @amadones for their awesome implementation of this system
Expand Down Expand Up @@ -59,7 +59,7 @@ public boolean mouseClicked(double x, double y, int btn) {
stack = stack.copy().split(hoveredSlot.getMaxStackSize()); // Limit to slot limit
hoveredSlot.set(stack); // Temporarily update the client for continuity purposes

PacketHandler.sendToServer(new PacketGhostSlot(hoveredSlot.index, stack));
PacketDistributor.SERVER.noArg().send(new GhostSlotPayload(hoveredSlot.index, stack));
return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
import com.direwolf20.mininggadgets.common.items.gadget.MiningProperties;
import com.direwolf20.mininggadgets.common.items.upgrade.Upgrade;
import com.direwolf20.mininggadgets.common.items.upgrade.UpgradeTools;
import com.direwolf20.mininggadgets.common.network.PacketHandler;
import com.direwolf20.mininggadgets.common.network.packets.*;
import com.direwolf20.mininggadgets.common.network.data.*;
import com.mojang.blaze3d.platform.InputConstants;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.AbstractWidget;
Expand All @@ -20,6 +19,7 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.neoforged.neoforge.client.gui.widget.ExtendedSlider;
import net.neoforged.neoforge.network.PacketDistributor;

import java.awt.*;
import java.util.List;
Expand Down Expand Up @@ -90,14 +90,14 @@ protected void init() {
if( containsVoid ) {
addRenderableWidget(
Button.builder(getTrans("tooltip.screen.edit_filters"), (button) -> {
PacketHandler.sendToServer(new PacketOpenFilterContainer());
PacketDistributor.SERVER.noArg().send(new OpenFilterContainerPayload());
}).pos(baseX + 10, top + 20).size( 95, 20).build()
);

addRenderableWidget(new WhitelistButton(baseX + 10 + (115 - 20), top + 20, 20, 20, isWhitelist, (button) -> {
isWhitelist = !isWhitelist;
((WhitelistButton) button).setWhitelist(isWhitelist);
PacketHandler.sendToServer(new PacketToggleFilters());
PacketDistributor.SERVER.noArg().send(new ToggleFiltersPayload());
}));
}

Expand All @@ -113,15 +113,15 @@ protected void init() {
currentSize += 2;

button.setMessage(getTrans("tooltip.screen.size", currentSize));
PacketHandler.sendToServer(new PacketChangeMiningSize());
PacketDistributor.SERVER.noArg().send(new ChangeMiningSizePayload());
}).pos(baseX - 135, 0).size(125, 20).build());

if (maxMiningRange > 3) {
leftWidgets.add(Button.builder(currentMode.getTooltip(), (button) -> {
currentMode = MiningProperties.nextSizeMode(gadget);

button.setMessage(currentMode.getTooltip());
PacketHandler.sendToServer(new PacketChangeMiningSizeMode());
PacketDistributor.SERVER.noArg().send(new ChangeMiningSizeModePayload());
}).pos(baseX - 135, 0).size(125, 20).build());
}

Expand All @@ -141,7 +141,7 @@ protected void applyValue() {
leftWidgets.add(Button.builder(getTrans("tooltip.screen.precision_mode", isPrecision), (button) -> {
isPrecision = !isPrecision;
button.setMessage(getTrans("tooltip.screen.precision_mode", isPrecision));
PacketHandler.sendToServer(new PacketTogglePrecision());
PacketDistributor.SERVER.noArg().send(new TogglePrecisionPayload());
}).pos(baseX - 135, 0).size(125, 20).build());

// volume slider
Expand Down Expand Up @@ -177,7 +177,7 @@ private boolean toggleUpgrade(Upgrade upgrade, boolean update) {
// When the button is clicked we toggle
if( update ) {
this.updateButtons(upgrade);
PacketHandler.sendToServer(new PacketUpdateUpgrade(upgrade.getName()));
PacketDistributor.SERVER.noArg().send(new UpdateUpgradePayload(upgrade.getName()));
}

// When we're just init the gui, we check if it's on or off.
Expand Down Expand Up @@ -239,9 +239,9 @@ public boolean isPauseScreen() {

@Override
public void removed() {
PacketHandler.sendToServer(new PacketChangeRange(this.beamRange));
PacketHandler.sendToServer(new PacketChangeVolume(this.volume));
PacketHandler.sendToServer(new PacketChangeFreezeDelay(this.freezeDelay));
PacketDistributor.SERVER.noArg().send(new ChangeRangePayload(this.beamRange));
PacketDistributor.SERVER.noArg().send(new ChangeVolumePayload(this.volume));
PacketDistributor.SERVER.noArg().send(new ChangeFreezeDelayPayload(this.freezeDelay));

super.removed();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,39 +1,39 @@
package com.direwolf20.mininggadgets.client.screens;

import com.direwolf20.mininggadgets.common.items.gadget.MiningProperties;
import com.direwolf20.mininggadgets.common.network.PacketHandler;
import com.direwolf20.mininggadgets.common.network.packets.PacketChangeBreakType;
import com.direwolf20.mininggadgets.common.network.packets.PacketChangeColor;
import com.direwolf20.mininggadgets.common.network.data.ChangeBreakTypePayload;
import com.direwolf20.mininggadgets.common.network.data.ChangeColorPayload;
import com.mojang.blaze3d.platform.InputConstants;
import it.unimi.dsi.fastutil.ints.IntConsumer;
import it.unimi.dsi.fastutil.shorts.ShortConsumer;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.world.item.ItemStack;
import net.neoforged.neoforge.client.gui.widget.ExtendedSlider;
import net.neoforged.neoforge.network.PacketDistributor;

import java.util.HashMap;
import java.util.Map;

public class MiningVisualsScreen extends Screen {
private ItemStack gadget;
private Button blockBreakButton;
private int red;
private int green;
private int blue;
private int red_inner;
private int green_inner;
private int blue_inner;
private short red;
private short green;
private short blue;
private short red_inner;
private short green_inner;
private short blue_inner;
private ExtendedSlider sliderRedInner;
private ExtendedSlider sliderGreenInner;
private ExtendedSlider sliderBlueInner;
private ExtendedSlider sliderRedOuter;
private ExtendedSlider sliderGreenOuter;
private ExtendedSlider sliderBlueOuter;

private Map<ExtendedSlider, IntConsumer> sliderMap = new HashMap<>();
private Map<ExtendedSlider, ShortConsumer> sliderMap = new HashMap<>();

public MiningVisualsScreen(ItemStack gadget) {
super(Component.literal("title"));
Expand Down Expand Up @@ -64,7 +64,7 @@ protected void init() {
else
button.setMessage(Component.translatable("mininggadgets.tooltip.screen.shrink"));

PacketHandler.sendToServer(new PacketChangeBreakType());
PacketDistributor.SERVER.noArg().send(new ChangeBreakTypePayload());
}
)
.pos(baseX - (150), baseY - 55)
Expand All @@ -76,38 +76,38 @@ protected void init() {
sliderRedInner = new ExtendedSlider(baseX - (150), baseY - 10, 150, 20, Component.translatable("mininggadgets.tooltip.screen.red").append(": "), Component.empty(), 0, 255, this.red, true) {
@Override
protected void applyValue() {
red_inner = this.getValueInt();
red_inner = (short) this.getValueInt();
}
};
sliderGreenInner = new ExtendedSlider(baseX - (150), baseY + 15, 150, 20, Component.translatable("mininggadgets.tooltip.screen.green").append(": "), Component.empty(), 0, 255, this.green, true) {
@Override
protected void applyValue() {
green_inner = this.getValueInt();
green_inner = (short) this.getValueInt();
}
};
sliderBlueInner = new ExtendedSlider(baseX - (150), baseY + 40, 150, 20, Component.translatable("mininggadgets.tooltip.screen.blue").append(": "), Component.empty(), 0, 255, this.blue, true) {
@Override
protected void applyValue() {
blue_inner = this.getValueInt();
blue_inner = (short) this.getValueInt();
}
};

sliderRedOuter = new ExtendedSlider(baseX + (25), baseY - 10, 150, 20, Component.translatable("mininggadgets.tooltip.screen.red").append(": "), Component.empty(), 0, 255, this.red_inner, true) {
@Override
protected void applyValue() {
red = this.getValueInt();
red = (short) this.getValueInt();
}
};
sliderGreenOuter = new ExtendedSlider(baseX + (25), baseY + 15, 150, 20, Component.translatable("mininggadgets.tooltip.screen.green").append(": "), Component.empty(), 0, 255, this.green_inner, true) {
@Override
protected void applyValue() {
green = this.getValueInt();
green = (short) this.getValueInt();
}
};
sliderBlueOuter = new ExtendedSlider(baseX + (25), baseY + 40, 150, 20, Component.translatable("mininggadgets.tooltip.screen.blue").append(": "), Component.empty(), 0, 255, this.blue_inner, true) {
@Override
protected void applyValue() {
blue = this.getValueInt();
blue = (short) this.getValueInt();
}
};

Expand Down Expand Up @@ -177,7 +177,7 @@ public void removed() {
}

private void syncColors() {
PacketHandler.sendToServer(new PacketChangeColor(this.red, this.green, this.blue, this.red_inner, this.green_inner, this.blue_inner));
PacketDistributor.SERVER.noArg().send(new ChangeColorPayload(this.red, this.green, this.blue, this.red_inner, this.green_inner, this.blue_inner));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
import com.direwolf20.mininggadgets.common.items.UpgradeCard;
import com.direwolf20.mininggadgets.common.items.upgrade.Upgrade;
import com.direwolf20.mininggadgets.common.items.upgrade.UpgradeTools;
import com.direwolf20.mininggadgets.common.network.PacketHandler;
import com.direwolf20.mininggadgets.common.network.packets.PacketExtractUpgrade;
import com.direwolf20.mininggadgets.common.network.packets.PacketInsertUpgrade;
import com.direwolf20.mininggadgets.common.network.data.ExtractUpgradePayload;
import com.direwolf20.mininggadgets.common.network.data.InsertUpgradePayload;
import com.google.common.collect.Lists;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
Expand All @@ -25,6 +24,7 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.neoforged.neoforge.client.gui.widget.ScrollPanel;
import net.neoforged.neoforge.network.PacketDistributor;


public class ModificationTableScreen extends AbstractContainerScreen<ModificationTableContainer> {
Expand Down Expand Up @@ -106,7 +106,7 @@ public boolean mouseClicked(double mouseXIn, double mouseYIn, int p_231044_5_) {
return false;
}

PacketHandler.sendToServer(new PacketInsertUpgrade(this.tePos, heldStack));
PacketDistributor.SERVER.noArg().send(new InsertUpgradePayload(this.tePos, heldStack));
this.menu.setCarried(ItemStack.EMPTY);
}
}
Expand Down Expand Up @@ -168,7 +168,7 @@ public boolean mouseClicked(double mouseX, double mouseY, int button) {
if( !isMouseOver(mouseX, mouseY) || this.upgrade == null )
return false;

PacketHandler.sendToServer(new PacketExtractUpgrade(this.parent.tePos, this.upgrade.getName(), this.upgrade.getName().length()));
PacketDistributor.SERVER.noArg().send(new ExtractUpgradePayload(this.parent.tePos, this.upgrade.getName(), this.upgrade.getName().length()));
return super.mouseClicked(mouseX, mouseY, button);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.direwolf20.mininggadgets.common.events;

import com.direwolf20.mininggadgets.common.network.PacketHandler;
import com.direwolf20.mininggadgets.common.network.packets.PacketDurabilitySync;
import com.direwolf20.mininggadgets.common.network.data.DurabilitySyncPayload;
import net.minecraft.core.BlockPos;
import net.minecraft.util.Tuple;
import net.minecraft.world.level.Level;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.neoforge.event.TickEvent;
import net.neoforged.neoforge.network.PacketDistributor;

import java.util.ArrayList;
import java.util.List;
Expand All @@ -20,7 +20,7 @@ public class ServerTickHandler {
public static void handleTickEndEvent(TickEvent.ServerTickEvent event) {
if (event.phase == TickEvent.Phase.END) {
if (!updateList.isEmpty()) {
PacketHandler.sendToAll(new PacketDurabilitySync(updateList), serverWorld);
PacketDistributor.ALL.noArg().send(new DurabilitySyncPayload(List.copyOf(updateList)));
updateList.clear();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@
import java.util.Random;

public class MiningGadget extends Item {
private final int energyCapacity;
private final Random rand = new Random();
private LaserLoopSound laserLoopSound;
//private static int energyPerItem = 15;
Expand All @@ -72,7 +71,6 @@ public MiningGadget() {
.stacksTo(1)
.setNoRepair());

this.energyCapacity = Config.MININGGADGET_MAXPOWER.get();
}

public int getEnergyMax() {
Expand All @@ -95,7 +93,7 @@ public void verifyTagAfterLoad(@NotNull CompoundTag tag) {

@Override
public int getMaxDamage(ItemStack stack) {
return this.energyCapacity;
return this.getEnergyMax();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.direwolf20.mininggadgets.common.items.gadget;

import com.direwolf20.mininggadgets.common.MiningGadgets;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag;
import net.minecraft.nbt.Tag;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag;

import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -238,7 +238,7 @@ public static int getBatteryTier(ItemStack gadget) {
* @implNote Please do not use {@link #deserializeItemStackList(CompoundTag)} or {@link #serializeItemStackList(List)}
* if you wish to maintain the original tag data on the gadget. These have specific uses.
*
* See {@link com.direwolf20.mininggadgets.common.network.packets.PacketOpenFilterContainer.Handler} for an
* See {@link com.direwolf20.mininggadgets.common.network.handler.PacketOpenFilterContainer} for an
* understanding on why you shouldn't change the tad data on the gadget directly.
*/
public static List<ItemStack> getFiltersAsList(ItemStack gadget) {
Expand Down
Loading

0 comments on commit ade826f

Please sign in to comment.