Git Product home page Git Product logo

carz's Introduction

Carz Logo

discord server releases license: MIT

Carz is a plugin that offers the ability to add drivable cars, car ownership, car upgrades, fuel and uses economy; offering an immersive role-playing experience to any server.

Add a whole new level of role-play to any server that uses roads, perfect for city servers. Carz signs can be placed to act as Car Showrooms, Mechanics and Fuel Stations.

First released in July 2012, becoming my most downloaded plugin to date. Carz is now open-source, allowing you to contribute ideas and enhancements. Carz offers an API, custom events and placeholders to help build your perfect server.

Quick Links

Supported plugins

Plugin Description
Vault Add economy support to the plugin, configure costs for each purchase.
GitHub Project by MilkBowl
BountifulAPI Add title and actionbar support to the plugin.
GitHub Project by ConnorLinfoot
PlaceholderAPI Add placeholder support to the plugin. Allowing use of Carz variables for external use.
GitHub Project by clip

Maven

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>
<dependency>
    <groupId>com.github.A5H73Y</groupId>
    <artifactId>Carz</artifactId>
    <version>7.3</version>
    <type>jar</type>
    <scope>provided</scope>
</dependency>

Gradle

repositories { 
    maven { 
        url "https://jitpack.io"
    } 
}
compile 'com.github.A5H73Y:Carz:7.3'

carz's People

Contributors

a5h73y avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

carz's Issues

More than 1 people in the car

That would be very cool if when creating a car you can choose how many places car would have. That will be sad if its not possible.

Improve ClimbBlocks

Improvements include:

  • Cars should check what is in front of them to climb
  • Entering a ClimbBlock via "/carz addCB" should instantly reflect list, and also "/carz reload".
  • "/carz addCB" can still be buggy - will investigate

Only purchased cars can be driven

I've updated to 6.2 and looks like if OnlyOwnedCarsDrive is true and you try to drive a normal mincart or a car spawned with /carz spawn you can't, only purchased cars work, but if you turn OnlyOwnedCarsDrive to false everything works fine. (Maybe I do something wrong)

Problem with ClimbBlocks

I'm running a 1.8 Bukkit Server but it doesn't work. I added slab and quartz blocks into the CB list, yet it still doesn't work.
image

Use another entity as alternative for car models

At the moment, it's not possible to use custom models for the cars without replacing a existing blocks.

Minecraft 1.16.4 introduces custom ids for Items, which allows customized models to be used without overwriting any other blocks or items.

To make use of this, CarZ could teleport a armor stand with the cart. The armor stand could carry the cart on it's head with a custom model id and rotate depending on how the car moves around. I know it's not the best way of doing it, but in my case, replacing an existing block is not really an option on a survival server. I tought tought that would be a great way of adding that in, even tought it requires two entities.

Greetings, keep your great work up. 👍

Integrate Planez

