Skip to content

Commit

Permalink
Merge pull request #9 from GTNewHorizons/jankins
Browse files Browse the repository at this point in the history
Fix CCRenderState for multithreading
  • Loading branch information
Dream-Master authored Jan 9, 2024
2 parents e7028b8 + c8ddd5c commit a950d87
Show file tree
Hide file tree
Showing 27 changed files with 120 additions and 71 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
WirelessRedstone
==============

THIS PROJECT IS RETIRED: See [here] for the current repo.
THIS PROJECT IS RETIRED: See [here] for the current repo. This branch is still maintained by GTNH.

In its simplest this is a mod that allows you to transmit your redstone state wirelessly. Even if you dont use redstone this mod could still be for you. Found an awesome landscape you'd like to mark, a cool cave to explore, or keep losing your way from base to base? Ever wished that compass pointed somewhere else or there was a way to mark things on a map. Well now there is. With the wireless addons component of this mod you can use wireless signals for navigation.

Expand Down
6 changes: 3 additions & 3 deletions dependencies.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Add your dependencies here

dependencies {
compile("com.github.GTNewHorizons:ForgeMultipart:1.4.6:dev")
compile("com.github.GTNewHorizons:CodeChickenCore:1.2.0:dev")
compile("com.github.GTNewHorizons:CodeChickenLib:1.2.0:dev")
api("com.github.GTNewHorizons:ForgeMultipart:1.4.6:dev")
api("com.github.GTNewHorizons:CodeChickenCore:1.2.0:dev")
implementation("com.github.GTNewHorizons:CodeChickenLib:1.2.0:dev")
}
7 changes: 0 additions & 7 deletions repositories.gradle
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
// Add any additional repositories for your dependencies here

