Skip to content

Commit

Permalink
[publish] 1.0.0-alpha.13
Browse files Browse the repository at this point in the history
  • Loading branch information
Rushmead committed Jul 30, 2024
1 parent daba297 commit 650c2fc
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 14 deletions.
8 changes: 4 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 1.20.2-alpha.12
# 1.20.2-alpha.13

* Huge overhaul of how DMX / ArtNet works in-game
* Devices now belong to networks
* Improved light beam rendering
* Fix beams not rendering correctly
* Prevent crashing when getting the consumers for a network
* Change color of text in the ArtNet configuration screen
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package dev.imabad.theatrical.blockentities.control;

import dev.imabad.theatrical.api.dmx.BelongsToNetwork;
import dev.imabad.theatrical.api.dmx.DMXConsumer;
import dev.imabad.theatrical.blockentities.BlockEntities;
import dev.imabad.theatrical.blockentities.ClientSyncBlockEntity;
import dev.imabad.theatrical.blocks.control.BasicLightingDeskBlock;
Expand Down Expand Up @@ -121,7 +122,9 @@ public void update(byte[] data) {
if(level != null && level.getServer() != null) {
var dmxData = DMXNetworkData.getInstance(level.getServer().overworld()).getNetwork(networkId);
if(dmxData != null) {
dmxData.getConsumers(universe).forEach(consumer -> consumer.consume(data));
Collection<DMXConsumer> consumers = dmxData.getConsumers(universe);
if(consumers != null)
consumers.forEach(consumer -> consumer.consume(data));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,19 @@ protected void init() {
layout.defaultCellSetting().alignHorizontallyCenter().padding(10);
xCenter = (this.width / 2);
yCenter = (this.height / 2);
this.ipAddressBox = new LabeledEditBox(this.font, xCenter, yCenter, 100, 20, Component.translatable("artneti.ipAddress"));
this.ipAddressBox = new LabeledEditBox(this.font, xCenter, yCenter, 100, 20, Component.translatable("artneti.ipAddress")).color(0xffffff);
this.ipAddressBox.setValue(ipAddress);
layout.addChild(this.ipAddressBox);
this.universeBox1 = new LabeledEditBox(this.font, xCenter, yCenter, 100, 20, Component.translatable("artneti.dmxUniverse").append(" 1"));
this.universeBox1 = new LabeledEditBox(this.font, xCenter, yCenter, 100, 20, Component.translatable("artneti.dmxUniverse").append(" 1")).color(0xffffff);
this.universeBox1.setValue(Integer.toString(universe[0]));
layout.addChild(this.universeBox1);
this.universeBox2 = new LabeledEditBox(this.font, xCenter, yCenter , 100, 20, (Component)Component.translatable("artneti.dmxUniverse").append(" 2"));
this.universeBox2 = new LabeledEditBox(this.font, xCenter, yCenter , 100, 20, (Component)Component.translatable("artneti.dmxUniverse").append(" 2")).color(0xffffff);
this.universeBox2.setValue(Integer.toString(universe[1]));
layout.addChild(this.universeBox2);
this.universeBox3 = new LabeledEditBox(this.font, xCenter, yCenter , 100, 20, (Component)Component.translatable("artneti.dmxUniverse").append(" 3"));
this.universeBox3 = new LabeledEditBox(this.font, xCenter, yCenter , 100, 20, (Component)Component.translatable("artneti.dmxUniverse").append(" 3")).color(0xffffff);
this.universeBox3.setValue(Integer.toString(universe[2]));
layout.addChild(this.universeBox3);
this.universeBox4 = new LabeledEditBox(this.font, xCenter, yCenter, 100, 20, (Component)Component.translatable("artneti.dmxUniverse").append(" 4"));
this.universeBox4 = new LabeledEditBox(this.font, xCenter, yCenter, 100, 20, (Component)Component.translatable("artneti.dmxUniverse").append(" 4")).color(0xffffff);
this.universeBox4.setValue(Integer.toString(universe[3]));
layout.addChild(this.universeBox4);
// new OptionInstance.Enum<>(List.of(true, false), Codec.BOOL).createButton()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ public void removeConsumer(DMXConsumer consumer, BlockPos pos){
0, "", new ResourceLocation("")))
.sendTo(knownSenders);
}
@Nullable
public Collection<DMXConsumer> getConsumers(int universe){
if(universeToNodeMap.get(universe) != null) {
return universeToNodeMap.get(universe).values();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
import dev.architectury.networking.simple.BaseC2SMessage;
import dev.architectury.networking.simple.MessageType;
import dev.imabad.theatrical.Theatrical;
import dev.imabad.theatrical.api.dmx.DMXConsumer;
import dev.imabad.theatrical.dmx.DMXNetwork;
import dev.imabad.theatrical.dmx.DMXNetworkData;
import dev.imabad.theatrical.net.TheatricalNet;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.world.level.Level;

import java.util.Collection;
import java.util.UUID;

public class SendArtNetData extends BaseC2SMessage {
Expand Down Expand Up @@ -50,9 +52,12 @@ public void handle(NetworkManager.PacketContext context) {
UUID uuid = context.getPlayer().getUUID();
if(network != null) {
if (network.isMember(uuid) && network.canSendDMX(uuid)) {
network.getConsumers(universe).forEach(consumer -> {
consumer.consume(artNetData);
});
Collection<DMXConsumer> consumers = network.getConsumers(universe);
if(consumers != null) {
consumers.forEach(consumer -> {
consumer.consume(artNetData);
});
}
} else {
Theatrical.LOGGER.info("{} tried to send ArtNet data to a network ({}) that they don't have permissions for", context.getPlayer().getName(), network.name());
}
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ minecraft_version=1.20.2
enabled_platforms=fabric,forge,neoforge

archives_base_name=Theatrical
mod_version=1.0.0-alpha.12
mod_version=1.0.0-alpha.13
maven_group=dev.imabad

architectury_version=10.1.20
Expand Down

0 comments on commit 650c2fc

Please sign in to comment.