Rather than maintain two separate projects with an incredibly similar code base, the Planez functionality will be added to the Carz plugin using a configuration option. Example of implementation:
"Planez.Enabled" defaulted to false.
Once enabled, will add an extra question during the createtype conversation of "Is this a Plane?"; This will become an attribute of the Car.
If this attribute is true while driving, the flight ability is enabled and will kick in when the vehicle has reached its maximum speed (so you can't take off straight away).

Things to consider:

  • Need to include the check to disable fall damage while in a plane
  • Gradually decrease the speed as the player looks higher up, and accelerates while looking down. The speed modifiers could be used to achieve this.
  • Possibly have a Drivable interface which has it's own method of how to move the Vehicle (Car & Plane)
  • Config needs a rewrite to cater for each vehicle type to have different attributes (fuel etc.)
  • Maybe we split this down the middle and have a "/carz createcar" and "/carz createplane" so it makes more sense.
  • Avoid the word "Car" and make it generic "Vehicle" or "Carz Vehicle".

Add confirmation for purchases

When a player wants to make a purchase, a question should appear asking if the player wants to confirm and the total amount they will be charged.
All will be configurable for each type of transaction: fuel, upgrade, purchase etc.

Improve Car interaction

Currently the only way to refuel or upgrade a car is to use a command or a sign.
My thought is to add the ability to right click a spawned Car entity to achieve these too.

  • Right click with X Coal will increase the amount of fuel by 25% of max fuel, consuming the coal.
  • Right click with Y Blaze Powder will upgrade the Vehicle, consuming the blaze powders.

Stats of the car are not saved after stashing and respawning it

Hi A5H73Y,
I'm playing on Paper 1.18.2-225.

My problem is when I upgraded my owned car and stash it afterwards and place it back its not upgraded anymore.
The Stats MaxSpeed and Fuel were set back to the start value.
The Ownership stays saved.

Do you know what this may come from or is it my fault somewhere?

Greetings
Hundii

cars can't climb out of the tiny gaps in dirt path and soul sand

if your car enters an area of dirt path (or soul sand) and tries to go towards an area of grass (or any full block), instead of climbing the 0,0625 (or 0,125 for soul sand) block height distance, it just gets stuck against the full block, as if it was a wall

this also affects farmland and honey blocks (0,0625 block gap)

Races

Add the ability to race other players. There are lots of things to consider:

  • can each track have a different number of maximum racers, and a different number of required racers
  • how do the racers join a track? Do they spawn in set locations in immovable cars, then wait for X amount of players to join to start, or do they get spawned to the track when the minimum number players have been filled.
  • Checkpoints need to be considered. My best thought so far is to do it based on Material, so you would do "/carz checkpoint" and it would create an incremented Checkpoint which is achieved when they drive over the same Material. There will be validation to ensure the Material isn't the same as the last checkpoint.
  • Their location will be saved when the cross a checkpoint.
  • Death Materials, or falling off a track etc. Take them back to last saved checkpoint (with speed reset).
  • Launch Blocks, Slow Blocks, Speed blocks, look at driving on ice etc.
  • BountifulAPI integration to nicely display countdowns etc.
  • "/carz setstart (maximum)" could do some clever calculations to set the positions of each driver based on the direction they are facing.
  • Configurable amount of laps per course.
  • Do players join an empty track to create a new session that can be joinable by other players?
  • how to make things configurable? How to set the number of laps?
  • Look into achieving checkpoints using WorldGuard regions

Blocks Inside Minecarts

I would like the ability to put blocks in the minecarts for things such as custom models.

Customise the cost of upgrades and fuel

Add the ability to make the costs more customisable.
An example could be a price increase with each upgrade, making the final most powerful upgrade a more considerable cost compared to the first upgrade.
Similarly fuel could be customised per car type - for example if it was a disel car it would cost more than a petrol etc.
This could be done per car type.

Older versions keeps updating to newer versions

my carz.jar is always updating to newer version i tried changing the UpdateCheck to false as said in the plugin description pls improve this so my roleplay server can have cars thx. PS: my server version is 1.8.9 and i have Carz v6.2

will hurt player in car in paper 1.14.4

Player will be hurt after clicking in his car, using his key(stick). It's likely that the player is asphyxiated in a block. Maybe this plugin has something incompatible with paperspigot?
server:paper-243,minecraft 1.14.4
plugin: carz-7.0, vault, protocollib (both the latest version), no other plugins

Custom Carz Events

Make Carz events available to use, including:

  • EngineStartEvent
  • EngineStopEvent
  • CarStashEvent
  • Each purchase type event

Does not work with EssentialsX

Hey,

Nice mod, but I have an issue with getting it to work with EssentialsX.
I use the built in EssentialsX permissions, and I have added it to the player-commands section.
I have tried:

Carz.Purchase

And

carz.purchase

Both still do not allow the user to run the purchase command, well tbh, the user can't run any commands.

Anyway around this?
Thanks in advance.

[DEV] String not found: [StringName]

Hi, I forked your repo and tried to compile it. Everything worked well. Except that I'am geting the error: "String not found: [StringName]". Why ist that happening?

Add Console Commands

Can not enter "/carz reload" from the console.
Also add a command like /carz destroyall for the sake of grief prevention.

the signs are not working

the signs are not working

wanted to verify the configuration, one way or another the default sign is not generated as indicated by the config
image

image

Optional locking of the car

Instead of locking the car as part of the leave vehicle event, it can be configured to allow to lock the car outside of the car.
The key could be used to right click the car to trigger the locking / unlocking, instead of getting in the car.
For a role play this would mean being able to pass the car and key to another player and being able to drive it.

Scale fuel cost with remaining fuel

Similar to real life, depending on how much fuel you have left it should cost more to fill to full.
For sake of simplicity, the total could be split into 4 sections, i.e. X/4 tank left.
Then (4 - X) * fuel rate.

Bugs/Requests from Discord

Hey, the only two things I can think of that I would love to see added is:

  1. An option so the car can climb up all blocks and not look like it's floating.
  2. I know in config there's an option if it requires a key or not, I was thinking an option so you don't even have to start or turn off the engine. Just get in and go, no right clicking the car is needed.

RegEx when creating a new car is wrong when specifying the block.

When specifying the block for the car to have in it when creating a new car, the RegEx doesn't allow underscores so many blocks cannot be used. E.g., campfire works but oak_stairs does not work.

The fix would be to simply add an underscore into the RegEx on line 24 of CreateCarTypeConversation.java

Note: Enter 'cancel' to quit the conversation.
 What would you like this car to be called?
test
 What should the Car's Start Speed be?
 (default = 60.0)
60
 What should the Car's Max Upgrade Speed be?
 (default = 120.0)
120
 What should the Car's Acceleration be?
 (default = 1.0)
1
 What should the Fill Material be?
 (default = AIR)
OAK_STAIRS
Invalid Value.. Please try again...
 What should the Fill Material be?
 (default = AIR)
OAK_PLANK
Invalid Value.. Please try again...
 What should the Fill Material be?
 (default = AIR)
OAK_PLANKS
Invalid Value.. Please try again...
 What should the Fill Material be?
 (default = AIR)
SNOW
 All done, test created.

Climb Blocks

Adding "OBSIDIAN" to the list, make the car float.
My suggestion is just to make the car go on top of that block and stay these, not fly around, because atm you can't make something like this https://cdn.discordapp.com/attachments/321252016875634688/495201059753558027/unknown.png
And add data support for climb blocks (STONE_SLAB:4 - Nether Slabs)

Launch Blocks

Ability add a launch block which will propell the player's vehicle into the air once driven over.
Will be used to achieve shortcuts during races etc.

Integrate with BountifulAPI

To allow for better visual experience. Examples could be:

  • A live fuel bar in the action bar
  • All messages could become title messages

Speed blocks

The ability to specify various speed blocks, creating an association between the Material and the boost that should be gained from driving over it.
The speed will be stored as a modifier i.e. "0.1" would be 10% of the original speed, "1" would be the original speed, "10" would be 10x their speed etc.

When driving over a material such as GRASS, this can have a negative effect on the speed (to stay on the intended road for example).

After experimenting, I've decided that the speed modifier will belong to the actual Car object, by increasing it's currentSpeed, it's then the Car's responsibility to gradually bring the speed back down to the limit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.