repositories {
maven {
name = "GTNH Maven"
url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/"
}
maven {
url = "https://jitpack.io"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
import codechicken.core.CommonUtils;
import codechicken.lib.vec.BlockCoord;
import codechicken.lib.vec.Vector3;
import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.ITileWireless;
import codechicken.wirelessredstone.core.RedstoneEther;
import codechicken.wirelessredstone.core.WirelessBolt;

public class EntityREP extends Entity {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import codechicken.lib.colour.ColourARGB;
import codechicken.lib.config.ConfigTag;
import codechicken.lib.render.CCRenderState;
import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.RedstoneEther;

public class GuiWirelessSniffer extends GuiScreen {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;

import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.ITileWireless;
import codechicken.wirelessredstone.core.ItemWirelessFreq;
import codechicken.wirelessredstone.core.RedstoneEther;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;

import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.ItemWirelessFreq;
import codechicken.wirelessredstone.core.RedstoneEther;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import net.minecraft.item.ItemStack;

import codechicken.lib.vec.Vector3;
import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.WirelessTransmittingDevice;

public class Remote implements WirelessTransmittingDevice {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import codechicken.lib.render.TextureDataHolder;
import codechicken.lib.render.TextureSpecial;
import codechicken.lib.render.TextureUtils;
import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.RedstoneEther;

public class RemoteTexManager {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package codechicken.wirelessredstone.addons;

import static codechicken.lib.math.MathHelper.*;
import static codechicken.lib.math.MathHelper.sin;
import static codechicken.lib.math.MathHelper.todeg;

import net.minecraft.client.renderer.entity.RenderEntity;
import net.minecraft.client.renderer.entity.RenderManager;
Expand Down Expand Up @@ -44,22 +45,23 @@ public void renderTracker(int freq) {
GL11.glDisable(GL11.GL_LIGHTING);

TextureUtils.bindAtlas(0);
CCRenderState.reset();
CCRenderState.startDrawing(7);
CCRenderState.setColour(0xFFFFFFFF);
final CCRenderState state = CCRenderState.instance();
state.reset();
state.startDrawing(7);
state.setColour(0xFFFFFFFF);
model.render(new IconTransformation(Blocks.obsidian.getIcon(0, 0)));
CCRenderState.draw();
state.draw();

Matrix4 pearlMat = CCModelLibrary.getRenderMatrix(
new Vector3(0, 0.44 + RedstoneEther.getSineWave(ClientUtils.getRenderTime(), 7) * 0.02, 0),
new Rotation(RedstoneEther.getRotation(ClientUtils.getRenderTime(), freq), new Vector3(0, 1, 0)),
0.04);

CCRenderState.changeTexture("wrcbe_core:textures/hedronmap.png");
CCRenderState.startDrawing(4);
CCRenderState.setColour(freq == 0 ? 0xC0C0C0FF : 0xFFFFFFFF);
state.changeTexture("wrcbe_core:textures/hedronmap.png");
state.startDrawing(4);
state.setColour(freq == 0 ? 0xC0C0C0FF : 0xFFFFFFFF);
CCModelLibrary.icosahedron4.render(pearlMat);
CCRenderState.draw();
state.draw();

GL11.glEnable(GL11.GL_LIGHTING);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@

import codechicken.lib.packet.PacketCustom;
import codechicken.lib.packet.PacketCustom.IClientPacketHandler;
import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.FreqCoord;
import codechicken.wirelessredstone.core.WirelessRedstoneCore;

public class WRAddonCPH implements IClientPacketHandler {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package codechicken.wirelessredstone.addons;

import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.*;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.rep;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.tracker;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.wirelessMap;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RenderSnowball;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
package codechicken.wirelessredstone.addons;

import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.*;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.emptyWirelessMap;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.psniffer;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.remote;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.rep;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.sniffer;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.tracker;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.triangulator;
import static codechicken.wirelessredstone.addons.WirelessRedstoneAddons.wirelessMap;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@

import codechicken.lib.packet.PacketCustom;
import codechicken.lib.packet.PacketCustom.IServerPacketHandler;
import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.FreqCoord;
import codechicken.wirelessredstone.core.WirelessRedstoneCore;

public class WRAddonSPH implements IServerPacketHandler {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
import org.lwjgl.opengl.GL11;

import codechicken.core.ClientUtils;
import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.FreqCoord;
import codechicken.wirelessredstone.core.RedstoneEther;

public class WirelessMapRenderer implements IItemRenderer {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
package codechicken.wirelessredstone.core;

import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Random;
import java.util.TreeMap;
import java.util.TreeSet;

import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
package codechicken.wirelessredstone.core;

import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
import java.util.TreeSet;

import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,11 @@ public static void render(float frame, Entity entity) {
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

CCRenderState.reset();
CCRenderState.setBrightness(0xF000F0);
CCRenderState.changeTexture("wrcbe_core:textures/lightning_glowstone.png");
CCRenderState.startDrawing(7);
final CCRenderState state = CCRenderState.instance();
state.reset();
state.setBrightness(0xF000F0);
state.changeTexture("wrcbe_core:textures/lightning_glowstone.png");
state.startDrawing(7);
for (WirelessBolt bolt : WirelessBolt.clientboltlist) renderBolt(
bolt,
frame,
Expand All @@ -44,10 +45,10 @@ public static void render(float frame, Entity entity) {
ActiveRenderInfo.rotationZ,
ActiveRenderInfo.rotationXY,
0);
CCRenderState.draw();
state.draw();

CCRenderState.changeTexture("wrcbe_core:textures/lightning_redstone.png");
CCRenderState.startDrawing(7);
state.changeTexture("wrcbe_core:textures/lightning_redstone.png");
state.startDrawing(7);
for (WirelessBolt bolt : WirelessBolt.clientboltlist) renderBolt(
bolt,
frame,
Expand All @@ -56,7 +57,7 @@ public static void render(float frame, Entity entity) {
ActiveRenderInfo.rotationZ,
ActiveRenderInfo.rotationXY,
1);
CCRenderState.draw();
state.draw();

GL11.glDisable(GL11.GL_BLEND);
GL11.glDepthMask(true);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package codechicken.wirelessredstone.core;

import static codechicken.wirelessredstone.core.WirelessRedstoneCore.*;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.channel;

import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
package codechicken.wirelessredstone.core;

import static codechicken.wirelessredstone.core.WirelessRedstoneCore.*;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.blazeRecieverDish;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.blazeTransceiver;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.channel;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.damagebolt;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.obsidianStick;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.recieverDish;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.retherPearl;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.stoneBowl;
import static codechicken.wirelessredstone.core.WirelessRedstoneCore.wirelessTransceiver;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
import codechicken.core.ClientUtils;
import codechicken.lib.vec.Cuboid6;
import codechicken.lib.vec.Vector3;
import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.ITileJammer;
import codechicken.wirelessredstone.core.ITileWireless;
import codechicken.wirelessredstone.core.RedstoneEther;
import codechicken.wirelessredstone.core.WirelessBolt;

public class JammerPart extends WirelessPart implements ITileJammer {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package codechicken.wirelessredstone.logic;

import static codechicken.lib.vec.Rotation.*;
import static codechicken.lib.vec.Vector3.*;
import static codechicken.lib.vec.Rotation.sideOrientation;
import static codechicken.lib.vec.Vector3.center;

import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
Expand All @@ -12,7 +12,8 @@
import codechicken.lib.vec.Rotation;
import codechicken.lib.vec.Transformation;
import codechicken.lib.vec.Vector3;
import codechicken.wirelessredstone.core.*;
import codechicken.wirelessredstone.core.ITileReceiver;
import codechicken.wirelessredstone.core.RedstoneEther;

public class ReceiverPart extends TransceiverPart implements ITileReceiver {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package codechicken.wirelessredstone.logic;

import static codechicken.lib.vec.Rotation.*;
import static codechicken.lib.vec.Vector3.*;
import static codechicken.lib.vec.Rotation.sideOrientation;
import static codechicken.lib.vec.Vector3.center;
import static codechicken.lib.vec.Vector3.zero;

import java.util.Arrays;
import java.util.Map;
Expand All @@ -19,7 +20,11 @@
import codechicken.lib.lighting.LightModel.Light;
import codechicken.lib.lighting.PlanarLightModel;
import codechicken.lib.math.MathHelper;
import codechicken.lib.render.*;
import codechicken.lib.render.BlockRenderer;
import codechicken.lib.render.CCModel;
import codechicken.lib.render.CCModelLibrary;
import codechicken.lib.render.CCRenderState;
import codechicken.lib.render.Vertex5;
import codechicken.lib.render.uv.MultiIconTransformation;
import codechicken.lib.vec.Scale;
import codechicken.lib.vec.Transformation;
Expand Down Expand Up @@ -80,23 +85,25 @@ public static void loadIcons(IIconRegister r) {
}

public static void renderInv(WirelessPart p) {
CCRenderState.reset();
CCRenderState.useNormals = true;
CCRenderState.pullLightmap();
CCRenderState.startDrawing(7);
CCRenderState.setPipeline(base_icont[0]);
final CCRenderState state = CCRenderState.instance();
state.reset();
state.useNormals = true;
state.pullLightmap();
state.startDrawing(7);
state.setPipeline(base_icont[0]);
BlockRenderer.renderCuboid(WirelessPart.baseBounds(0), 0);
models[p.modelId()][0].render(model_icont);
CCRenderState.draw();
state.draw();

renderPearl(zero, p);
}

public static void renderWorld(WirelessPart p) {
CCRenderState.setBrightness(p.world(), p.x(), p.y(), p.z());
final CCRenderState state = CCRenderState.instance();
state.setBrightness(p.world(), p.x(), p.y(), p.z());

Transformation t = new Translation(p.x(), p.y(), p.z());
CCRenderState.setPipeline(p.rotationT().at(center).with(t), base_icont[p.textureSet()], rlm);
state.setPipeline(p.rotationT().at(center).with(t), base_icont[p.textureSet()], rlm);
BlockRenderer.renderCuboid(p.baseRenderBounds, p.baseRenderMask);
models[p.modelId()][p.side() << 2 | p.rotation()].render(t, model_icont);
}
Expand Down Expand Up @@ -147,13 +154,14 @@ public static void renderPearl(Vector3 pos, WirelessPart p) {
}

GL11.glDisable(GL11.GL_LIGHTING);
CCRenderState.reset();
CCRenderState.changeTexture("wrcbe_core:textures/hedronmap.png");
CCRenderState.pullLightmap();
CCRenderState.setColour(new ColourRGBA(light, light, light, 1).rgba());
CCRenderState.startDrawing(4);
final CCRenderState state = CCRenderState.instance();
state.reset();
state.changeTexture("wrcbe_core:textures/hedronmap.png");
state.pullLightmap();
state.setColour(new ColourRGBA(light, light, light, 1).rgba());
state.startDrawing(4);
CCModelLibrary.icosahedron4.render();
CCRenderState.draw();
state.draw();
GL11.glEnable(GL11.GL_LIGHTING);

GL11.glPopMatrix();
Expand Down
Loading

0 comments on commit a950d87

Please sign in to comment.