This is the LaserSTool I've originally ported to Garry's mod 13
since then, I have been constantly improving it. My goal is to make it behave similarly to a
real laser beam. The repository contains MadJawa's
original SVN, but drastically changed to include a lot of added features, better user
experience, and improved beam physics behavior accuracy. This is by far the most
bug-free laser addon that is up to date and with active development.
The original creator and huge credit goes to the one and only MadJawa.
His repository is located here. I cannot tell you that he will still
and eventually support this repo in the future, but we can clearly see that no commits have been
made since 2009. This has been quite a ride since January 2020 when I first started
fixing this, but as time flew by, I got hooked on other projects IRL
and this was forgotten. I did not make a repository at the time, so I kept
fixing it on my local machine at home, thinking that no one would eventually get interested
in me reviving this gem, but here we are now, and boy, was I wrong! Last, I decided to push
it to GitHub, so the code will not get lost again, or something may happen to this marvel!
Just clone this repo in your addons folder or subscribe to the workshop.
The code base has been drastically changed now and does not correspond to the original 2.0
version anymore. This was the only way I could support the things I needed the most from the addon:
- Very stable crystal calculating routine and beam trace
- Reflect beam traces via hit surface material override
- Refract beam traces via hit surface material override
- Disperse beam traces via hit surface material override
- Gravity well interface for trace direction adjustment. Spin and stationary.
- Calculate full internal reflection according to medium boundary
- Code base and updates in tone with Garry's mod 13
- Supports wire and every element supports advanced duplicator 1 and 2
- Wire inputs override internals when connected
- Internal wire wrapper taking care of the wire interface
- Surface reflection and medium refraction power absorption
- A better model for the crystal entity so as not to get confused about where the beam comes out
- Material override can be saved and restored with advanced duplicator 1 and 2
- Editable entity support option for changing internals of the laser elements
- User customizable models for active entities and reflectors via convar tweak
- Absorption degradation and self-sustained beam loop for crystal entities
- Wiremod API for retrieving beam source settings and making control feedback
- A bunch of different laser addon dedicated elements you can find here in the wiki page
- Coding an effective wrapper for editable entity manipulation and adjustment
- You can combine the refraction with Shadowscion's primitive for using lenses
I see many copies of this tool everywhere, but still, there is none that have created an official repository for community contribution, besides, I think the original author will not like that in general. If you want to try the tool go ahead and install it.
Small modifications are pushed to the workshop when they are tested. Large modifications require a dedicated PR, which, when it gets tested and merged, is pushed to the workshop automatically.
I am a fan of this tool, so any help I get will be appreciated.

